Configuration API Reference¶
This contains the API used for configuring various components of Raster Vision pipelines. This serves as the lower-level companion to the discussion of Pipelines and Commands.
rastervision.pipeline¶
rastervision.core¶
StatsAnalyzerConfig¶
ClassConfig¶
-
class
rastervision.core.data.
ClassConfig
¶ Configures the class names that are being predicted.
-
colors
¶ Colors used to visualize classes. Can be color strings accepted by matplotlib or RGB tuples. If None, a random color will be auto-generated for each class. Defaults to None.
- Type:
Optional[List[Union[List, str]]]
-
null_class
¶ Optional name of class in names to use as the null class. This is used in semantic segmentation to represent the label for imagery pixels that are NODATA or that are missing a label. If None, and this Config is part of a SemanticSegmentationConfig, a null class will be added automatically. Defaults to None.
- Type:
Optional[str]
-
DatasetConfig¶
-
class
rastervision.core.data.
DatasetConfig
¶ Config for a Dataset comprising the scenes for train, valid, and test splits.
-
class_config
¶ - Type:
-
train_scenes
¶ - Type:
List[SceneConfig]
-
validation_scenes
¶ - Type:
List[SceneConfig]
-
test_scenes
¶ Defaults to [].
- Type:
List[SceneConfig]
-
img_channels
¶ The number of channels of the images. Defaults to None.
- Type:
Optional[PositiveInt]
-
SceneConfig¶
-
class
rastervision.core.data.
SceneConfig
¶ Config for a Scene which comprises the raster data and labels for an AOI.
-
raster_source
¶ - Type:
RasterSourceConfig
-
label_source
¶ - Type:
LabelSourceConfig
-
label_store
¶ Defaults to None.
- Type:
Optional[LabelStoreConfig]
-
ChipClassificationLabelSourceConfig¶
-
class
rastervision.core.data.label_source.
ChipClassificationLabelSourceConfig
¶ Config for a source of labels for chip classification.
This can be provided explicitly as a grid of cells, or a grid of cells can be inferred from arbitrary polygons.
-
vector_source
¶ - Type:
-
ioa_thresh
¶ Minimum IOA of a polygon and cell for that polygon to be a candidate for setting the class_id. Defaults to None.
- Type:
Optional[float]
-
use_intersection_over_cell
¶ If True, then use the area of the cell as the denominator in the IOA. Otherwise, use the area of the polygon. Defaults to False.
- Type:
-
pick_min_class_id
¶ If True, the class_id for a cell is the minimum class_id of the boxes in that cell. Otherwise, pick the class_id of the box covering the greatest area. Defaults to False.
- Type:
-
background_class_id
¶ If not None, class_id to use as the background class; ie. the one that is used when a window contains no boxes. If not set, empty windows have None set as their class_id which is considered a null value. Defaults to None.
- Type:
Optional[int]
-
SemanticSegmentationLabelSourceConfig¶
-
class
rastervision.core.data.label_source.
SemanticSegmentationLabelSourceConfig
¶ Config for a read-only label source for semantic segmentation.
-
raster_source
¶ The labels in the form of rasters.
- Type:
Union[None.RasterSourceConfig, None.RasterizedSourceConfig]
-
rgb_class_config
¶ If set, will infer the class_ids for the labels using the colors field. This assumes the labels are stored as RGB rasters. Defaults to None.
- Type:
Optional[ClassConfig]
-
ObjectDetectionLabelSourceConfig¶
ChipClassificationGeoJSONStoreConfig¶
-
class
rastervision.core.data.label_store.
ChipClassificationGeoJSONStoreConfig
¶ Config for storage for chip classification predictions.
PolygonVectorOutputConfig¶
BuildingVectorOutputConfig¶
-
class
rastervision.core.data.label_store.
BuildingVectorOutputConfig
¶ Config for vectorized semantic segmentation predictions.
Intended to break up clusters of buildings.
-
uri
¶ URI of vector output. If None, and this Config is part of a SceneConfig and RVPipeline, this field will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
denoise
¶ Radius of the structural element used to remove high-frequency signals from the image. Defaults to 0.
- Type:
-
min_aspect_ratio
¶ Ratio between length and height (or height and length) of anything that can be considered to be a cluster of buildings. The goal is to distinguish between rows of buildings and (say) a single building. Defaults to 1.618.
- Type:
-
min_area
¶ Minimum area of anything that can be considered to be a cluster of buildings. The goal is to distinguish between buildings and artifacts. Defaults to 0.0.
- Type:
-
element_width_factor
¶ Width of the structural element used to break building clusters as a fraction of the width of the cluster. Defaults to 0.5.
- Type:
-
SemanticSegmentationLabelStoreConfig¶
-
class
rastervision.core.data.label_store.
SemanticSegmentationLabelStoreConfig
¶ Config for storage for semantic segmentation predictions.
Stores class raster as GeoTIFF, and can optionally vectorizes predictions and stores them in GeoJSON files.
-
uri
¶ URI of file with predictions. If None, and this Config is part of a SceneConfig inside an RVPipelineConfig, this fiend will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
vector_output
¶ Defaults to [].
- Type:
List[VectorOutputConfig]
-
rgb
¶ If True, save prediction class_ids in RGB format using the colors in class_config. Defaults to False.
- Type:
-
smooth_output
¶ If True, expects labels to be continuous values representing class scores and stores both scores and discrete labels. Defaults to False.
- Type:
-
smooth_as_uint8
¶ If True, stores smooth scores as uint8, resulting in loss of precision, but reduced file size. Only used if smooth_output=True. Defaults to False.
- Type:
-
ObjectDetectionGeoJSONStoreConfig¶
-
class
rastervision.core.data.label_store.
ObjectDetectionGeoJSONStoreConfig
¶ Config for storage for object detection predictions.
RasterioSourceConfig¶
-
class
rastervision.core.data.raster_source.
RasterioSourceConfig
¶ -
channel_order
¶ The sequence of channel indices to use when reading imagery. Defaults to None.
- Type:
Optional[List[int]]
-
transformers
¶ Defaults to [].
- Type:
List[RasterTransformerConfig]
-
extent_crop
¶ Relative offsets (skip_top, skip_left, skip_bottom, skip_right) for cropping the extent of the raster source. Useful for splitting a scene into different dataset splits. E.g. if you want to use the top 80% of the image for training and the bottom 20% for validation you can pass extent_crop=CropOffsets(skip_bottom=0.20) to the raster source in the training scene and extent_crop=CropOffsets(skip_top=0.80) to the raster source in the validation scene. Defaults to None i.e. no cropping. Defaults to None.
- Type:
Optional[CropOffsets]
-
uris
¶ List of image URIs that comprise imagery for a scene. The format of each file can be any that can be read by Rasterio/GDAL. If > 1 URI is provided, a VRT will be created to mosaic together the individual images.
- Type:
List[str]
-
allow_streaming
¶ Allow streaming of assets rather than always downloading. Defaults to False.
- Type:
-
RasterizerConfig¶
RasterizedSourceConfig¶
MultiRasterSourceConfig¶
-
class
rastervision.core.data.raster_source.
MultiRasterSourceConfig
¶ -
channel_order
¶ The sequence of channel indices to use when reading imagery. Defaults to None.
- Type:
Optional[List[int]]
-
transformers
¶ Defaults to [].
- Type:
List[RasterTransformerConfig]
-
extent_crop
¶ Relative offsets (skip_top, skip_left, skip_bottom, skip_right) for cropping the extent of the raster source. Useful for splitting a scene into different dataset splits. E.g. if you want to use the top 80% of the image for training and the bottom 20% for validation you can pass extent_crop=CropOffsets(skip_bottom=0.20) to the raster source in the training scene and extent_crop=CropOffsets(skip_top=0.80) to the raster source in the validation scene. Defaults to None i.e. no cropping. Defaults to None.
- Type:
Optional[CropOffsets]
-
raster_sources
¶ List of SubRasterSourceConfigs to combine.
- Type:
Sequence[SubRasterSourceConfig]
-
force_same_dtype
¶ Force all subchips to be of the same dtype as the first subchip. Defaults to False.
- Type:
-
crs_source
¶ Use the crs_transformer of the raster source at this index. Defaults to 0.
- Type:
ConstrainedIntValue
-
StatsTransformerConfig¶
CastTransformerConfig¶
NanTransformerConfig¶
ReclassTransformer¶
-
class
rastervision.core.data.raster_transformer.
ReclassTransformer
(mapping: Dict[int, int])¶ Reclassifies label raster
VectorSourceConfig¶
-
class
rastervision.core.data.vector_source.
VectorSourceConfig
¶ -
default_class_id
¶ The default class_id to use if class cannot be inferred using other mechanisms. If a feature has an inferred class_id of None, then it will be deleted.
- Type:
Optional[int]
-
class_id_to_filter
¶ Map from class_id to JSON filter used to infer missing class_ids. Each key should be a class id, and its value should be a boolean expression which is run against the property field for each feature.This allows matching different features to different class ids based on its properties. The expression schema is that described by https://docs.mapbox.com/mapbox-gl-js/style-spec/other/#other-filter. Defaults to None.
- Type:
Optional[Dict]
-
line_bufs
¶ This is useful, for example, for buffering lines representing roads so that their width roughly matches the width of roads in the imagery. If None, uses default buffer value of 1. Otherwise, a map from class_id to number of pixels to buffer by. If the buffer value is None, then no buffering will be performed and the LineString or Point won’t get converted to a Polygon. Not converting to Polygon is incompatible with the currently available LabelSources, but may be useful in the future. Defaults to None.
-
GeoJSONVectorSourceConfig¶
-
class
rastervision.core.data.vector_source.
GeoJSONVectorSourceConfig
¶ -
default_class_id
¶ The default class_id to use if class cannot be inferred using other mechanisms. If a feature has an inferred class_id of None, then it will be deleted.
- Type:
Optional[int]
-
class_id_to_filter
¶ Map from class_id to JSON filter used to infer missing class_ids. Each key should be a class id, and its value should be a boolean expression which is run against the property field for each feature.This allows matching different features to different class ids based on its properties. The expression schema is that described by https://docs.mapbox.com/mapbox-gl-js/style-spec/other/#other-filter. Defaults to None.
- Type:
Optional[Dict]
-
line_bufs
¶ This is useful, for example, for buffering lines representing roads so that their width roughly matches the width of roads in the imagery. If None, uses default buffer value of 1. Otherwise, a map from class_id to number of pixels to buffer by. If the buffer value is None, then no buffering will be performed and the LineString or Point won’t get converted to a Polygon. Not converting to Polygon is incompatible with the currently available LabelSources, but may be useful in the future. Defaults to None.
-
point_bufs
¶ Same as above, but used for buffering Points into Polygons. Defaults to None.
-
ChipClassificationEvaluatorConfig¶
SemanticSegmentationEvaluatorConfig¶
ObjectDetectionEvaluatorConfig¶
ChipClassificationConfig¶
-
class
rastervision.core.rv_pipeline.
ChipClassificationConfig
¶ -
-
rv_config
¶ Used to store serialized RVConfig so pipeline can run in remote environment with the local RVConfig. This should not be set explicitly by users – it is only used by the runner when running a remote pipeline. Defaults to None.
- Type:
Optional[dict]
-
plugin_versions
¶ Used to store a mapping of plugin module paths to the latest version number. This should not be set explicitly by users – it is set automatically when serializing and saving the config to disk. Defaults to None.
-
dataset
¶ Dataset containing train, validation, and optional test scenes.
- Type:
-
backend
¶ Backend to use for interfacing with ML library.
- Type:
BackendConfig
-
evaluators
¶ Evaluators to run during analyzer command. If list is empty the default evaluator is added. Defaults to [].
- Type:
List[EvaluatorConfig]
-
analyzers
¶ Analyzers to run during analyzer command. A StatsAnalyzer will be added automatically if any scenes have a RasterTransformer. Defaults to [].
- Type:
List[AnalyzerConfig]
-
chip_nodata_threshold
¶ Discard chips where the proportion of NODATA values is greater than or equal to this value. Might result in false positives if there are many legitimate black pixels in the chip. Use with caution. Defaults to 1.
- Type:
ConstrainedFloatValue
-
analyze_uri
¶ URI for output of analyze. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
chip_uri
¶ URI for output of chip. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
train_uri
¶ URI for output of train. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
predict_uri
¶ URI for output of predict. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
eval_uri
¶ URI for output of eval. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
SemanticSegmentationWindowMethod¶
SemanticSegmentationChipOptions¶
-
class
rastervision.core.rv_pipeline.
SemanticSegmentationChipOptions
¶ Chipping options for semantic segmentation.
-
window_method
¶ Window method to use for chipping. Defaults to <SemanticSegmentationWindowMethod.sliding: ‘sliding’>.
- Type:
enum
-
target_class_ids
¶ List of class ids considered as targets (ie. those to prioritize when creating chips) which is only used in conjunction with the target_count_threshold and negative_survival_probability options. Applies to the random_sample window method. Defaults to None.
- Type:
Optional[List[int]]
-
negative_survival_prob
¶ List of class ids considered as targets (ie. those to prioritize when creating chips) which is only used in conjunction with the target_count_threshold and negative_survival_probability options. Applies to the random_sample window method. Defaults to 1.0.
- Type:
-
chips_per_scene
¶ Number of chips to generate per scene. Applies to the random_sample window method. Defaults to 1000.
- Type:
-
target_count_threshold
¶ Minimum number of pixels covering target_classes that a chip must have. Applies to the random_sample window method. Defaults to 1000.
- Type:
-
SemanticSegmentationConfig¶
-
class
rastervision.core.rv_pipeline.
SemanticSegmentationConfig
¶ -
-
rv_config
¶ Used to store serialized RVConfig so pipeline can run in remote environment with the local RVConfig. This should not be set explicitly by users – it is only used by the runner when running a remote pipeline. Defaults to None.
- Type:
Optional[dict]
-
plugin_versions
¶ Used to store a mapping of plugin module paths to the latest version number. This should not be set explicitly by users – it is set automatically when serializing and saving the config to disk. Defaults to None.
-
dataset
¶ Dataset containing train, validation, and optional test scenes.
- Type:
-
backend
¶ Backend to use for interfacing with ML library.
- Type:
BackendConfig
-
evaluators
¶ Evaluators to run during analyzer command. If list is empty the default evaluator is added. Defaults to [].
- Type:
List[EvaluatorConfig]
-
analyzers
¶ Analyzers to run during analyzer command. A StatsAnalyzer will be added automatically if any scenes have a RasterTransformer. Defaults to [].
- Type:
List[AnalyzerConfig]
-
chip_nodata_threshold
¶ Discard chips where the proportion of NODATA values is greater than or equal to this value. Might result in false positives if there are many legitimate black pixels in the chip. Use with caution. Defaults to 1.
- Type:
ConstrainedFloatValue
-
analyze_uri
¶ URI for output of analyze. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
chip_uri
¶ URI for output of chip. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
train_uri
¶ URI for output of train. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
predict_uri
¶ URI for output of predict. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
eval_uri
¶ URI for output of eval. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
bundle_uri
¶ URI for output of bundle. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
source_bundle_uri
¶ If provided, the model will be loaded from this bundle for the train stage. Useful for fine-tuning. Defaults to None.
- Type:
Optional[str]
-
chip_options
¶ Defaults to SemanticSegmentationChipOptions(window_method=<SemanticSegmentationWindowMethod.sliding: ‘sliding’>, target_class_ids=None, negative_survival_prob=1.0, chips_per_scene=1000, target_count_threshold=1000, stride=None, type_hint=’semantic_segmentation_chip_options’).
-
predict_options
¶ Defaults to SemanticSegmentationPredictOptions(type_hint=’semantic_segmentation_predict_options’, stride=None).
- Type:
SemanticSegmentationPredictOptions
-
channel_display_groups
¶ Groups of image channels to display together as a subplot when plotting the data and predictions. Can be a list or tuple of groups (e.g. [(0, 1, 2), (3,)]) or a dict containing title-to-group mappings (e.g. {“RGB”: [0, 1, 2], “IR”: [3]}), where each group is a list or tuple of channel indices and title is a string that will be used as the title of the subplot for that group. Defaults to None.
-
ObjectDetectionWindowMethod¶
ObjectDetectionChipOptions¶
-
class
rastervision.core.rv_pipeline.
ObjectDetectionChipOptions
¶ -
neg_ratio
¶ The ratio of negative chips (those containing no bounding boxes) to positive chips. This can be useful if the statistics of the background is different in positive chips. For example, in car detection, the positive chips will always contain roads, but no examples of rooftops since cars tend to not be near rooftops. Defaults to 1.0.
- Type:
-
ioa_thresh
¶ When a box is partially outside of a training chip, it is not clear if (a clipped version) of the box should be included in the chip. If the IOA (intersection over area) of the box with the chip is greater than ioa_thresh, it is included in the chip. Defaults to 0.8.
- Type:
-
window_method
¶ Defaults to <ObjectDetectionWindowMethod.chip: ‘chip’>.
- Type:
enum
-
ObjectDetectionPredictOptions¶
-
class
rastervision.core.rv_pipeline.
ObjectDetectionPredictOptions
¶ -
merge_thresh
¶ If predicted boxes have an IOA (intersection over area) greater than merge_thresh, then they are merged into a single box during postprocessing. This is needed since the sliding window approach results in some false duplicates. Defaults to 0.5.
- Type:
-
ObjectDetectionConfig¶
-
class
rastervision.core.rv_pipeline.
ObjectDetectionConfig
¶ -
-
rv_config
¶ Used to store serialized RVConfig so pipeline can run in remote environment with the local RVConfig. This should not be set explicitly by users – it is only used by the runner when running a remote pipeline. Defaults to None.
- Type:
Optional[dict]
-
plugin_versions
¶ Used to store a mapping of plugin module paths to the latest version number. This should not be set explicitly by users – it is set automatically when serializing and saving the config to disk. Defaults to None.
-
dataset
¶ Dataset containing train, validation, and optional test scenes.
- Type:
-
backend
¶ Backend to use for interfacing with ML library.
- Type:
BackendConfig
-
evaluators
¶ Evaluators to run during analyzer command. If list is empty the default evaluator is added. Defaults to [].
- Type:
List[EvaluatorConfig]
-
analyzers
¶ Analyzers to run during analyzer command. A StatsAnalyzer will be added automatically if any scenes have a RasterTransformer. Defaults to [].
- Type:
List[AnalyzerConfig]
-
chip_nodata_threshold
¶ Discard chips where the proportion of NODATA values is greater than or equal to this value. Might result in false positives if there are many legitimate black pixels in the chip. Use with caution. Defaults to 1.
- Type:
ConstrainedFloatValue
-
analyze_uri
¶ URI for output of analyze. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
chip_uri
¶ URI for output of chip. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
train_uri
¶ URI for output of train. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
predict_uri
¶ URI for output of predict. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
eval_uri
¶ URI for output of eval. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
bundle_uri
¶ URI for output of bundle. If None, will be auto-generated. Defaults to None.
- Type:
Optional[str]
-
source_bundle_uri
¶ If provided, the model will be loaded from this bundle for the train stage. Useful for fine-tuning. Defaults to None.
- Type:
Optional[str]
-
chip_options
¶ Defaults to ObjectDetectionChipOptions(neg_ratio=1.0, ioa_thresh=0.8, window_method=<ObjectDetectionWindowMethod.chip: ‘chip’>, label_buffer=None, type_hint=’object_detection_chip_options’).
-
predict_options
¶ Defaults to ObjectDetectionPredictOptions(type_hint=’object_detection_predict_options’, merge_thresh=0.5, score_thresh=0.5).
-