BufferTransformerConfig#

Note

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

pydantic model BufferTransformerConfig[source]#

Configure a BufferTransformer.

This is useful, for example, for buffering lines representing roads so that their width roughly matches the width of roads in the imagery.

Show JSON schema
{
   "title": "BufferTransformerConfig",
   "description": "Configure a :class:`.BufferTransformer`.\n\nThis is useful, for example, for buffering lines representing roads so that\ntheir width roughly matches the width of roads in the imagery.",
   "type": "object",
   "properties": {
      "type_hint": {
         "title": "Type Hint",
         "default": "buffer_transformer",
         "enum": [
            "buffer_transformer"
         ],
         "type": "string"
      },
      "geom_type": {
         "title": "Geom Type",
         "description": "The geometry type to apply this transform to. E.g. \"LineString\", \"Point\", \"Polygon\".",
         "type": "string"
      },
      "class_bufs": {
         "title": "Class Bufs",
         "description": "Mapping from class IDs to buffer amounts (in pixels). If a class ID is not found in the mapping, the value specified by the default_buf field will be used. If the buffer value for a class is None, then no buffering will be applied to the geoms of that class and the geom 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.",
         "default": {},
         "type": "object",
         "additionalProperties": {
            "type": "number"
         }
      },
      "default_buf": {
         "title": "Default Buf",
         "description": "Default buffer to apply to classes not in class_bufs. If None, no buffering will be applied to the geoms of those classes.",
         "default": 1,
         "type": "number"
      }
   },
   "required": [
      "geom_type"
   ],
   "additionalProperties": false
}

Config
  • extra: str = forbid

  • validate_assignment: bool = True

Fields
field class_bufs: Dict[int, Optional[float]] = {}#

Mapping from class IDs to buffer amounts (in pixels). If a class ID is not found in the mapping, the value specified by the default_buf field will be used. If the buffer value for a class is None, then no buffering will be applied to the geoms of that class and the geom 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.

field default_buf: Optional[float] = 1#

Default buffer to apply to classes not in class_bufs. If None, no buffering will be applied to the geoms of those classes.

field geom_type: str [Required]#

The geometry type to apply this transform to. E.g. “LineString”, “Point”, “Polygon”.

field type_hint: Literal['buffer_transformer'] = 'buffer_transformer'#
build(class_config: Optional[ClassConfig] = None) BufferTransformer[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 (Optional[ClassConfig]) –

Return type

BufferTransformer

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

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, scene: Optional[SceneConfig] = None) None#

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
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.

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