descriptor op• Datenarten: pairs → matrix
• Aufruf: import fullseye as fs; fs.ledger.contour_fourier_complex(points, n_harmonics=None, parametrisation='index') (die Implementierung direkt: import fourierdesc; fourierdesc.contour_fourier_complex(points, n_harmonics=None, parametrisation='index'); aus dem Register: opsshape2d.get("contour_fourier_complex"))
> Für diesen Operator gibt es noch keine Übersetzung. Es folgt der Originaltext unverändert.
閉輪郭を複素フーリエ級数の係数にする —— `z(t) = Σ c_k exp(2πi k t)`。
引数:
points: (N,2) の閉輪郭頂点。(row, col) 順(`fourierdesc` と同じ)。
n_harmonics: 残す次数 `K(|k| <= K)。None` なら表せる上限まで。
parametrisation: `"index"` = 点の添字を等間隔の媒介変数にする /
`"arclength"` = 弧長で等間隔に打ち直してから変換する。
返り値: `(2K+1, 3) の実配列(matrix)。行は [k, Re c_k, Im c_k]` で
`k は 0, 1, -1, 2, -2, …`(低い周波数から)。
★媒介変数の取り方を既定で黙って決めないのがこの op の肝。不均一に標本化された
輪郭を `"index"` で読むと、点が密なところに余分な時間が割り当てられ、
絵は似ているのに係数が別物になる(実測で `k=3` の係数が 47 倍ちがった)。
既定は `"index"`(FFT の素の意味)だが、形の記述として使うなら
`"arclength"` を選ぶこと。
★★`"arclength"` を選ぶと op の内部で輪郭を打ち直すので、返る係数は
渡した配列ではなく打ち直した輪郭を記述する。だから
:func:contour_fourier_truncation_energy の予言は「打ち直した輪郭に対して」
厳密で、呼び手が手元の配列で誤差を測ると合わない(実測: 512 点で 1.15 ずれた)。
手元の配列に対して厳密な予言が欲しいときは、先に弧長で打ち直してから
`"index"` で呼ぶこと。
★弧長の打ち直しは冪等ではない: 標本を弦で結ぶので、すでに等弧長の輪郭に
もう 1 度かけると点が最大 3.73 px 動き(平均 0.84 px)、長さがさらに 3.25 %
縮む。二度かけないこと。
• Leitfaden zur Familie shape_description_2d
• 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.
• poc_one_stroke_epicycles — py -3.11 examples/poc_one_stroke_epicycles.py
matrix als Eingabe)contour_epicycle_chain · contour_fourier_truncation_energy
descriptor)elliptic_fourier · reconstruct · invariants · normalize · descriptor_distance · fourier_smooth · from_xld · 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.