dataclass
Box3D
dataclass
Box3D(unix_time: int, frame_id: str, semantic_label: SemanticLabel, position: TranslationType, rotation: RotationType, shape: Shape, velocity: VelocityType | None = None, num_points: int | None = None, *, confidence: float = 1.0, uuid: str | None = None)
A class to represent 3D box.
Attributes:
-
unix_time
(int
) –Unix timestamp.
-
frame_id
(str
) –Coordinates frame ID where the box is with respect to.
-
semantic_label
(SemanticLabel
) –SemanticLabel
object. -
confidence
(float
) –Confidence score of the box.
-
uuid
(str | None
) –Unique box identifier.
-
position
(TranslationType
) –Box center position (x, y, z).
-
rotation
(RotationType
) –Box rotation quaternion.
-
shape
(Shape
) –Shape
object. -
velocity
(VelocityType | None
) –Box velocity (vx, vy, vz).
-
num_points
(int | None
) –The number of points inside the box.
-
future
(list[Trajectory] | None
) –Box trajectory in the future of each mode.
Examples:
>>> # without future
>>> box3d = Box3D(
... unix_time=100,
... frame_id="base_link",
... semantic_label=SemanticLabel(LabelID.CAR),
... position=(1.0, 1.0, 1.0),
... rotation=Quaternion([0.0, 0.0, 0.0, 1.0]),
... shape=Shape(shape_type=ShapeType.BOUNDING_BOX, size=(1.0, 1.0, 1.0)),
... velocity=(1.0, 1.0, 1.0),
... confidence=1.0,
... uuid="car3d_0",
... )
>>> # with future
>>> box3d = box3d.with_future(
... waypoints=[[[1.0, 1.0, 1.0], [2.0, 2.0, 2.0], [3.0, 3.0, 3.0]]],
... confidences=[1.0],
... )
with_future
Return a self instance setting future
attribute.
Parameters:
-
waypoints
(list[TrajectoryType]
) –List of waypoints for each mode.
-
confidences
(list[float]
) –List of confidences for each mode.
Returns:
-
Self
–Self instance after setting
future
.
corners
Return the bounding box corners.
Parameters:
-
box_scale
(float
, default:1.0
) –Multiply size by this factor to scale the box.
Returns:
-
NDArrayF64
–First four corners are the ones facing forward. The last four are the ones facing backwards, in the shape of (8, 3).
Box2D
dataclass
Box2D(unix_time: int, frame_id: str, semantic_label: SemanticLabel, roi: Roi | None = None, *, confidence: float = 1.0, uuid: str | None = None)
A class to represent 2D box.
Attributes:
-
unix_time
(int
) –Unix timestamp.
-
frame_id
(str
) –Coordinates frame ID where the box is with respect to.
-
semantic_label
(SemanticLabel
) –SemanticLabel
object. -
confidence
(float
) –Confidence score of the box.
-
uuid
(str | None
) –Unique box identifier.
-
roi
(Roi | None
) –Roi
object. -
position
(TranslationType | None
) –3D position (x, y, z).
Examples:
distance_box
Return a box distance from base_link
.
Parameters:
-
box
(BoxType
) –A box.
-
tf_matrix
(HomogeneousMatrix
) –Transformation matrix.
Raises:
-
TypeError
–Expecting type of box is
Box2D
orBox3D
.
Returns:
-
float | None
–float | None: Return
None
if the type of box isBox2D
and itsposition
isNone
, otherwise returns distance frombase_link
.
LabelID
Enum of label elements.
SemanticLabel
dataclass
A dataclass to represent semantic labels.
Attributes:
-
label
(LabelID
) –Label ID.
-
original
(str | None
) –Original name of the label.
-
attributes
(list[str]
) –List of attribute names.
convert_label
convert_label(original: str, attributes: list[str] | None = None, *, name_mapping: dict[str, str] | None = None, update_default_mapping: bool = False) -> SemanticLabel
Covert string original label name to SemanticLabel
object.
Parameters:
-
original
(str
) –Original label name. For example,
vehicle.car
. -
attributes
(list[str] | None
, default:None
) –List of label attributes.
-
name_mapping
(dict[str, str] | None
, default:None
) –Name mapping for original and label. If
None
,DEFAULT_NAME_MAPPING
will be used. -
update_default_mapping
(bool
, default:False
) –Whether to update
DEFAULT_NAME_MAPPING
byname_mapping
. IfFalse
andname_mapping
is specified, the specifiedname_mapping
is used instead ofDEFAULT_NAME_MAPPING
completely. Note that, this parameter works only ifname_mapping
is specified.
Returns:
-
SemanticLabel
–Converted
SemanticLabel
object.
PointCloud
dataclass
Abstract base dataclass for pointcloud data.
num_dims
abstractmethod
staticmethod
Return the number of the point dimensions.
Returns:
-
int
(int
) –The number of the point dimensions.
from_file
abstractmethod
classmethod
Create an object from pointcloud file.
Parameters:
-
filepath
(str
) –File path of the pointcloud file.
Returns:
-
Self
–Self instance.
Trajectory
dataclass
A dataclass to represent trajectory.
Attributes:
-
waypoints
(TrajectoryType
) –Waypoints matrix in the shape of (N, 3).
-
confidence
(float
) –Confidence score the trajectory.
Examples:
>>> trajectory = Trajectory(
... waypoints=[[1.0, 1.0, 1.0], [2.0, 2.0, 2.0]],
... confidence=1.0,
... )
# Get the number of waypoints.
>>> len(trajectory)
2
# Access the shape of waypoints matrix: (N, 3).
>>> trajectory.shape
(2, 3)
# Access each point as subscriptable.
>>> trajectory[0]
array([1., 1., 1.])
# Access each point as iterable.
>>> for point in trajectory:
... print(point)
...
[1. 1. 1.]
[2. 2. 2.]
to_trajectories
Convert a list of waypoints and confidences to a list of Trajectory
s for each mode.
Parameters:
-
waypoints
(list[TrajectoryType]
) –List of waypoints for each mode.
-
confidences
(list[float]
) –List of confidences for each mode.
Returns:
-
list[Trajectory]
–List of
Trajectory
s for each mode.
TransformBuffer
dataclass
set_transform
Set transform matrix to the buffer. Also, if its inverse transformation has not been registered, registers it too.
Parameters:
-
matrix
(HomogeneousMatrix
) –Transformation matrix.
HomogeneousMatrix
dataclass
Construct a new object.
Parameters:
-
position
(ArrayLike
) –3D position.
-
rotation
(ArrayLike | RotationType
) –3x3 rotation matrix or quaternion.
-
src
(str
) –Source frame ID.
-
dst
(str
) –Destination frame ID.
shape
property
Return a shape of the homogeneous matrix.
Returns:
-
tuple[int, ...]
–Return the shape of (4, 4).
yaw_pitch_roll
property
Return yaw, pitch and roll.
NOTE
yaw: Rotation angle around the z-axis in [rad], in the range [-pi, pi]
.
pitch: Rotation angle around the y'-axis in [rad], in the range [-pi/2, pi/2]
.
roll: Rotation angle around the x"-axis in [rad], in the range [-pi, pi]
.
Returns:
-
tuple[float, float, float]
–Yaw, pitch and roll in [rad].
rotation_matrix
property
Return a 3x3 rotation matrix.
Returns:
-
NDArray
–3x3 rotation matrix.
as_identity
classmethod
Construct a new object with identity.
Parameters:
-
frame_id
(str
) –Frame ID.
Returns:
-
Self
–Constructed self instance.
from_matrix
classmethod
from_matrix(matrix: NDArray | HomogeneousMatrix, src: str | None = None, dst: str | None = None) -> Self
Construct a new object from a homogeneous matrix.
Parameters:
-
matrix
(NDArray | HomogeneousMatrix
) –4x4 homogeneous matrix.
-
src
(str | None
, default:None
) –Source frame ID. This must be specified only if the input matrix is
NDArray
. -
dst
(str | None
, default:None
) –Destination frame ID. This must be specified only if the input matrix is
NDArray
.
Returns:
-
Self
–Constructed self instance.
dot
Return a dot product of myself and another.
Parameters:
-
other
(HomogeneousMatrix
) –HomogeneousMatrix
object.
Raises:
-
ValueError
–self.src
andother.dst
must be the same frame ID.
Returns:
-
HomogeneousMatrix
–Result of a dot product.