raillabel.json_format.bbox module

class raillabel.json_format.bbox.JSONBbox(*, name: str, val: tuple[float, float, float, float], coordinate_system: str, uid: UUID | None = None, attributes: JSONAttributes | None = None)

Bases: _JSONFormatBase

A 2D bounding box is defined as a 4-dimensional vector [x, y, w, h].

[x, y] is the center of the bounding box and [w, h] represent the width (horizontal, x-coordinate dimension) and height (vertical, y-coordinate dimension), respectively.

_abc_impl = <_abc._abc_data object>
attributes: JSONAttributes | None
coordinate_system: str

Name of the coordinate system in respect of which this object data is expressed.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str

This is a string encoding the name of this object data. It is used as index inside the corresponding object data pointers.

uid: UUID | None

This is a string encoding the Universal Unique identifyer of the annotation.

val: tuple[float, float, float, float]

The array of 4 values that define the [x, y, w, h] values of the bbox.