MultiRasterSourceConfig#
Note
All Configs are derived from rastervision.pipeline.config.Config
, which itself is a pydantic Model.
- pydantic model MultiRasterSourceConfig[source]#
Configure a
MultiRasterSource
.Or
TemporalMultiRasterSource
, iftemporal=True
.Show JSON schema
{ "title": "MultiRasterSourceConfig", "description": "Configure a :class:`.MultiRasterSource`.\n\nOr :class:`.TemporalMultiRasterSource`, if ``temporal=True``.", "type": "object", "properties": { "channel_order": { "anyOf": [ { "items": { "type": "integer" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "The sequence of channel indices to use when reading imagery.", "title": "Channel Order" }, "transformers": { "default": [], "items": { "$ref": "#/$defs/RasterTransformerConfig" }, "title": "Transformers", "type": "array" }, "bbox": { "anyOf": [ { "maxItems": 4, "minItems": 4, "prefixItems": [ { "type": "integer" }, { "type": "integer" }, { "type": "integer" }, { "type": "integer" } ], "type": "array" }, { "type": "null" } ], "default": null, "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.", "title": "Bbox" }, "type_hint": { "const": "multi_raster_source", "default": "multi_raster_source", "enum": [ "multi_raster_source" ], "title": "Type Hint", "type": "string" }, "raster_sources": { "description": "List of RasterSourceConfig to combine.", "items": { "$ref": "#/$defs/RasterSourceConfig" }, "minItems": 1, "title": "Raster Sources", "type": "array" }, "primary_source_idx": { "default": 0, "description": "Index of the raster source whose CRS, dtype, and other attributes will override those of the other raster sources. Defaults to 0.", "minimum": 0, "title": "Primary Source Idx", "type": "integer" }, "temporal": { "default": false, "description": "Stack images from sub raster sources into a time-series of shape (T, H, W, C) instead of concatenating bands.", "title": "Temporal", "type": "boolean" } }, "$defs": { "RasterSourceConfig": { "additionalProperties": false, "description": "Configure a :class:`.RasterSource`.", "properties": { "channel_order": { "anyOf": [ { "items": { "type": "integer" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "The sequence of channel indices to use when reading imagery.", "title": "Channel Order" }, "transformers": { "default": [], "items": { "$ref": "#/$defs/RasterTransformerConfig" }, "title": "Transformers", "type": "array" }, "bbox": { "anyOf": [ { "maxItems": 4, "minItems": 4, "prefixItems": [ { "type": "integer" }, { "type": "integer" }, { "type": "integer" }, { "type": "integer" } ], "type": "array" }, { "type": "null" } ], "default": null, "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.", "title": "Bbox" }, "type_hint": { "const": "raster_source", "default": "raster_source", "enum": [ "raster_source" ], "title": "Type Hint", "type": "string" } }, "title": "RasterSourceConfig", "type": "object" }, "RasterTransformerConfig": { "additionalProperties": false, "description": "Configure a :class:`.RasterTransformer`.", "properties": { "type_hint": { "const": "raster_transformer", "default": "raster_transformer", "enum": [ "raster_transformer" ], "title": "Type Hint", "type": "string" } }, "title": "RasterTransformerConfig", "type": "object" } }, "additionalProperties": false, "required": [ "raster_sources" ] }
- Config:
extra: str = forbid
validate_assignment: bool = True
- Fields:
- Validators:
validate_primary_source_idx
»all fields
validate_temporal
»all fields
- field bbox: tuple[int, int, int, int] | None = None#
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.
- Validated by:
- field channel_order: list[int] | None = None#
The sequence of channel indices to use when reading imagery.
- Validated by:
- field primary_source_idx: NonNegInt = 0#
Index of the raster source whose CRS, dtype, and other attributes will override those of the other raster sources. Defaults to 0.
- Constraints:
ge = 0
- Validated by:
- field raster_sources: Annotated[list[RasterSourceConfig], Field(min_length=1)] [Required]#
List of RasterSourceConfig to combine.
- Constraints:
min_length = 1
- Validated by:
- field temporal: bool = False#
Stack images from sub raster sources into a time-series of shape (T, H, W, C) instead of concatenating bands.
- Validated by:
- field transformers: list[RasterTransformerConfig] = []#
- Validated by:
- build(tmp_dir: str | None = None, use_transformers: bool = True) MultiRasterSource [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:
- Return type:
- classmethod deserialize(inp: str | dict | Config) Self #
Deserialize Config from a JSON file or dict, upgrading if possible.
If
inp
is already aConfig
, it is returned as is.
- classmethod from_dict(cfg_dict: dict) Self #
Deserialize Config from a dict.
- Parameters:
cfg_dict (dict) – Dict to deserialize.
- Return type:
Self
- classmethod from_file(uri: str) Self #
Deserialize Config from a JSON file, upgrading if possible.
- Parameters:
uri (str) – URI to load from.
- Return type:
Self
- 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().
- to_file(uri: str, with_rv_metadata: bool = True) None #
Save a Config to a JSON file, optionally with RV metadata.
- update(pipeline=None, scene=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.
- 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.
- validate_list(field: str, valid_options: list[str])#
Validate a list field.
- Parameters:
- Raises:
ConfigError – if field is invalid