StatsAnalyzerConfig#

Note

All Configs are derived from rastervision.pipeline.config.Config, which itself is a pydantic Model.

pydantic model StatsAnalyzerConfig[source]#

Configure a StatsAnalyzer.

A StatsAnalyzer computes imagery statistics of scenes which can be used to normalize chips read from them.

Show JSON schema
{
   "title": "StatsAnalyzerConfig",
   "description": "Configure a :class:`.StatsAnalyzer`.\n\nA :class:`.StatsAnalyzer` computes imagery statistics of scenes which can\nbe used to normalize chips read from them.",
   "type": "object",
   "properties": {
      "type_hint": {
         "title": "Type Hint",
         "default": "stats_analyzer",
         "enum": [
            "stats_analyzer"
         ],
         "type": "string"
      },
      "output_uri": {
         "title": "Output Uri",
         "description": "URI of directory where stats will be saved. Stats for a scene-group will be save in a JSON file at <output_uri>/<scene-group-name>/stats.json. If None, and this Config is part of an RVPipeline, this field will be auto-generated.",
         "type": "string"
      },
      "sample_prob": {
         "title": "Sample Prob",
         "description": "The probability of using a random window for computing statistics. If None, will use a sliding window.",
         "default": 0.1,
         "type": "number"
      },
      "chip_sz": {
         "title": "Chip Sz",
         "description": "Chip size to use when sampling chips to compute stats from.",
         "default": 300,
         "type": "integer"
      },
      "nodata_value": {
         "title": "Nodata Value",
         "description": "NODATA value. If set, these pixels will be ignored when computing stats.",
         "default": 0,
         "type": "number"
      }
   },
   "additionalProperties": false
}

Config
  • extra: str = forbid

  • validate_assignment: bool = True

Fields
field chip_sz: int = 300#

Chip size to use when sampling chips to compute stats from.

field nodata_value: Optional[float] = 0#

NODATA value. If set, these pixels will be ignored when computing stats.

field output_uri: Optional[str] = None#

URI of directory where stats will be saved. Stats for a scene-group will be save in a JSON file at <output_uri>/<scene-group-name>/stats.json. If None, and this Config is part of an RVPipeline, this field will be auto-generated.

field sample_prob: Optional[float] = 0.1#

The probability of using a random window for computing statistics. If None, will use a sliding window.

field type_hint: Literal['stats_analyzer'] = 'stats_analyzer'#
build(scene_group: Optional[Tuple[str, Iterable[str]]] = None) StatsAnalyzer[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

scene_group (Optional[Tuple[str, Iterable[str]]]) –

Return type

StatsAnalyzer

classmethod from_file(uri: str) Config#

Deserialize a Config from a JSON file, upgrading if possible.

Parameters

uri (str) – URI to load from.

Return type

Config

get_bundle_filenames()[source]#

Returns the names of files that should be included in a model bundle.

The files are assumed to be in the analyze/ directory generated by the analyze command. Note that only the names, not the full paths should be returned.

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.

Parameters
  • uri (str) – URI to save to.

  • with_rv_metadata (bool) – If True, inject Raster Vision metadata such as plugin_versions, so that the config can be upgraded when loaded.

Return type

None

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()[source]#

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
  • field (str) – name of field to validate

  • valid_options (List[str]) – values that field is allowed to take

Raises

ConfigError – if field is invalid