Hallo Klemens,
Vielleicht findest du ja eine schöne Variante mit der größere Artefakte, die im Strahlengang sind, herausgerechnet werden, um eine Überbelichtung bei der Flatfieldkorrektur vermeiden zu können.
VG, Erik
Hallo Klemens,
Vielleicht findest du ja eine schöne Variante mit der größere Artefakte, die im Strahlengang sind, herausgerechnet werden, um eine Überbelichtung bei der Flatfieldkorrektur vermeiden zu können.
VG, Erik
Kann vielleicht jemand solche Bilder mit echten Artefakten aus der Praxis zur Verfügung stellen? Dann tu ich mit leichter. Ich hab da momentan nix.
Danke Klemens
Hallo Klemens,
Kannst meine Bilder verwenden und malst mit Paint einen grösseren schwarzen Punkt auf das Leerbild. Schwarz und weiss sind natürlich Extremfälle, wobei letzteres bei Überbelichtung bestimmt häufiger auftritt als schwarz. Für mich selbst habe ich entschieden, dem nicht weiter nachzugehen. Wenn es aber eine elegante einfache Lösung für dieses Problem gibt, würde ich es implementieren.
Ich hab mal schnell ein paar Bilder gemacht mit einem Artefakt.
Die Leerbilder (H) und Objektbilder (P) wurden gemittelt vom gemittelten Leerbild der mittlere Grauwert gemessen, die Bilder mit der Operation Result = (P/H) x k1 + k2 mit k1=104.9 k2=0
k1 ist der mittlere Grauwert. Anschließend noch das Histogramm automatisch angepasst.
Die Dunkelbilder hab ich nicht verwendet. Grauwerte sind bei mir normalverteilt im sehr dunklen Bereich.
Alles mal ohne Kanaltrennung oder sonstige Optimierung. Monochrome Bilder gehen noch besser.
Hallo Erik, ich denke dass das nicht eine Aufgabe für die flat field correction ist. Diese korrigiert doch Sensorungleichmäßigkeiten oder "Probleme" im Strahlengang wie etwa Vignettierungen. Was auch geht sind leichte Verschmutzungen oder kleine Kratzer, aber die sind am Flat und am eigentlichen Bild gleich. Das lässt sich dann herausrechnen.
Solche Effekte, die nur im Flat sind und nicht im eigentlichen Bild, können mit dieser Korrektur nicht entfernt werden. Ist ja auch Unsinn. Wieso sollte ich das Bild mit einem fehlerhaften Flat, das völlig andere Bildinformationen hat, korrigieren?
Ungleichmäßige Ausleuchtung und Vignettierung kann man sogar so halbwegs aus dem Originalbild herausrechnen indem man einen Blur mit großem Radius erzeugt und das Original durch dieses Bild dividiert. Histogramm anpassen, fertig. Die Muster am korrigierten Bild kommen von der JPEG Kompression. Man könnte sicher noch mehr herausholen mit TIFF oder Raw.
Median mit 50 pixel Radius
(Original / Flat) * 79, dann am Histogramm herumgedreht
VG Klemens
Hallo Klemens,
das Ergebnis sieht gut aus. Schaffst du es auch dein Doing nachvollziehbar für ältere Leute zu dokumentieren? Was muss installiert werden, welche Funktionen hast du verwendet usw.
Viele Grüße
Am besten wäre da ein ausführliches Tutorial auf Youtube ![]()
Im Grunde ist das in meinem "Tutorial" aus 2016 beschrieben. Ich mach dazu evtl. noch ein eigenes Thema auf.
Ralfs Programm macht mathematisch prinzipiell das gleiche. Und ich denke, dass es ausgesprochen lehrreich ist, sich selbst so ein Programm zu erarbeiten.
Ich war halt zu faul mir ein eigenes Programm zu schreiben (muss ich in der Arbeit ohnehin immer, das reicht mir). Meine Wahl wäre sonst Matlab, Octave oder Scilab gewesen. Da sind die Matrixoperationen einfach und schnell. ImageJ hat aber schon alles für dieses image processing an Bord und noch mehr.
Aus jugendlicher Neugier habe ich in ChatGPT diesen Prompt eingegeben: Schreibe ein Programm in imagej/fiji, das bei einem Bild mit Vignettierung eine flat field correction macht.
Klappt ausgezeichnet!
VG Klemens
Hallo,
Falls es noch von Interresse ist, habe ich fuer die Linuxuser Yafft als ausfuehrbare Datei erstellt. Der beschriebene Weg von Ralf es ueber PyCharm auszufuehren funktioniert wunderbar. Allerdings ist der Pycharm Download 1,2 GB gross. Die ausfuhrbare Datei "nur" so 77 MB.
Die Datei kann man hier downloaden. Da leider die Ausfuehrbarkeit verloren zu gehen scheint, noch mit chmod im Terminal ausfuehrbar machen: chmod +x yafft
VG Klaus
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!