Skip to content

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

FieldTypeDescription
centersArrayLikeCenter (x, y) per ellipse; shape (2,) or (N, 2), dtype float32.
axesArrayLikeSemi-major and semi-minor axis lengths; shape (2,) or (N, 2), dtype float32.
anglesfloat or ArrayLikeRotation angle(s) in radians; scalar or shape (N,), dtype float32.

Optional

None.

Methods

MethodDescription
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"])