phase_correlation_shift — FIT registration op

• Datenarten: image2d × image2d → table

• Aufruf: import fullseye as fs; fs.ledger.phase_correlation_shift(image1, image2, window: 'str | None' = 'hann', whitening: 'float' = 0.5, method: 'str' = 'upsample', upsample_factor: 'int' = 100) -> 'dict' (die Implementierung direkt: import filters_freq; filters_freq.phase_correlation_shift(image1, image2, window: 'str | None' = 'hann', whitening: 'float' = 0.5, method: 'str' = 'upsample', upsample_factor: 'int' = 100) -> 'dict'; aus dem Register: opsfit.get("phase_correlation_shift"))

• GPU: nein (nur CPU-Referenzimplementierung)

Verwendung

Schätzt per Phasenkorrelation die zur Ausrichtung zweier Bilder nötige Subpixelverschiebung.

Standardmäßig verfeinert method=upsample nur mit NumPy die Whitening-behaftete periodische FFT-Spitze in einer 1,5-Pixel-Umgebung durch eine lokale DFT als Matrixprodukt (upsample_factor=100). method=parabola ist schneller, weist aber etwa 0,166 px Gitterverzerrung auf. Die Wahrheitsfehler mit/ohne Hann betragen 0,010/0,010 px beim Upsampling und 0,166/0,172 px bei der Parabel; das NumPy-Ergebnis stimmt bis auf 0,01 px mit scikit-image überein. Das Verfahren folgt Guizar-Sicairos, Thurman & Fienup (2008), doi:10.1364/OL.33.000156. Bei image2=shift(image1,d) ist das Ergebnis ungefähr -d. Liefert dy, dx, Spitze und Spitzenverhältnis; relativ texturlose Bilder werden abgewiesen.

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)

• fit_ops_from_knowhow — py -3.11 examples/fit_ops_from_knowhow.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

—

Gleiche Kategorie (registration)

—


*Provenance: filters_freq.py — FIT 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.