elliptic_fourier — SHAPE2D descriptor op

• Data kinds: pairs → efdmodel

• Call: import fullseye as fs; fs.ledger.elliptic_fourier(points, n_harmonics=10) (to call the implementation directly, import fourierdesc; fourierdesc.elliptic_fourier(points, n_harmonics=10); from the registry, opsshape2d.get("elliptic_fourier"))

Usage

Computes the elliptic Fourier coefficients of a closed contour using the Kuhl–Giardina closed form.

Arguments:

points: (N,2) closed-contour vertices. If not closed, the first point is appended at the end internally.

n_harmonics: number of harmonics N (the more, the finer the detail represented).

Returns: dict

"coeffs": (N,4) array. Row n is [a_n, b_n, c_n, d_n]. "a0", "c0": DC components (centre offset of the contour).

"n_harmonics": N.

The reconstruction reconstruct is x(t)=a0+Σ a_n cos(2πnt)+b_n sin(2πnt), y(t)=c0+Σ c_n cos+d_n sin (t∈[0,1)).

Detailed usage guide

• shape_description_2d family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• contour_fourier — py -3.11 examples/contour_fourier.py

• shape2d_morph_descriptor_tour — py -3.11 examples/shape2d_morph_descriptor_tour.py

Ops the type connects to (they accept efdmodel as input)

reconstruct · invariants · normalize · descriptor_distance

Same category (descriptor)

reconstruct · invariants · normalize · descriptor_distance · fourier_smooth · from_xld · contour_fourier_complex · contour_epicycle_chain


*Provenance: fourierdesc.py — SHAPE2D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.