robust op• Datenarten: matrix × signal → table
• Aufruf: import fullseye as fs; fs.ledger.residue_crt(residues, periods, weights=None, lo=0.0, hi=None, on_outside='warn') -> 'dict' (die Implementierung direkt: import residue; residue.residue_crt(residues, periods, weights=None, lo=0.0, hi=None, on_outside='warn') -> 'dict'; aus dem Register: opsresidue.get("residue_crt"))
Gewichteter robuster chinesischer Restsatz über reelle Perioden -> dict.
Löst v ≡ residues[i] (mod periods[i]) für v in [lo, hi). residues hat die Bandachse vorn, Form (N,) oder (N, ...) — jedes nachfolgende Element wird unabhängig gelöst (ein Pixel, eine Probe). weights (gleiche Form oder (N,)) sagen, wie sehr jedem Band vertraut wird — typischerweise das Produkt der beiden Amplituden, aus denen die Phase stammt; ein Band ohne Kontrast hat keine Stimme.
Methode: pro Probe ist ein Band die *Referenz* (Wang & Xia 2010, Abschn. IV-A: der Rest mit der kleinsten Rauschvarianz; die Varianz von Band i wird als p_i^2 / w_i modelliert, also gleiches Phasenrauschen, skaliert mit dem Gewicht; unter Bändern gleicher Varianz das, dessen Rest modulo Γ dem gemeinsamen Rest am nächsten liegt, Gl. (55)/(58)). Jeder Kandidat v = r_ref + k p_ref im Bereich wird nach Phasor-Übereinstimmung sum_i w_i cos(2 pi (v - r_i)/p_i) bewertet (das Maximum-Likelihood-Kriterium für von-Mises-Phasenrauschen); der beste wird durch den inversen-varianzgewichteten Mittelwert der vorzeichenbehafteten Residuen verfeinert. Ein Kandidat trägt den eigenen Fehler der Referenz, daher werden Kandidaten bis Γ/4 außerhalb von [lo, hi) zugelassen (nie so weit, dass ein Wert zweimal auftritt). Bis 2026-10-15 war immer die längste Periode die Referenz: bei gleichem Phasenrauschen ist das in Einheiten von v der *verrauschteste* Rest, und bei indirektem ToF (16/80/120 MHz, σ_φ 0.33 rad) lag die Fehlerrate der Faltungszahlen bei 0.556 gegenüber 0.116, wenn jede Hypothese probiert wird; jetzt ist sie 0.116 (öffentliche Rohdaten, 10 Bilder: 0.293 -> 0.131, gleich dem erschöpfenden Decoder).
Garantie (Wang & Xia 2010, Gl. (47)): man schreibe die Perioden als Γ M_i (Γ ihr gemeinsamer Faktor, M_i ganze Zahlen). Ist jeder Restfehler kleiner als Γ/4, sind die Faltungszahlen exakt und |value - v| < Γ/4, gleich welches Band die Referenz ist: ein falscher Kandidat verschiebt mindestens ein Band um ein von null verschiedenes Vielfaches von Γ, was den Phasor-Term dieses Bandes strikt senkt (unterscheiden nur Bänder mit Gewicht 0 zwei Kandidaten, ist die Marge 0). In Phase ausgedrückt darf Band i um 2 pi (Γ/4) / p_i irren — am wenigsten bei der längsten Periode. Eine Probe, deren Reste modulo Γ nicht in einen Bogen kürzer als Γ/2 passen, liegt beweisbar außerhalb dieser Schranke (within_bound False; die Umkehrung ist nicht garantiert — ein Fehler von genau einem Γ ist nicht erkennbar). on_outside bestimmt, was dann geschieht: "warn" (Standard, ResidueBoundWarning), "raise" (ValueError), "nan" (Wert NaN, Marge 0 für diese Proben) oder "flag" (nur within_bound). Inkommensurable Perioden (explizites hi) haben kein Γ und keine Garantie: jede Probe liegt außerhalb.
Gibt {"value", "score", "margin", "residual", "n_candidates", "unambiguous_range", "gamma", "error_bound", "phase_bound_rad", "reference", "within_bound"} zurück: score in [-1, 1] (1 = alle Bänder stimmen exakt überein), margin = bester minus zweitbester Wert (klein = die Antwort war ein Beinahe-Gleichstand — als unzuverlässig behandeln), residual pro Band in den Einheiten von v; gamma = Γ, error_bound = Γ/4, phase_bound_rad pro Band, reference = der pro Probe verwendete Bandindex. hi ist standardmäßig lo + das kleinste gemeinsame Vielfache der Perioden (wenn sie kommensurabel sind); ein breiterer Bereich wird abgelehnt, weil zwei Werte darin identische Reste hätten.
Exaktheit: ganzzahlige Reste paarweise teilerfremder ganzzahliger Perioden reproduzieren residue_integer_crt exakt.
• 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_itof_multifreq — py -3.11 examples/poc_itof_multifreq.py
• poc_residue_crt — py -3.11 examples/poc_residue_crt.py
table als Eingabe)—
robust)*Provenance: residue.py — RESIDUE 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.