Ellipses
Represents 2D ellipses defined by center coordinates, semi-major and semi-minor axes, and rotation angles. This datatype is used for ellipse-detection outputs and geometry annotations within the Telekinesis ecosystem.
Field
Required
| Field | Type | Description |
|---|---|---|
centers | ArrayLike | Center (x, y) per ellipse; shape (2,) or (N, 2), dtype float32. |
axes | ArrayLike | Semi-major and semi-minor axis lengths; shape (2,) or (N, 2), dtype float32. |
angles | float or ArrayLike | Rotation angle(s) in radians; scalar or shape (N,), dtype float32. |
Optional
None.
Methods
| Method | Description |
|---|---|
to_dict() | Returns a dictionary with keys: centers (array shape (N, 2)), axes (array shape (N, 2)), angles (scalar or array shape (N,)). |
Example
From the datatypes examples:
python
from datatypes import datatypes
from loguru import logger
# ------------------------------------------------
# 1. Create Ellipses instance
# ------------------------------------------------
ellipses = datatypes.Ellipses(
centers=[[0.1, 0.1], [0.2, 0.2]],
axes=[[0.2, 0.1], [0.3, 0.2]],
angles=[45.0, 30.0],
)
# ------------------------------------------------
# 2. Access data via to_dict
# ------------------------------------------------
data = ellipses.to_dict()
logger.info("Ellipses to_dict centers={}", data["centers"])
logger.info("Ellipses to_dict axes={}", data["axes"])
logger.info("Ellipses to_dict angles={}", data["angles"])
