raillabel.json_format.cuboid module

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

Bases: _JSONFormatBase

A cuboid or 3D bounding box.

It is defined by the position of its center, the rotation in 3D, and its dimensions.

_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, float, float, float, float, float, float]

List of values encoding the position, rotation and dimensions. It is (x, y, z, qx, qy, qz, qw, sx, sy, sz) where (x, y, z) encodes the position, (qx, qy, qz, qw) encodes the quaternion that encode the rotation, and (sx, sy, sz) are the dimensions of the cuboid in its object coordinate system