jfried
Aktives Mitglied
ich werfe mal hier etwas rein für die Profis:
Wenn ich OSC Stacks habe, dann rauscht auf Grund der Bayer Matrix RGGB der Grünkanal am geringsten.
Aus diversen Gründen kann es von Vorteil sein, das Rauschen der Kanäle aneinander anzugleichen, bevor man mit nichtlinearen Transformationen die Kanäle streckt.
Der Vorteil diese Operation gleich im Roh-Stack durchzuführen liegt darin, dass das Signal hier noch sauber Poisson verteilt ist (Standardabweichung).
Diese Operation ist visuell am Stack nicht erkennbar!!
Es geht hier darum, ein Übel an der Wurzel anzupacken.
ich schreibe das mal für Pixinsight Pixelmath, ist aber in Siril identisch:
-------
Ausgangsmaterial: linearer Roh-Stack und Kanäle linear farblich angeglichen, dh Color Calibration zb mit Spectrometric Color Calibration (Multiplikation/Addition)
ich nutze zur Angleichung der Verteilung avgDev
übersetzt:
ein Bild sagt mehr als 1000 Worte:
nachfolgend mit HT in die Kurve hineingezoomt
Beachte: der Grünkanal bleibt unverändert, nur R und B wurden angefasst
Wenn ich OSC Stacks habe, dann rauscht auf Grund der Bayer Matrix RGGB der Grünkanal am geringsten.
Aus diversen Gründen kann es von Vorteil sein, das Rauschen der Kanäle aneinander anzugleichen, bevor man mit nichtlinearen Transformationen die Kanäle streckt.
Der Vorteil diese Operation gleich im Roh-Stack durchzuführen liegt darin, dass das Signal hier noch sauber Poisson verteilt ist (Standardabweichung).
Diese Operation ist visuell am Stack nicht erkennbar!!
Es geht hier darum, ein Übel an der Wurzel anzupacken.
ich schreibe das mal für Pixinsight Pixelmath, ist aber in Siril identisch:
-------
Ausgangsmaterial: linearer Roh-Stack und Kanäle linear farblich angeglichen, dh Color Calibration zb mit Spectrometric Color Calibration (Multiplikation/Addition)
ich nutze zur Angleichung der Verteilung avgDev
Code:
es soll der Kanal R/B mit dem Rauschen des Grün-Kanals in Übereinstimmung gebracht werden.
Es wird zur Angleichung ein leicht entrauschtes RGB Bild "nxt" benutzt (Denoise 60%) und in den Stack im passenden Verhältnis zugemischt
x*adev($T) + (1-x) * adev(nxt) = adev($T[1])
aufgelöst nach
x = adev($T[1])-adev(nxt))/(adev($T)-adev(nxt)
übersetzt:
- erstelle eine Kopie des Stacks und nenne die Kopie "nxt"
- entrausche das Bild "nxt" mit NoiseXTerminator so dass avgDev von nxt im Kanal "R" und "B" kleiner ist als von "G" im Stack
- wende auf den Stack die Formel an
Hinweis: das ist die obige Formel x*adev($T) + (1-x) * adev(nxt) mit x = adev($T[1])-adev(nxt))/(adev($T)-adev(nxt)Code:(adev($T[1])-adev(nxt))/(adev($T)-adev(nxt))*$T+(1-(adev($T[1])-adev(nxt))/(adev($T)-adev(nxt)))*nxt
ein Bild sagt mehr als 1000 Worte:
nachfolgend mit HT in die Kurve hineingezoomt
- Links: unser OSC Stack, farbkorrigiert, RGB sind "noch" normalverteilt
- Mitte: die Kopie von unserem Stack "nxt" bearbeitet NoiseXTerminator zb Denoise = 0.6 (durch wird die Standardabweichung kleiner)
- Rechts: unser Stack nach Anwendung der Formel
wende auf den Stack die Formel an
Ergebnis: perfekte ÜbereinstimmungCode:(adev($T[1])-adev(nxt))/(adev($T)-adev(nxt))*$T+(1-(adev($T[1])-adev(nxt))/(adev($T)-adev(nxt)))*nxt
Beachte: der Grünkanal bleibt unverändert, nur R und B wurden angefasst
Zuletzt bearbeitet: