SemanticSegmentationLabelStore#
- class SemanticSegmentationLabelStore[source]#
Bases:
LabelStore
Storage for semantic segmentation predictions.
Can store predicted class ID raster and class scores raster as GeoTIFFs, and can optionally vectorize predictions and store them as GeoJSON files.
Attributes
Bounding box applied to the source.
Associated
CRSTransformer
.- __init__(uri: str, crs_transformer: CRSTransformer, class_config: ClassConfig, bbox: Optional[Box] = None, tmp_dir: Optional[str] = None, vector_outputs: Optional[Sequence[VectorOutputConfig]] = None, save_as_rgb: bool = False, discrete_output: bool = True, smooth_output: bool = False, smooth_as_uint8: bool = False, rasterio_block_size: int = 512)[source]#
Constructor.
- Parameters
uri (str) – Path to directory where the predictions are/will be stored. Smooth scores will be saved as “uri/scores.tif”, discrete labels will be stored as “uri/labels.tif”, and vector outputs will be saved in “uri/vector_outputs/”.
crs_transformer (CRSTransformer) – CRS transformer for correctly mapping from pixel coords to map coords.
class_config (ClassConfig) – Class config.
bbox (Optional[Box], optional) – User-specified crop of the extent. If provided, only labels falling inside it are returned by
SemanticSegmentationLabelStore.get_labels()
. Must be provided if the corresponding RasterSource has bbox != extent.tmp_dir (Optional[str], optional) – Temporary directory to use. If None, will be auto-generated. Defaults to None.
vector_outputs (Optional[Sequence[VectorOutputConfig]], optional) – List of VectorOutputConfig’s containing vectorization configuration information. Only classes for which a VectorOutputConfig is specified will be saved as vectors. If None, no vector outputs will be produced. Defaults to None.
save_as_rgb (bool, optional) – If True, saves labels as an RGB image, using the class-color mapping in the class_config. Defaults to False.
discrete_output (bool, optional) – If True, saves labels as a raster of class IDs (one band). Defaults to False.
smooth_output (bool, optional) – If True, saves labels as a raster of class scores (one band for each class). Defaults to False.
smooth_as_uint8 (bool, optional) – If True, stores smooth class scores as np.uint8 (0-255) values rather than as np.float32 discrete labels, to help save memory/disk space. Defaults to False.
rasterio_block_size (int, optional) – Value to set blockxsize and blockysize to. Defaults to 512.
Methods
__init__
(uri, crs_transformer, class_config)Constructor.
Get all labels.
Get all labels.
Get all scores.
save
(labels[, profile])Save labels to disk.
set_bbox
(bbox)Set self.extent to the given value.
write_discrete_raster_output
(out_profile, ...)write_smooth_raster_output
(out_profile, ...)write_vector_outputs
(labels, vector_output_dir)Write vectorized outputs for all configs in self.vector_outputs.
- __init__(uri: str, crs_transformer: CRSTransformer, class_config: ClassConfig, bbox: Optional[Box] = None, tmp_dir: Optional[str] = None, vector_outputs: Optional[Sequence[VectorOutputConfig]] = None, save_as_rgb: bool = False, discrete_output: bool = True, smooth_output: bool = False, smooth_as_uint8: bool = False, rasterio_block_size: int = 512)[source]#
Constructor.
- Parameters
uri (str) – Path to directory where the predictions are/will be stored. Smooth scores will be saved as “uri/scores.tif”, discrete labels will be stored as “uri/labels.tif”, and vector outputs will be saved in “uri/vector_outputs/”.
crs_transformer (CRSTransformer) – CRS transformer for correctly mapping from pixel coords to map coords.
class_config (ClassConfig) – Class config.
bbox (Optional[Box], optional) – User-specified crop of the extent. If provided, only labels falling inside it are returned by
SemanticSegmentationLabelStore.get_labels()
. Must be provided if the corresponding RasterSource has bbox != extent.tmp_dir (Optional[str], optional) – Temporary directory to use. If None, will be auto-generated. Defaults to None.
vector_outputs (Optional[Sequence[VectorOutputConfig]], optional) – List of VectorOutputConfig’s containing vectorization configuration information. Only classes for which a VectorOutputConfig is specified will be saved as vectors. If None, no vector outputs will be produced. Defaults to None.
save_as_rgb (bool, optional) – If True, saves labels as an RGB image, using the class-color mapping in the class_config. Defaults to False.
discrete_output (bool, optional) – If True, saves labels as a raster of class IDs (one band). Defaults to False.
smooth_output (bool, optional) – If True, saves labels as a raster of class scores (one band for each class). Defaults to False.
smooth_as_uint8 (bool, optional) – If True, stores smooth class scores as np.uint8 (0-255) values rather than as np.float32 discrete labels, to help save memory/disk space. Defaults to False.
rasterio_block_size (int, optional) – Value to set blockxsize and blockysize to. Defaults to 512.
- get_discrete_labels() SemanticSegmentationDiscreteLabels [source]#
Get all labels.
- Returns
SemanticSegmentationDiscreteLabels
- Return type
- get_labels() SemanticSegmentationLabels [source]#
Get all labels.
- Returns
SemanticSegmentationLabels
- Return type
- get_scores() SemanticSegmentationSmoothLabels [source]#
Get all scores.
- Returns
SemanticSegmentationSmoothLabels
- Return type
- save(labels: SemanticSegmentationLabels, profile: Optional[dict] = None) None [source]#
Save labels to disk.
More info on rasterio IO: - https://github.com/mapbox/rasterio/blob/master/docs/quickstart.rst - https://rasterio.readthedocs.io/en/latest/topics/windowed-rw.html
- Parameters
- (labels) –
labels (SemanticSegmentationLabels) –
- Return type
None
- set_bbox(bbox: Box) None [source]#
Set self.extent to the given value.
Note
This method is idempotent.
- write_discrete_raster_output(out_profile: dict, path: str, labels: SemanticSegmentationLabels) None [source]#
- Parameters
out_profile (dict) –
path (str) –
labels (SemanticSegmentationLabels) –
- Return type
None
- write_smooth_raster_output(out_profile: dict, scores_path: str, hits_path: str, labels: SemanticSegmentationSmoothLabels) None [source]#
- Parameters
out_profile (dict) –
scores_path (str) –
hits_path (str) –
labels (SemanticSegmentationSmoothLabels) –
- Return type
None
- write_vector_outputs(labels: SemanticSegmentationLabels, vector_output_dir: str) None [source]#
Write vectorized outputs for all configs in self.vector_outputs.
- Parameters
labels (SemanticSegmentationLabels) –
vector_output_dir (str) –
- Return type
None
- property crs_transformer: CRSTransformer#
Associated
CRSTransformer
.