Korrektur von Refraktor-Farbsäumen mit AstroWorks

Status
Es sind keine weiteren Antworten möglich.

watchgear

Aktives Mitglied
Mahlzeit!

So - die neue Version von AstroWorks mit der Reduzierung von Farbsäumen ist fertig. Wer es testen will, hier liegt der Download

Ich habe die ganze Routie nochmal komplett neu geschrieben. So läuft es jetzt ab:

1. Bild laden.

2. Pixelarithmetrik -> Farbsäume entfernen wählen.

3. Im großen Bild auf einen Stern klicken, der einen Farbsaum hat. Dann läuft folgendes ab:

- Ein Fenster von 200x200 Pixeln um den Stern wird analysiert.
- Die einzelnen Kanäle werden unter dem großen Bild angezeigt.
- Die helligkeitsverläufe in den einzelnen Farben werden rechts dargestellt. Einmal horizontal und einmal radial gemittelt.
- Über diese Verläufe wird ein dreifacher Tiefpass gelegt. Das ist wichtig für den Grünkanal, der im Bereich von starken Blausäumen oft auf "0" gezogen wird.
- Der Grünkanal der Vorschau (unten rechts) wird nun dem geglätteten Grünkanal angepasst.
- Dann wird der Sockel der gauss'schen Kurve solange vermindert, bis im Bereich des Sternes kein Grünüberschuß mehr existiert.
- Danach werden die beiden anderen Kanäle anhand des Grünkanals und - mit dem Abstand vom Sternmittelpunkt gewichtet - dem Originalhintergrund geglättet.
- Die Differenz aus dem Originalbild und dem synthetisierten Stern wird in eine Maske übergeben.
- Die Differenz aus dieser Maske und dem Originalbild wird in der Vorschau rechts unten angezeigt.
- Der ausgewählte Stern wird im großen Bild mit einem schwarzen Kreuz markiert, damit man weiß, dass man ihn bereits bearbeitet hat.

Wurden alle Sterne bearbeitet, drückt man auf "Fertig". Dann wird das korrigierte Bild als neues Dokument in AW angezeigt und das Farbsaum-Korrekturfenster geschlossen. Außerdem wird die Maske, die nur aus der Differenz zwischen dem Original und dem korrigierten Bild besteht, als ASn_Chromamask_Original im Ordner der Originaldatei gespeichert.
Diese Maske kann man im Photoshop auf 16Bit Farbtiefe umrechnen und dann als Differenz-Ebene über das Original legen.

Ein Problem habe ich noch: Natürlich wollte ich die zu korrigierenden Stern automatisch bestimmen lassen. Das funktioniert auch ganz gut (Button: Auto). Leider werden dann aber auch Sterne erkannt, die mitten in einem Nebel liegen. Hier kann die Korrektur-Routine aber fürchterliche Folgen haben...

Die Anleitung habe ich noch nicht angepasst. Ich warte erstmal auf Feedback - evtl. muss ich das Ganze ja nochmal komplett umschreiben.

Sollte es mit dem einen oder anderen Bild nicht funktionieren, würde ich mich über ein Feedback mitsamt Bild freuen, damit ich den Fehler nachvollziehen kann.

Gruß
Klaus
 
Hallo Watchgear,

ob ein Stern in einem Nebel liegt, könnte man doch anhand der Umgebungshelligkeit bzw. Farbe bestimmen, wenn man davon ausgeht, daß diese dann nicht "dunkel" für den Himmelshintergrund wäre.

Aber andersrum:

Das ganze funktioniert doch letztlich ähnlich wie die Hotpixelvernichtung:

a.) Analyse: hat Stern x einen Blausaum? Daß läßt sich anhand des Farbverlaufs ja bestimmen.
b.) Wenn ja -> Dein Algorithmus zwecks Elinination desselben.
c.) Ist die Fläche rund um den Stern jetzt "leer"?
d.) Fülle die Fläche mit einer der Umgebund angepaßten Funktion mit der Farbe der n benachbarten Pixel

oder so...

