Digitale Bildbearbeitung - Flatfield-Korrektur und Kontrastierung

Begonnen von Michael Müller, Mai 13, 2025, 16:02:59 NACHMITTAGS

Vorheriges Thema - Nächstes Thema

rlu

#60
Hallo,

wie liest sich ein Histogramm?

habe mir gerade ein Histogramm mit einer Farbe angeschaut.
Im RGB-Farbraum(rot, grün, blau) können alle Farben dargestellt werden.
Dieser Braunton hat die Werte: 61, 30, 1 für rot, grün, blau.
Das sieht man dann auch im Histogramm.
Die Stellung von den Reglern wird einfach ins Histogramm runter-projiziert.

Auf der x-Achse vom Histogramm erscheint einer grüner senkrechter Strich auf x-Achse bei x=30
und ein roter bei x=61
und ein blauer ganz links bei x=1

Weil sonst keine andere Farben vorhanden sind, gibt es nur drei Striche für eine Farbe.
Und weil die Farbe die ganze Fläche einnimmt, füllt es die ganze Höhe aus zu 100% aus.
Der höchste Wert wird auf 100% der Höhe der Y-Achse normiert.

2025-05-21 09_07_40-Mappe1 - Excel.jpg

Dasselbe gilt dann für diesen orangen Farbton.
rot(244), grün(148), blau(1)
Der hier nur für sich betrachtet wird.

2025-05-21 09_10_27-Mappe1 - Excel.jpg

Kombiniert man die beiden Farben auf einer Fläche.
In diesem Beispiel erhält Orange 25% und Braun 75% der Fläche.
2025-05-21 09_24_53-Mappe1 - Excel.jpg

Dann spiegelt sich das auch im Histogramm wieder.
Blau(1) sollte jetzt 100% der Höhe haben. Davon kommen 75% von braun und 25% von gelb.
rot(61), grün(30) 75%, von der größeren braune Fläche
und
die kleinere orange Fläche mit dem kleinem rot(244) und grün(148) und einen Peak von 25%.
-- so stelle ich mir das vor -

2025-05-21 09_21_09-Mappe1 - Excel.jpg
Habe die Höhe von dem kleinen grünen Peak zur Verdeutlichung aufeinandergestapelt.
Vier kleine grüne Pfeile ergeben zu Veranschaulichung 100%, also hat der kleine grüne Pfeil 25%.
Dieser kleine einzelne grüne Pfeil ist der Grünanteil der orangen Farbe.

Werte für das Histogramm
2025-05-21 08_49_27-Mappe1 - Excel.jpg



Liebe Grüße
Rudolf


Nebenbemerkung:
Scheinbar bezieht Affinity unsichtbare, aber aktive darunterliegende Ebenen mit in das Histogramm ein.
Also am besten für ein Histogramm zu einem Bild nur die dazugehörige aktive Ebene einblenden.

rlu

#61
Hallo,

RGB-Farbregler:
Die Farben der RGB-Farbregler sind etwas verwirrend
Man müsste annehmen, dass R: = rot, G: = grün, B: = blau ist. Sie ändern aber ständig ihre Farbe.
Schiebt man hier den Grünkanal(G:) nach rechts, dann geht der Farbton ins grünliche, nach links in den lila Bereich.
Eigentlich hat Affinity das ganz gut gemacht, damit man sieht wie sich eine Veränderung der Farbwerte für den jeweiligen Kanal auswirkt.

2025-05-20 11_14_31-Affinity Photo 2.jpg

Farbe geht in den lila Bereich, wenn der Grün-Regler nach links verschoben wird.

2025-05-20 11_27_22-Affinity Photo 2.jpg

Liebe Grüße
Rudolf

rlu

Hallo,

habe mal nachgesehen, war mir neu. Vielleicht interessiert es noch einen.
https://www.mikroskopie-forum.de/index.php?msg=376232
hier ging es um dieses Dateiformat.

---
Chroma Subsampling 4:4:4 ist eine Technik in der Videobearbeitung und -kompression, bei der die Farbauflösung (Chrominanz) vollständig erhalten bleibt, da keine Reduzierung der Farbinformationen erfolgt. Hier eine detaillierte Erklärung:

Grundlagen der Chroma-Subsampling-Notation (J:a:b):
J: Bezieht sich auf die horizontale Luminanz-Abtastrate (Helligkeitsinformation, Y) in einem Block von 4 Pixeln.
a: Anzahl der Chrominanz-Abtastwerte (Cb/Cr) in der ersten Zeile des Blocks.
b: Anzahl der Chrominanz-Abtastwerte in der zweiten Zeile des Blocks.

Was bedeutet 4:4:4?
Keine Subsampling: Sowohl Luminanz (Y) als auch Chrominanz (Cb, Cr) werden für jedes Pixel in voller Auflösung erfasst.

Beispiel: In einem 4x2-Pixel-Block (8 Pixel) gibt es 8 Y-, 8 Cb- und 8 Cr-Samples.
Äquivalent zu RGB: In YCbCr-Farbraum entspricht 4:4:4 der vollen Farbtiefe von RGB, da keine Farbinformation verloren geht.

Vergleich mit anderen Schemata:
4:2:2: Chrominanz horizontal halbiert (z. B. 4 Cb/Cr-Samples für 8 Luminanz-Pixel).
4:2:0: Chrominanz horizontal und vertikal halbiert (z. B. 2 Cb/Cr-Samples für 8 Luminanz-Pixel).
4:4:4: Keine Komprimierung der Farbdaten – höchste Qualität.

Zusammenhang zwischen Chroma-Subsampling und RGB
RGB kodiert Farbe direkt über drei Kanäle: Rot, Grün, Blau – jedes Pixel hat volle Farbinformationen.

YCbCr trennt Helligkeit (Luminanz Y) und Farbe (Chrominanz Cb/Cr). Dies ermöglicht Subsampling, weil das menschliche Auge Farbe weniger scharf wahrnimmt als Helligkeit.

Warum kein RGB-Subsampling?
RGB enthält keine getrennte Luminanz/Chrominanz-Komponente. Eine Reduzierung der Farbkanäle (z. B. R:G:B = 4:2:0) würde direkt Helligkeits- und Farbinformationen verlieren – was sichtbare Artefakte erzeugt.
Daher wird Subsampling fast ausschließlich in YCbCr angewendet, nicht in RGB.

Warum heißt es 4:4:4 und nicht 8:8:8?
Historische Konvention:
Die Notation (J:a:b) bezieht sich auf einen Referenzblock von 4 Pixeln (ursprünglich aus analogen TV-Standards und JPEG-Komprimierung).

4:4:4 bedeutet:
4 Luminanz-Samples (Y) für 4 Pixel (volle Auflösung).
4 Cb- und 4 Cr-Samples für dieselben 4 Pixel (keine Reduktion).
8:8:8 wäre redundant:
Es würde lediglich den Referenzblock verdoppeln (z. B. 8 Pixel statt 4), ändert aber nichts am Verhältnis. Die 4 ist ein relatives Symbol, kein absoluter Wert.

3. Warum ein 4x2-Pixel-Block?
Technische Ursache:
Die Subsampling-Notation stammt aus der digitalen Videocodierung, wo Daten oft in Makroblöcken (z. B. 4x2 oder 4x4 Pixel) organisiert werden.

Beispiel für 4:2:0:
In einem 4x2-Block (8 Pixel) gibt es:
8 Y-Samples (volle Luminanz),
2 Cb- und 2 Cr-Samples (je 1 Sample pro 2x2-Pixel-Unterblock).

Bei 4:4:4:
Der Block bleibt 4x2, aber jedes Pixel hat eigene Cb/Cr-Werte – keine Reduktion.

Zweck:
Die Blockstruktur vereinfacht die Verarbeitung in Codecs (z. B. MPEG, H.264) und ermöglicht effiziente DCT-Transformationen (Discrete Cosine Transform).

Liebe Grüße
Rudolf

M59

Hallo Michael,

in Fiji gibt es für den Import von raw Dateinen ein plugin mit Namen Bioform- importer. Eventuell muss man das plugin konfigurieren, so dass die Endung z.B. '.nef' erkannt wird.

Gestern als ich ein Präparat testete, fiel mir gar nicht auf, dass nur Grautöne erzeugt werden, das Präparat auch im Mikroskopbild grau.
Weisst Du welche Einstellungen verwendet werden müssen, um die Farben in 16-Bit Tiffs beizubehalten?

Grüße,

Michael/M59

Michael Müller

Hallo Michael,

tut mir leid - mit raw-Dateien habe ich noch keine Erfahrungen gesammelt. Ich weiß eigentlich nur, dass es unter Linux das Tool raw2tiff gibt, das recht gut sein soll und viele Einstellungen bietet.

Viel Erfolg

Michael
Gerne per Du

Lupus

Hallo Rudolf,

das ist ein komplexes Thema. Hier etwas vereinfacht dargestellt:

Der RGB-Farbraum wird für die JPG-Komprimierung in den Y'CrCb-Farbraum umgewandelt, d.h. statt der Bild-Helligkeitswerte von Rot, Grün und Blau werden die reinen Grauwerte (Y'-Wert) und die Grau-Abweichungen Richtung Blau-Gelb (Cb-Wert) und Richtung Rot-Türkis (Cr-Wert) verwendet. Denn die Grauwerte sind für das Helligkeitsempfinden wichtiger als die Farbwerte. Die Grauwerte des Fotos werden in 8x8 Pixelblöcke eingeteilt und je nach Einstellung des Konversionsprogramms deren Inhalt unterschiedlich stark vereinfacht. Daher entstehen mit zunehmender Kompression stärker erkennbare 8x8 Pixelblöcke. Die Farbe kann je nach Einstellung zusätzlich vereinfacht werden. Beim 4:4:4-Subsampling werden die Farbpixel nicht zusätzlich vereinfacht. Beim (speziell für JPG) alternativen 4:2:0 Subsampling wird in x- und y-Richtung die Anzahl Farbpixel in den Blöcken nochmal je halbiert und dadurch entsprechend stärker vereinfacht. Die Grafik zeigt das schematisch, in der unteren Reihe gibt es nur noch 1/4 der Farbpixel im Vergleich zu den Graupixeln.

JPG Chroma Subsampling.jpg

In der Praxis sieht das am Beispiel des Bildes von Michael (#46) im stark vergrößerten Ausschnitt so aus:

Links oben das Original, darunter das gleiche Bild mit maximaler JPG-Qualität (in meinem Programm mit % bezeichnet), aber 4:2:0 Farb-Subsampling. Es entsteht bei vernachlässigbarer JPG-Kompression kein Unterschied.

2. Spalte: 70% JPG-Kompressionsqualität, wieder oben ohne zusätzliche Farbkompression, darunter wieder das maximale Farb-Subsampling 4:2:0.

3. Spalte: Das gleiche mit 35% JPG-Kompressionsqualität.

Die 8x8-Block Artefakte nehmen von links nach rechts zu, die Farbdarstellung wird von oben nach unten farblich strukturloser, speziell im  kontrastarmen Hintergrund. Bei einem normalen Foto fällt das praktisch nicht auf weil man da kaum bis an die Auflösungsgrenze geht, und auch nicht bei satten Farben (das kann man in den rechten grünen Bereichen erkennen). Bei Mikrofotos können diese Vereinfachungen aber ein Problem sein wenn man Details der möglichen Auflösung verliert, oder eventuell noch schlechter - wenn zusätzliche Artefakte entstehen.

Links unten sind zusätzlich die Dateigrößen der unterschiedlich komprimierten Gesamtbilder angegeben.

Vergleich JPG-Kompression Farbsubsampling.jpg

Hubert


M59

 Hallo Michael,

danke, nein das einlesen von rawfiles ist mir nicht wichtig.

Mein Frage war welche  Parameter man für k1/k2 eingeben muss, um die Farben bei 16-Bit Tiffs zu erhalten. Aber vielleicht funktioniert das nicht mit dieser Art der Bildverarbeitung?

Grüße,

Michael/M59

Michael Müller

Hallo Michael,

das hatte ich falsch verstanden.

Da Du bei der Divisions-Methode k1 als den Helligkeitsmittelwert des Ausgangsbildes wählst (was eine gute Wahl ist), ist dieser Wert unabhängig vom Datenformat (bzw. ändert sich mit dem Datenformat entsprechend). k2=0.

Viele Grüße

Michael

Gerne per Du

M59

Hallo Michael,

das habe ich getestet. Das Ergebnis ist ein Bild mit Grautönen.

Grüße,

Michael/M59

Michael Müller

Hallo Michael,

ich habe gerade die Beispielbilder von mir mit ImageJ nach TIFF konvertiert und eine Flatfield-Korrektur durchgeführt. Das Ergebnis ist einwandfrei - und vor allem bunt!

Da das Ausgangsbild ein JPEG war, bin ich mir aber nicht so ganz sicher, ob "mein" TIFF dasselbe Format hat wie "Deines".
Möglicherweise ist bei Dir die Farbe beim Konvertieren von RAW nach TIFF verloren gegangen?

Viele Grüße

Michael
Gerne per Du

M59

Hallo Michael,

ich exportiere meine 'raw' Bilder ins 16bit Tiff. In der (Nikon) Kamera werden die Bilder mit 14Bit pro Pixel gespeichert und dann beim Export ins Tiff in den 16 Bit Farbraum konvertiert. Fiji öffnet dann das 16 bit Tiff als Bild in 3 Farbkanälen.
Ein Ausgangsbild als 8Bit jpg oder 8 Bit Tiff kann Fiji zwar als 16Bit Tiff speichern, dennoch benutzt es meiner Ansicht nach, 'laienhaft formuliert ' den Farbraum des Ausgangsbild. Ich bin mir sicher 'mein Problem' ist ziemlich trivial und es fehlt bloß an der Wahl der richtigen Parameter in Fiji.

Vielleicht weiss ja ein Mitleser hier die Lösung.
Besten Dank und Gruß,

Michael/M59

rlu

Hallo Michael/M59,

stell doch mal das Flatbild + Bild + Ergebnis hier ein.
Und beschreib kurz wo das Bild "ergraut" ist.

Bzw. speichere mal deine Tiffs in jpegs. Mache eine FlatfieldKorrektur. Kommt dann das Gleiche raus?
Just a guess.

Wenn das zu keiner Lösung führt. Dann müßte man die Ausgangs-Tiff-Bilder haben.

Liebe Grüße
Rudolf

Lupus

#72
Hallo Michael,

das Problem könnte in der Art liegen wie ImageJ/Fiji Bilddateien behandelt, es gibt wohl nicht für jede Bit-Größe jedes Dateiformat. Eine importierte 16-Bit Datei wird als Bild mit den drei getrennten Farbkanälen angezeigt. Das ist bei mir z.B. so wenn ich eine RAW-Datei aus der Kamera in ImageJ mit dem Plugin DCRaw-Reader konvertiere, dann entsteht ein 16-Bit Bild mit den Kanälen R,G und B. ImageJ ist sehr auf die getrennte Farbverarbeitung der Kanäle ausgelegt. Wenn man dieses Bild als Tiff abspeichert ändert sich daran nichts, das Programm konvertiert das "Bildformat" nicht sondern speichert den gesamten Inhalt nur verlustfrei ab.
Man kann das 3-Kanal 16-Bit Bild aber in eine 32-Bit "RGB Color" Datei konvertieren, dann wird diese Farbtrennung aufgehoben.

Hubert

rlu

Hallo Hubert,

vielen Dank wieder was gelernt. Schöne bildliche Darstellung mit den Farben und Graustufen.

"Bei Mikrofotos können diese Vereinfachungen aber ein Problem sein, wenn man Details der möglichen Auflösung verliert, oder eventuell noch schlechter - wenn zusätzliche Artefakte entstehen."

Interessant, ich habe mir die Details zuerst angeschaut und am Anfang überhaupt keinen Unterschied entdeckt. Vielleicht weniger Farbe.
Bis mir dann die Quadrate/Raster aufgefallen sind.
Schon interessant, dass größere Objekte wenig unter diesen Reduzierungen leiden.


Was mir noch nicht so klar ist.
In welchen Programmen kann man die Einstellung für jpg vornehmen.(4:4:4 versus 4:2:0)
Welche Bild-Formate können überhaupt Chroma Subsampling?
In Affinity Photo Datei-Export habe ich dazu nichts gesehen.
Zumindest scheint es so zu sein, dass bei fehlender Komprimierung alle Infos erhalten bleiben.

Liebe Grüße
Rudolf

Lupus

Hallo Rudolf,

ZitatIn welchen Programmen kann man die Einstellung für jpg vornehmen.(4:4:4 versus 4:2:0)
Welche Bild-Formate können überhaupt Chroma Subsampling?
Ich kenne viele Programme nicht, vor allen Dingen nicht die Programme die bevorzugt werden weil sie alles per Knopfdruck automatisch machen (ohne dass man wissen will was wirklich passiert).   ;)

Aber hier zwei Beispiele, links mein sehr simples und übersichtliches Paint NET, rechts GIMP.

JPEG Kompressions-Einstellungen.jpg

Chroma Subsampling dürfte auf JPG-Kompression beschränkt sein (wenn man von wohl älteren Anwendungen in der Video- und Fernsehtechnik absieht).

Hubert