lpaelke
Aktives Mitglied
Nachdem die Tage in einem anderen Thread jemand gefragt hatte, warum die Bilder von Nebeln mit dem Seestar immer so gelb-orange aussehen, bin ich ins Grübeln gekommen:
Sollte das Folgende schon allgemein (oder zumindest einzelnen) bekannt sein, und nur an mir vorbei gegangen sein, dann wäre ich für entsprechende Hinweise und Links dankbar. Ich habe dazu nichts gefunden, vielleicht war es in den Google Ergebnissen aber einfach zu tief verbuddelt.
Und wenn ich einen massiven Gedankenfehler gemacht habe, dann klärt mich bitte auf. Es erscheint mir im Nachhinein zu einfach und offensichtlich.
Wie dem auch sei:
Ein Problem bei der Nutzung von DNB-Filtern mit OSC-Kameras ist, dass die Farbfilter der Bayer-Matrix üblicherweise nicht nur das Licht im jeweiligen roten (r), grünen (g) oder blauen (b) Spektralbereich durchlassen, sondern auch andere Farben. (Warum eigentlich? Für Mono-Kameras gibt es doch Filter, die wirklich farbrein sind.)
Folglich wird das rote Ha-Licht auch von den g und b Pixeln registriert, und da blau/grüne Oiii-Licht auch von den r Pixeln.
Nun habe ich überlegt, ob man das nicht zurück rechnen kann, und bin darauf gekommen, dass es eigentlich sogar ganz einfach geht.
Also, die jeweiligen Pixel registrieren folgende Signale:
r = H * rH + O * rO
g = H * gH + O * gO
b = H * bH + O * bO
wobei H die Intensität des Ha-Signals ist und rH die Quanteneffizienz des roten Pixels bei der Wellenlänge von Ha, O die Intensität des Oiii-Signals und rO die Quanteneffizienz des roten Pixels für die Oiii-Wellenlänge. Analog natürlich auch gH, gO, bH und bO.
Wenn man jetzt die Gleichungen für r und g bzw. für r und b kombiniert, hat man jeweils 2 Gleichungen mit 2 Unbekannten, die einfach nach den ursprünglichen Signalstärken H und O zu lösen sind:
Für r und g:
H = ( r * gO - g * rO ) / ( gO * rH - gH * rO )
O = ( g * rH - r * gH ) / ( gO * rH - gH * rO )
Bzw. für r und b:
H = ( r * bO - b * rO ) / ( bO * rH - bH * rO )
O = ( b * rH - r * bH ) / ( bO * rH - bH * rO )
Weil ich zuletzt Aufnahmen mit dem Seestar S50 bearbeitet habe, habe ich es gleich damit ausprobiert. (Wobei das ganze mit einem wirklich schmalbandigen DNB-Filter vermutlich deutlich besser funktionieren sollte.) Für den dort verbauten IMX462-Sensor habe ich aus dem Datenblatt folgende Werte für die Wellenlängen von Ha: 656 nm bzw. Oiii: 501 nm grob abgelesen:
rH = 0,85
gH = 0,25
bH = 0,12
rO = 0,04
gO = 0,78
bO = 0,42
Das ganze dann bei PixInsight in Pixelmath eingegeben.
Dabei traten 2 Probleme auf (vermutlich auch, weil der DNB-Filter des Seestar sehr breit ist + das übliche Rauschen):
Zum Einen gingen ein paar Pixel in die Sättigung. Dies kann passieren, weil der Nenner kleiner als 1 ist. Da es aber ja nur auf die relativen Werte ankommt (man stretcht ja sowieso noch), kann man den Nenner auch einfach weglassen.
Zum Anderen gingen einige Pixel auf 0. Um das zu verhindern, könnte man einen Sockelbetrag addieren. Wie man das am besten macht (ohne die Daten zu verfälschen) muss ich mir noch überlegen, bzw. bin für Vorschläge offen.
Insgesamt scheint das ganze aber zu funktionieren.
Ich bin gespannt auf eure Kommentare.
CS, Lutz
Sollte das Folgende schon allgemein (oder zumindest einzelnen) bekannt sein, und nur an mir vorbei gegangen sein, dann wäre ich für entsprechende Hinweise und Links dankbar. Ich habe dazu nichts gefunden, vielleicht war es in den Google Ergebnissen aber einfach zu tief verbuddelt.
Und wenn ich einen massiven Gedankenfehler gemacht habe, dann klärt mich bitte auf. Es erscheint mir im Nachhinein zu einfach und offensichtlich.
Wie dem auch sei:
Ein Problem bei der Nutzung von DNB-Filtern mit OSC-Kameras ist, dass die Farbfilter der Bayer-Matrix üblicherweise nicht nur das Licht im jeweiligen roten (r), grünen (g) oder blauen (b) Spektralbereich durchlassen, sondern auch andere Farben. (Warum eigentlich? Für Mono-Kameras gibt es doch Filter, die wirklich farbrein sind.)
Folglich wird das rote Ha-Licht auch von den g und b Pixeln registriert, und da blau/grüne Oiii-Licht auch von den r Pixeln.
Nun habe ich überlegt, ob man das nicht zurück rechnen kann, und bin darauf gekommen, dass es eigentlich sogar ganz einfach geht.
Also, die jeweiligen Pixel registrieren folgende Signale:
r = H * rH + O * rO
g = H * gH + O * gO
b = H * bH + O * bO
wobei H die Intensität des Ha-Signals ist und rH die Quanteneffizienz des roten Pixels bei der Wellenlänge von Ha, O die Intensität des Oiii-Signals und rO die Quanteneffizienz des roten Pixels für die Oiii-Wellenlänge. Analog natürlich auch gH, gO, bH und bO.
Wenn man jetzt die Gleichungen für r und g bzw. für r und b kombiniert, hat man jeweils 2 Gleichungen mit 2 Unbekannten, die einfach nach den ursprünglichen Signalstärken H und O zu lösen sind:
Für r und g:
H = ( r * gO - g * rO ) / ( gO * rH - gH * rO )
O = ( g * rH - r * gH ) / ( gO * rH - gH * rO )
Bzw. für r und b:
H = ( r * bO - b * rO ) / ( bO * rH - bH * rO )
O = ( b * rH - r * bH ) / ( bO * rH - bH * rO )
Weil ich zuletzt Aufnahmen mit dem Seestar S50 bearbeitet habe, habe ich es gleich damit ausprobiert. (Wobei das ganze mit einem wirklich schmalbandigen DNB-Filter vermutlich deutlich besser funktionieren sollte.) Für den dort verbauten IMX462-Sensor habe ich aus dem Datenblatt folgende Werte für die Wellenlängen von Ha: 656 nm bzw. Oiii: 501 nm grob abgelesen:
rH = 0,85
gH = 0,25
bH = 0,12
rO = 0,04
gO = 0,78
bO = 0,42
Das ganze dann bei PixInsight in Pixelmath eingegeben.
Dabei traten 2 Probleme auf (vermutlich auch, weil der DNB-Filter des Seestar sehr breit ist + das übliche Rauschen):
Zum Einen gingen ein paar Pixel in die Sättigung. Dies kann passieren, weil der Nenner kleiner als 1 ist. Da es aber ja nur auf die relativen Werte ankommt (man stretcht ja sowieso noch), kann man den Nenner auch einfach weglassen.
Zum Anderen gingen einige Pixel auf 0. Um das zu verhindern, könnte man einen Sockelbetrag addieren. Wie man das am besten macht (ohne die Daten zu verfälschen) muss ich mir noch überlegen, bzw. bin für Vorschläge offen.
Insgesamt scheint das ganze aber zu funktionieren.
Ich bin gespannt auf eure Kommentare.
CS, Lutz