OK, ist nicht so einfach zu machen wie zu denken aber das sollte doch grundsätzlich gehen, was meinst Du?

Übrigens *ganz tief den Hut zieht* vor der Leistung, das Programm immer weiter zu treiben.

CS

J.
 
Tach J.

das Problem ist folgendes:

Um zu identifizieren, ob ein Stern einen Farbsaum hat, gehe ich so vor:

1. Ich rastere das ganze Bild ab. Wenn ein Pixel in allen drei Kanälen über einem Schwellwert liegt, habe ich einen Stern gefunden.

2. Dann suche ich den Mittelpunkt des Sterns im grünen Kanal. Ich wandere also nach rechts, links oben und unten, bis die Helligkeit unter die Hälfte des o.g. Schwellwertes sinkt. Damit habe ich die Mitte und den Durchmesser im grünen Kanal.

3. Das gleiche mache ich im blauen Kanal.

4. Wenn der Durchmesser im blauen Kanal über dem im grünen Kanal liegt, habe ich einen "bad star" gefunden und gehe so vor, als hätte ich ihn manül angeklickt.

5. Ich bearbeite den Stern dann in einem Durchmesser, der soweit reicht, bis der blaue Kanal im Híntergrund verschwindet.

Die Krux: Liegt der Stern in einem Nebel mit Blau-Anteil, geht der blaue Kanal nicht im Hintergrund unter. Bearbeite ich dann den ganzen Bereich um den Stern wie oben beschrieben, kann man sich vorstellen, dass der Nebel dadurch nicht gerade hübscher wird <img src="/phpapps/ubbthreads/images/graemlins/grin.gif" alt="" />

Wie ich das nun effektiv unterscheiden kann, ob der Stern einen blauen Saum hat, oder in einem Nebel liegt - darauf muss ich noch ein Weilchen herumkauen...

Gruß
Klaus
 
Hi,

ich habe für den automatischen Modus einige Parameter eingeführt, mit denen das Teil jetzt benutzbar wird. Einfach auf den Button "Parameter" klicken. Die Parameter sind ausführlich erklärt und werden sofort wirksam (man muss also nicht irgendwo auf Speichern klicken).

Darüber lassen sich die Sterne, die automatisch bearbeitet werden, eingrenzen. Manuell kann man natürlich immer noch Sterne anklicken, die mitten in einem Nebel liegen <img src="/phpapps/ubbthreads/images/graemlins/laugh.gif" alt="" />

Gruß
Klaus

P.S. vorher natürlich neue Version saugen: http://www.watchgear.de/AstroWorks/AstroWorks.zip
 
Hi,

OK - Denkmodell-Modus ON

-> Du rasterst den Stern ab.
-> Dann vergleichst Du die Sterngröße in grün mit der in blau.
-> Wenn blau > grün def= Blausaum -> weg damit

Wie hängen Blau- und Gründurchmesser zusammen?

Im Pinzip nur und allein über den Faktor Lambda.

Also KANN das Blau nicht über ein bestimmtes Maß über das Grün herausragen.

Dieses Maß ist durch die Optik gegeben und vermutlich eine zweidimensionale Ortsfunktion.

Wenn man jetzt alle nach dem Kriterium gefundenen Sterne in eine Tabelle schreibt (mit Koordinaten im Bild),
sollte eine Division der gemessenen Blau-Durchmesser durch die gemessenen Grün-Durchmesser einen Wert ergeben, der durch nichts als die Dispersion der Optik gegeben ist, und zwar als Ortsfunktion der Bildoberfläche.

Wenn man will kann man das auch mit Rot machen und damit die math. Funktion absichern.

Da sich die Daten im Prinzip nur stetig ändern sollten, kann man das mathematisch einglätten und hat damit eine Art Dispersions-Flat (blödes Wort, aber mit fällt kein besseres ein).

Problem dabei ist die Definition der Betrachtungswellenlängen, da ja jeder Bildkanal letztlich ein Abbild eines Frequenzbereichs ist.

