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": { "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": "multi_raster_source", "enum": [ "multi_raster_source" ], "type": "string" }, "raster_sources": { "title": "Raster Sources", "description": "List of RasterSourceConfig to combine.", "minItems": 1, "type": "array", "items": { "$ref": "#/definitions/RasterSourceConfig" } }, "primary_source_idx": { "title": "Primary Source Idx", "description": "Index of the raster source whose CRS, dtype, and other attributes will override those of the other raster sources. Defaults to 0.", "default": 0, "minimum": 0, "type": "integer" }, "force_same_dtype": { "title": "Force Same Dtype", "description": "Force all subchips to be of the same dtype as the primary_source_idx-th subchip.", "default": false, "type": "boolean" }, "temporal": { "title": "Temporal", "description": "Stack images from sub raster sources into a time-series of shape (T, H, W, C) instead of concatenating bands.", "default": false, "type": "boolean" } }, "required": [ "raster_sources" ], "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 } } }
- Config
extra: str = forbid
validate_assignment: bool = True
- Fields
- Validators
- field bbox: Optional[Tuple[int, int, int, int]] = 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.
- field channel_order: Optional[List[int]] = None#
The sequence of channel indices to use when reading imagery.
- field force_same_dtype: bool = False#
Force all subchips to be of the same dtype as the primary_source_idx-th subchip.
- field primary_source_idx: conint(ge=0) = 0#
Index of the raster source whose CRS, dtype, and other attributes will override those of the other raster sources. Defaults to 0.
- Constraints
minimum = 0
- Validated by
- field raster_sources: conlist(RasterSourceConfig, min_items=1) [Required]#
List of RasterSourceConfig to combine.
- Constraints
minItems = 1
- 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] = []#
- build(tmp_dir: Optional[str] = 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.
- dict(with_rv_metadata: bool = False, **kwargs) dict #
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- 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().
Adapted from: https://github.com/samuelcolvin/pydantic/issues/1864#issuecomment-679044432
- 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
- validator validate_primary_source_idx » primary_source_idx[source]#