reconstruct — SHAPE2D descriptor op

• Datenarten: efdmodel → pairs

• Aufruf: import fullseye as fs; fs.ledger.reconstruct(model, n_points=300, n_harmonics=None) (die Implementierung direkt: import fourierdesc; fourierdesc.reconstruct(model, n_points=300, n_harmonics=None); aus dem Register: opsshape2d.get("reconstruct"))

Verwendung

Rekonstruiert eine Kontur aus EFD-Koeffizienten ((M,2)).

Ist n_harmonics kleiner als die Zahl der Koeffizienten, wird durch Abschneiden der Harmonischen geglättet (je weniger niedrige Ordnungen bleiben, desto runder).

Formel: für t = linspace(0, 1, n_points, endpoint=False) x(t) = a0 + Σ a_n cos(2πnt) + b_n sin(2πnt), y(t) = c0 + Σ c_n cos(2πnt) + d_n sin(2πnt) (n = 1..N).

• model: Rückgabewert von elliptic_fourier (coeffs (N, 4), a0, c0). Übergibt man durch normalize gelaufene Koeffizienten, erhält man die Kontur in kanonischer Pose (an der 1. Harmonischen ausgerichtet). Das dict wird nicht validiert (fehlender Schlüssel ergibt KeyError).

• n_points: Anzahl der Ausgabepunkte M (auf int abgeschnitten). Gleichabständig im Parameter, nicht gleichabständig in der Bogenlänge. Wegen endpoint=False fällt der letzte Punkt nicht mit dem ersten zusammen (für ein geschlossenes Polygon den ersten Punkt ans Ende anfügen). Bei 0 ein leeres (0, 2).

• n_harmonics: Anzahl der verwendeten Harmonischen. None für alle; Werte größer als N werden auf N gekappt; bei 0 oder weniger nur DC (alle Punkte im Mittelpunkt (a0, c0)).

• Rückgabewert: (M, 2) float64. Die Koordinatenreihenfolge ((x, y) oder (row, col)) wird unverändert von der an elliptic_fourier übergebenen übernommen. t = 0 entspricht dem Startpunkt der ursprünglichen Kontur.

Um eine Kontur nur zu glätten, ohne sie in Koeffizienten zu überführen: fourier_smooth. Vergleich von Koeffizienten

untereinander: invariants / descriptor_distance.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie shape_description_2d

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• contour_fourier — py -3.11 examples/contour_fourier.py

Typkompatible Folge-Operatoren (nehmen pairs als Eingabe)

elliptic_fourier · fourier_smooth · contour_fourier_complex · add_frame_corners · warp_tps_image · warp_piecewise_affine · morph · morph_sequence

Gleiche Kategorie (descriptor)

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


*Provenance: fourierdesc.py — SHAPE2D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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