EllipAn

EllipAn(
    positions,
    a_in,
    b_in,
    a_out,
    b_out,
    *,
    theta_in=0.0,
    theta_out=None,
    validate=True,
)

Elliptical annulus in pixel coordinates.

Parameters

positions : tuple or array - like

Annulus center or centers as (x, y) pixel coordinates. Multiple centers are accepted as an (N, 2) array-like object. Coordinates are copied into owned, read-only float64 storage. Editing the input does not move the aperture; construct a new aperture to change centers. The positions attribute cannot be reassigned. C-order, Fortran-order, and strided inputs are accepted. Input (x, y) gives scalar sums; [(x, y)] gives length-one vector sums.

a_in : float

Inner ellipse semiaxes in pixels.

b_in : float

Inner ellipse semiaxes in pixels.

a_out : float

Outer ellipse semiaxes in pixels. Each outer axis must be at least the corresponding inner axis, and at least one outer axis must be larger.

b_out : float

Outer ellipse semiaxes in pixels. Each outer axis must be at least the corresponding inner axis, and at least one outer axis must be larger.

theta_in : float = 0.0

Inner and outer rotation angles in radians, measured counterclockwise from the positive x axis. If theta_out is None, it defaults to theta_in.

theta_out : float = 0.0

Inner and outer rotation angles in radians, measured counterclockwise from the positive x axis. If theta_out is None, it defaults to theta_in.

validate : bool = True

If False, skip input validation and assume finite, positive geometry, ordered axes, and finite positions with shape (2,) or (N, 2). Coordinates are still copied and converted to float64.

Methods

Name Description
bboxes Override the default python for-loop with a Rust-accelerated batch function.

bboxes

EllipAn.bboxes()

Override the default python for-loop with a Rust-accelerated batch function.