Deconvolution einmal anders

  • Im Dezember 2016 hatte ich euch im Foto des Monats meine Mundschleimhautzellen gezeigt.

    (Mundschleimhaut, Epithelzellen, mit Acridinorange gefärbt, Anregung 455 nm, Fluoreszenzaufnahme mit einem Stack aus 11 Bildern und anschließender Dekonvolution. Helle Stäbchen sind Bakterien.)

    Diese Deconvolution war auf getrennten Farbkanälen klassisch mit einer Point Spread Function aus einem Stack "rückgerechnet". Rechenzeit einige Stunden ohne GPU Unterstützung.

    Nun hab ich mir die Bilder wieder hergenommen und nur die schärfste Ebene im Stack mit Hilfe eines neuronalen Netzes bearbeitet, das speziell auf die Deconvolution von Mikrotubuli trainiert ist. Erstaunlich, was dabei herauskommt. Rechenzeit etwa 20 Sekunden für alle drei Farbkanäle ohne GPU Unterstützung. Das Zellinnere (Zytoskelett) ist nun klarer zu sehen, aber die Bakterien haben ein wenig gelitten... Da ist noch Raum für Optimierungen.

    VG

    Klemens

  • So, noch ein Versuch mit DeepImageJ, einem Plugin für mein Lieblings Open Source Image Processing Tool ImageJ.

    Eine kleine Grünalge mit 455 nm Anregung im Auflicht und Aufnahme der Eigenfluoreszenz. Das schärfste Foto aus dem Stack nach RGB zerlegt, die einzelnen Kanäle mit DeepImageJ "behandelt".

    DeepImageJ arbeitet mit verschiedenen Trainingssätzen (hier speziell zur Erkennung von Mikrotubuli oder ähnlichen Strukturen) und Tensorflow (eines der Open Source Frameworks für Machine Learning). Wer Zeit und Muse hat, kann seine eigenen Bilder zum Training des Neuronalen Netzes verwenden und das Ergebnis sicher noch verbessern, da die optischen Gegebenheiten des eigenen Setups besser berücksichtigt werden. Was mir daran gefällt, ist die einfache und schnelle Methode, diese Art von Aufnahmen zu verbessern. Die Aufnahme wurde mit einer Vergrößerung von etwa 40x10 gemacht und die Strukturen, die nun erahnbar sind, haben eine Breite von etwa 200 - 400 nm, was für ein Zeiss Standard 14 schon ganz ordentlich ist. Die Rechenzeit auf meinem Vierkern I5 ohne GPU Unterstützung war etwa 15 Sekunden, der interne Speicherbedarf deutlich weniger als 1 GB bei Aufteilung in 512x512 Kachel.

    VG

    Klemens

    • Offizieller Beitrag

    Hallo Klemens,

    es ist schon erstaunlich, was diese Programme so alles bewirken bei den Fluoreszenzaufnahmen. Ein einfaches Unterfangen ist es damit wahrlich nicht.

    Sehe ich das richtig: Bei dem Beispiel mit der Grünalge wurde die linke Aufnahme mit Überstrahlungen und unscharf erscheinend genommen, um sie mit dem Programm(en) zum rechten Bild werden zu lassen. Gut gelungen!

    Einiges davon läßt sich bereits durch eine knappere Belichtung und Verstellen der Aperturblende bewirken (die der IV-FL leider nicht hat).

    Das Bild ist dann in der Tat zumindest um einiges besser, nur wird es eben im Display nicht so angezeigt. Man sieht nichts, so daß man automatisch eine längere Belichtungszeit wählt als nötig.

    VG

    Bernd

  • Grundsätzlich haben "überstrahlte" Bilder mehr als genug Information, solange das Sensorsignal nicht komplett am oberen Ende ansteht, also im verwendeten Zahlenraum z.B. 32 Bit untergebracht ist. Es mag zwar überbelichtet erscheinen, wenn aber das Histogramm nicht ganz rechts pickt und abgeschnitten ist, kann man damit rechnen.

    Die klassische Methode um "schlechte" Bilder zu verbessern ist die Dekonvolution. Jeder physikalische Effekt auf ein Bild entspricht einer mathematischen Funktion auf dieses Bild (Airy Disk, Beugung, Interferenz, ...), auch bekannt als Faltung einer Matrix oder Konvolution. Die Auflösung der Matrix spielt sich im atomaren Bereich ab, etwa in Photonengröße. Mit der Digitalisierung des analogen Bildes bekommen wir eine endlich große Matrix mit zumindest 3 Dimensionen (x, y, Intensität) da ja der Kamerasensor endlich große Pixel hat, die in der Belichtungszeit Photonen auffangen, die einer Poisson Verteilung folgen. Auch die "Gradationskurve", die sich aus der Elektronik und den Einstellungen des Sensors ergibt ist eine weitere Konvolution. Wenn es verlustfrei abgespeichert wird, hat man zumindest eine gute Ausgangsbasis für weiteres image processing. Daher Bilder nie nur als JPEG abspeichern, sondern RAW.

    Die Umkehrung der Konvolution ist die Dekonvoluionoder Entfaltung. Im Grunde sind es einfache Matrixoperationen, wobei bei der Faltung im realen System Informationsverluste auftreten, wie etwa die Mittelwertbildung an den Kamerapixeln, die nicht exakt rückgerechnet werden kann. Zur Umkehrung braucht man eine Point Spread Function PSF, die aber normalerweise nicht bekannt ist. Man kann sie theoretisch mit verschieden guten Modellen berechnen, aufwändig messen oder eine blind deconvolution machen, bei der sehr rechenintensiv das beste Ergebnis ermittelt wird (Likelihood). Hier habe ich schon oft Artefakte errechnet, die bestimmt nicht dem "realen" Bild (was ist das?) entsprechen.

    Die Methode über Neuronale Netze (eine Methode des Machine Learnings) funktioniert vereinfacht so, dass man der "Maschine" zeigt wie das Bild vorher, also überstrahlt, verzerrt, etc. aussieht und wie es "real" aussieht. Problem dabei ist natürlich entsprechendes Trainingsmaterial zu bekommen. Dazwischen befinden sich die Neuronen, die man in Anzahl und Verknüpfung vorgibt. Jedes Neuron hat eine Übertragungsfunktion, mit der sein Input an den Output weitergegeben wird. Diese Methode funktionert mittlerweile so gut, dass in Echtzeit Dinge oder sogar Gesichter erkannt und zugeordnet werden können.

    Bleibt die Frage: Aber sind das denn echte Strukturen oder wird das nur errechnet?

    Was ist die echte Struktur? Die, die ich beobachte ist durch Faltungen auch nicht mehr "echt". Ich kann nur die Art der Beobachtung verbessern und damit weniger Faltung verursachen, was in anderen meist sehr teuren Beobachtungsgeräten endet. Dieses Bild ist dann für uns "echt". Wenn wir noch feinere Beobachtungsmethoden entwickeln, wird es noch "echter"? Ob es etwas mit der theoretisch "echten" oder besser gesagt ausgedachten aber nicht real exakt beobachtbaren Struktur zu tun hat, ist die Frage. Vergleiche das Schema der Mikrotubuli in Bio-Lehrbüchern mit "realen" Bildern.

    Im makroskopischen Bereich kann man das relativ leicht nachprüfen. Reales Bild (tatsächlich real?) bzw. das was wir sehen => Kamera, ... => schlechtes Bild => Image Processing => gutes Bild => Vergleich mit dem was wir real sehen.

    Im mikroskopischen Bereich braucht es für das "reale" Bild eine feiner auflösende Technik, um dann - nach dem Training - mit "schlechterer" Technik + Rechenaufwand annähernd an die feinere Technik heranzukommen. Dafür ist das meist wesentlich günstiger und schneller (z.B. Confocal Imaging vs. mein altes Zeiss Standard 14 + PC)

    Das was errechnet wird, muss natürlich hinterfragt werden. Wenn es zu Erfahrungen oder Erwartungen passt, wird es wohl dem echten Bild nahe kommen.... oder auch nicht :saint:

    VG

    Klemens

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!