SceneConfig#
Note
All Configs are derived from rastervision.pipeline.config.Config
, which itself is a pydantic Model.
- pydantic model SceneConfig[source]#
Configure a
Scene
comprising raster data & labels for an AOI.Show JSON schema
{ "title": "SceneConfig", "description": "Configure a :class:`.Scene` comprising raster data & labels for an AOI.\n ", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "raster_source": { "$ref": "#/definitions/RasterSourceConfig" }, "label_source": { "$ref": "#/definitions/LabelSourceConfig" }, "label_store": { "$ref": "#/definitions/LabelStoreConfig" }, "aoi_uris": { "title": "Aoi Uris", "description": "List of URIs of GeoJSON files that define the AOIs for the scene. Each polygon defines an AOI which is a piece of the scene that is assumed to be fully labeled and usable for training or validation. The AOIs are assumed to be in EPSG:4326 coordinates.", "type": "array", "items": { "type": "string" } }, "type_hint": { "title": "Type Hint", "default": "scene", "enum": [ "scene" ], "type": "string" } }, "required": [ "id", "raster_source" ], "additionalProperties": false, "definitions": { "RasterTransformerConfig": { "title": "RasterTransformerConfig", "description": "Configure a :class:`.RasterTransformer`.", "type": "object", "properties": { "type_hint": { "title": "Type Hint", "default": "raster_transformer", "enum": [ "raster_transformer" ], "type": "string" } }, "additionalProperties": false }, "RasterSourceConfig": { "title": "RasterSourceConfig", "description": "Configure a :class:`.RasterSource`.", "type": "object", "properties": { "channel_order": { "title": "Channel Order", "description": "The sequence of channel indices to use when reading imagery.", "type": "array", "items": { "type": "integer" } }, "transformers": { "title": "Transformers", "default": [], "type": "array", "items": { "$ref": "#/definitions/RasterTransformerConfig" } }, "bbox": { "title": "Bbox", "description": "User-specified bbox in pixel coords in the form (ymin, xmin, ymax, xmax). Useful for cropping the raster source so that only part of the raster is read from.", "type": "array", "minItems": 4, "maxItems": 4, "items": [ { "type": "integer" }, { "type": "integer" }, { "type": "integer" }, { "type": "integer" } ] }, "type_hint": { "title": "Type Hint", "default": "raster_source", "enum": [ "raster_source" ], "type": "string" } }, "additionalProperties": false }, "LabelSourceConfig": { "title": "LabelSourceConfig", "description": "Configure a :class:`.LabelSource`.", "type": "object", "properties": { "type_hint": { "title": "Type Hint", "default": "label_source", "enum": [ "label_source" ], "type": "string" } }, "additionalProperties": false }, "LabelStoreConfig": { "title": "LabelStoreConfig", "description": "Configure a :class:`.LabelStore`.", "type": "object", "properties": { "type_hint": { "title": "Type Hint", "default": "label_store", "enum": [ "label_store" ], "type": "string" } }, "additionalProperties": false } } }
- Config
extra: str = forbid
validate_assignment: bool = True
- Fields
- field aoi_uris: Optional[List[str]] = None#
List of URIs of GeoJSON files that define the AOIs for the scene. Each polygon defines an AOI which is a piece of the scene that is assumed to be fully labeled and usable for training or validation. The AOIs are assumed to be in EPSG:4326 coordinates.
- field label_source: Optional[LabelSourceConfig] = None#
- field label_store: Optional[LabelStoreConfig] = None#
- field raster_source: RasterSourceConfig [Required]#
- build(class_config: ClassConfig, tmp_dir: Optional[str] = None, use_transformers: bool = True) Scene [source]#
Build an instance of the corresponding type of object using this config.
For example, BackendConfig will build a Backend object. The arguments to this method will vary depending on the type of Config.
- Parameters
class_config (ClassConfig) –
use_transformers (bool) –
- Return type
- recursive_validate_config()#
Recursively validate hierarchies of Configs.
This uses reflection to call validate_config on a hierarchy of Configs using a depth-first pre-order traversal.
- revalidate()#
Re-validate an instantiated Config.
Runs all Pydantic validators plus self.validate_config().
Adapted from: https://github.com/samuelcolvin/pydantic/issues/1864#issuecomment-679044432
- update(pipeline: Optional[RVPipelineConfig] = None) None [source]#
Update any fields before validation.
Subclasses should override this to provide complex default behavior, for example, setting default values as a function of the values of other fields. The arguments to this method will vary depending on the type of Config.
- Parameters
pipeline (Optional[RVPipelineConfig]) –
- Return type
None
- validate_config()#
Validate fields that should be checked after update is called.
This is to complement the builtin validation that Pydantic performs at the time of object construction.