Aber weiter: wenn jetzt ein Stern mit dem Verhältniswert aus der Reihe tanzt -> zu hohen Wert durch örtlichen Mittelwert der Tabelle ersetzen und korrigieren.

Das ergibt dann eine Lücke.

Außerhalb der Lücke Farbverlauf aufnehmen und in der Lücke fortsetzen ...

Denkmodell-Modus OFF


CS

J.
 
Hi Optikus,

Prima formuliert! Brauchst Du nur noch runter zu schreiben <img src="/phpapps/ubbthreads/images/graemlins/cool.gif" alt="" />

Nee - Spaß beiseite...

So ähnlich hatte ich es mir auch vorgestellt. So einfach ist es aber nicht, da Du neben den chromatischen Fehlern ja auch noch sphärische hast. Außerdem macht man das ja nicht mit Rohbildern, sondern mit bereits gemittelten, usw...

Nebenbei bemerkt ist es ohnehin merkwürdig, welche Sterne einen Blausaum haben und welche nicht. Ich kann Dir Sterne zeigen, die im gleichen Bild nebeneinander die gleiche Helligkeit und den gleichen Durchmesser im Grünkanal haben. Nur hat der eine einen blauen Saum und der andere nicht ?!?

Gruß
Klaus
 
Hi Klaus,

das mit der sternsensiblen Blausaumbildung ist echt ein Gack. Gut, es gibt Sterne mit sehr unterschiedlicher spektraler Lichtzusammensetzung und die gelberen haben halt weniger Blau, aber ob das allein als Erklärung reicht. Das wäre echt eine Frage für unsere Spektroskopisten.

Sterne müßten als glühende Körper ja Kontinuumsstrahler sein, aber das sagt ja noch nicht, daß sie nicht in bestimmten Wellenlängenbereichen so schwach sein könnten, daß das Blau nicht auffällt.

Wegen des beschriebenen Gedankengangs, am Gymmi hatten wir zu ein paar Physik-LK'lern den Tick und mit Stereoskopie zu befassen und zwar mit einer 8mm-Schmalsfilmkamera. Die Dinger haben ja eine höchst interessante innere Optik und daher mußten wir uns um die entsprechenden Winkel zu finden, mit denen der Spiegelkasten ausgestattet sein mußte, mal intensiver mit Abbildender Optik befassen. Das war die Initialzündung für ein Thema, das mich bis heute nicht mehr losgelassen hat.

Leider bin ich nicht der begnadete Programmierer, aber ein ganz ordentlicher Meßtechniker und daher interessieren mich immer die Eigenschaften der Dinge, ich in den Händen habe. Und da sich das dann dank einer geschenkten Bessamatic IIa (und CT 18, später dann Reflex) auch noch auf's Diafotografieren ausgeweitet hatte, war dem Unheil Tür und Tor geöffnet.

Inwischen mache ich wieder was mit Optik, nachdem jahrelang irgendwie die Luft raus war und die Thematik Fehlerelimination durch Kalibrierung gegen ein Normal wird dank der heutigen Rechentechnik ja immer machbarer und damit technisch wieder interessanter.

Was mich dabei am meisten interessiert ist, ob man die rein optischen Bildfehler wirklich komplett systematisieren und von den stochastischen Fehlern rechnerisch trennen kann.

Hoffe bald selbst wieder mit Testaufnehmen beginnen zu können, ab Herbst wirds im Job wieder ein wenig ruhiger, dann solls mit neuem (altem=gebr.) Equipment an eine dunkle Stelle gehen zum Fotonaisen und testen. Vmtl. Ardèche in F. Ein besseres Testfeld als die kleinen Punktquelle da oben schafft kein Optiklabor (jedenfalls kein bezahlbares ...).

Wollte Dir also nicht im Sinne von "Guten Tag, mein Name ist Sysiphus, ich hab hier 'n Job für Sie" was auf den Tisch werfen <img src="/phpapps/ubbthreads/images/graemlins/grin.gif" alt="" />

CS

J.
 
Status
Es sind keine weiteren Antworten möglich.
Zurück
Oben