bootstrap_std_error — 2D texture op

• Datenarten: image → image

• Aufruf: fullseye.apply(img, "bootstrap_std_error", a=0.5, b=0.5) (das 2-D-Modell ist ein Bild plus zwei skalare Regler a,b∈[0,1])

bootstrap_std_error: input → output

*Die Abbildung ist die tatsächliche Ausgabe auf einer synthetischen 128×128-Eingabe. Links Eingabe, rechts Ausgabe. Punktwolken als Draufsicht-Streudiagramm (Helligkeit = z), 1-D-Reihen als Linie, Volumen als Maximum-Projektion entlang z, Videos als mittleres Bild, komplexe Bilder als Betrag; Rückgabewerte, die kein Bild ergeben, werden als Werte gezeigt.*

*Die Ausgabe ist in einer viridis-artigen Falschfarbe dargestellt (dunkles Violett = klein, Gelb = groß), damit ein Feld von Größen — Abstand, Phase, Orientierung, Tiefe — lesbar ist.*

Regler a durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):

▸ bootstrap_std_error: Regler a durchfahren (Doku-Website)

Regler b durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):

▸ bootstrap_std_error: Regler b durchfahren (Doku-Website)

Auf anderen Bildern (synthetische Szene / Foto / Münzen. Obere Reihe: Eingaben, untere Reihe: deren Ausgaben. Regler auf Standard):

▸ bootstrap_std_error: andere Eingaben (Doku-Website)

*Die 4. Spalte ist eine Farb-Eingabe (H,W,3). Dieser Op verarbeitet Farbe, ohne Kanäle zu vermischen (er faltet den Farbkanal nicht als dritte Raumachse).*

Verwendung

Misst den Standardfehler der lokalen Standardabweichung, ohne eine Verteilung anzunehmen (Bootstrap).

Der Fehler 1/sqrt(2(n-1)), den local_std mit angibt, beruht auf der Annahme, dass das Rauschen normalverteilt ist. Bei Ausreißern oder Bimodalität unterschätzt diese Formel die tatsächliche Streuung. Hier werden die Werte im Fenster aus sich selbst mit Zurücklegen neu gezogen, um die Statistik neu zu bilden, und deren Streuung selbst gilt als Fehler - es braucht keine Annahme, dafür bezahlt man mit Rechenaufwand.

a ist das Fenster (3-9 Pixel), b die Anzahl der Neuziehungen (8-64). Die Ausgabe ist der Standardfehler bezogen auf die Standardabweichung im Fenster (relativ); 1.0 bedeutet "schwankt um 100 %".

Lesart: Nicht als Absolutwert lesen, sondern als Verhältnis zwischen Orten. Auf normalverteiltes weißes Rauschen angewendet fällt es niedriger aus als die geschlossene Form 1/sqrt(2(n-1)) (der Bootstrap unterschätzt bei kleinen Stichproben die Streuung der Standardabweichung). Gemessen (b=1.0, 64 Neuziehungen):

Fenster 3x3 (n=9) gemessen 0.216 / geschlossene Form 0.250 = 0.86

Fenster 5x5 (n=25) gemessen 0.133 / geschlossene Form 0.144 = 0.92

Fenster 7x7 (n=49) gemessen 0.096 / geschlossene Form 0.102 = 0.94

Fenster 9x9 (n=81) gemessen 0.076 / geschlossene Form 0.079 = 0.96

Je größer also das Fenster, desto näher kommt es heran. Worauf es ankommt, ist "wo es höher ist als die Umgebung":

Dort weicht die Verteilung von der Normalverteilung ab (Kratzer, Ausreißer, die Grenze zwischen zwei Materialien). In einem Bild mit 2 % beigemischten Ausreißern springt der Median auf das 1.8-fache der geschlossenen Form und trennt sich klar vom Normalfall (um das 0.9-fache) — genau dieser Unterschied ist der Einsatzzweck. Neben local_std gestellt, sieht man gleichzeitig "die Größe der Streuung" und "wie wenig man dieser Zahl trauen kann".

Anwendungsbedingungen: (1) Bei kleinem Fenster schwankt der Bootstrap selbst und fällt, wie oben, systematisch niedrig aus. (2) Mehr Neuziehungen (b) glätten die Karte, senken aber nicht den wahren Fehler. (3) Der Seed ist fest, damit es deterministisch ist - dieselbe Eingabe liefert immer dieselbe Ausgabe. (4) Es ist ein Op, das eine Annahme mit Rechenaufwand erkauft, daher langsam: gemessen 128x128 in 0.26 s, 256x256 in 1.27 s (b=1.0, 64 Mal). Wo die geschlossene Form genügt, die Fehlerschranke von local_std verwenden - dieses Op ist das Werkzeug, wenn man prüfen will, "ob dieser geschlossenen Form zu trauen ist".

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie gallery2d_texture_freq

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.

In Studio ausprobieren

Das Programm unten ist nachweislich lauffähig (gleiche Eingabe wie die Abbildung). In der Studio-Hilfe wird dieser Block zu Schaltflächen, die es sofort laden und ausführen.

bootstrap_std_error 0.50 0.50

▸ Diese Pipeline laden  ·  Laden & ausführen

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

• gallery2d_texture_freq — py -3.11 examples/gallery2d_texture_freq.py

Typkompatible Folge-Operatoren (nehmen image als Eingabe)

identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter

Gleiche Kategorie (texture)

std_filter · local_bimodality · local_std · scale_select_std · structure_tensor_orientation · structure_tensor_coherence · gabor · sk_frangi


*Provenance: ops.py — 2D 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.