Vorverarbeitungs-Plugin für optische Projektionstomographie für Napari
Dieses Napari-Plugin wurde mit Cookiecutter unter Verwendung der cookiecutter-napari-plugin-Vorlage von @napari generiert.

Springe zu:
Verwendung
Binning
ROI
-Protokoll
Dunkelfeld und Hellfeld
Korrektur fehlerhafter Pixel
Intensitätskorrektur
Fluoreszenzbleiche
Ausgangspunkt
Globale Einstellungen
Übertragung vs. Emission
Korrekturen
Andere
Installation
Fehlerbehebung bei der Installation
Mitwirken
Lizenz
Probleme
Danksagungen
Vom ImSwitch OPT-Widget gestreamte Dateneingabe (Einzelheiten siehe ImSwitch-Dokumente)
Geladene Tomographieprojektionen als Datenstapel
Andere Stack-3D-Volumendatenformate
Kleine Beispieldaten, geladen über File -> Open Sample
Es stehen zwei wichtige globale Einstellungen zur Verfügung: Inplace-Operationen und Tracking .
Um Speicherplatz zu sparen, führt der Standardmodus Vorgänge am Bildstapel Inplace aus und schreibt den ursprünglichen Bildstapel neu. Wenn diese Option nicht ausgewählt ist, wird eine neue Ebene mit der geänderten Version des Bildes erstellt und dem Viewer hinzugefügt. Wenn Inplace-Vorgänge ausgewählt sind, wird die Tracking- Option im Widget verfügbar. Diese Option ermöglicht die Verfolgung des letzten am Stapel/Bild ausgeführten Vorgangs. Durch Drücken der Schaltfläche Undo wird der zuletzt am Bild ausgeführte Vorgang rückgängig gemacht. Es ist nur ein einmaliges Rückgängigmachen möglich.
Derzeit werden Bilder nach den Vorgängen beibehalten oder in numpy.int16 umgewandelt, mit Ausnahme der -log -Berechnung. Wir empfehlen dringend, den Vorgang in der Reihenfolge von oben nach unten und von links nach rechts auszuführen, wie sie im Widget angezeigt werden, da sonst die Wahrscheinlichkeit hoch ist, dass Ausnahmen oder unvorhersehbares Verhalten auftreten. Bitte reichen Sie ein Problem ein, wenn ein Teil der Widget-Logik für Ihre Pipelines repariert werden soll.

Transmissionsexperimente sollen in Annäherung an das Lambert-Beersche Gesetz quantitativ sein, das heißt, dass man anhand der Hell-Dunkel-Messung die Extinktion bzw. Transmission berechnen kann

, wobei I das gemessene Signal, die Hellfeldintensität und die Dunkelwerte sind.
Die Emission ist in der Regel alles andere als quantitativ, da die Färbekonzentration, Löscheffekte, Bleichung, Kalibrierung des Detektionspfads und Quantenausbeuten, um nur einige zu nennen, unbekannt sind.
Dunkelfeld-, Hellfeld- und Fehlerkorrekturen stehen in direktem Zusammenhang mit der Kameraerfassung. Die Intensitätskorrektur hingegen befasst sich mit der Instabilität der Lichtquelle. Das korrigierte Bild wird im Viewer unter Verwendung der ursprünglichen Bildkontrastgrenzen angezeigt. Möglicherweise müssen Sie die Kontrastgrenzen anpassen, um das Ergebnis der durchgeführten Korrektur effektiv sehen zu können.
Kombinationen von Dunkelfeld- und Hellfeldkorrekturen sind sowohl für Transmissions- als auch für Emissionsexperimente möglich. Der Benutzer muss die Experimentmodalität auswählen und dann entscheiden, ob nur eine Korrektur (entweder Dunkelfeld oder Hellfeld) oder beide einbezogen werden sollen. Sobald die Korrektur abgeschlossen ist, erscheint je nach Inplace- Einstellung entweder eine neue Ebene mit dem korrigierten Bild im Viewer oder die ursprüngliche Bildebene wird aktualisiert. Die Dunkelfeldkorrektur allein führt eine Subtraktion des dunklen Bildes ( int -Operation) von jedem Bild im Bildstapel durch. Es lohnt sich immer, sie anzuwenden. Dieser Vorgang ist unabhängig von der experimentellen Übertragungs- oder Emissionsmodalität derselbe.
Die Hellfeldkorrektur ist insbesondere bei Transmissionsexperimenten nützlich, um unterschiedliche Intensitäten des hellen Hintergrunds der Bilder zu korrigieren. Die helle Schicht kann auch zur Identifizierung toter Pixel verwendet werden. Bei alleiniger Anwendung werden Bilder nach Helligkeitsintensität geteilt ( float Division) und dann für den Fall des Transmissionsexperiments in numpy.int16 konvertiert. Für Emissionsdaten wird die Hellfeldintensität von jedem Bild im Stapel subtrahiert ( int -Operation).
Die gemeinsam durchgeführte Dunkel- und Hellfeldkorrektur wird für die Transmission berechnet
(image - dark) / (bright - dark)
, bei der es sich um float -Operation handelt, die anschließend in numpy.int16 umgewandelt wird.
Für die Emissionsdaten ist die kombinierte Dunkel- und Hellkorrektur, die auf das Emissionsexperiment angewendet wird, einfach
(image - dark) - (bright - dark) = image - bright
Weitere Erläuterungen zum Unterschied zwischen Übertragung und Emission finden Sie im obigen Abschnitt.
Die Pixelkorrektur ist sowohl für Hotpixel als auch für tote Pixel verfügbar. Sobald die Schaltfläche Bad pixel correction gedrückt wird, werden fehlerhafte Pixel identifiziert und der Benutzer kann wählen, ob sie diese entweder korrigieren oder als neue Ebene im Viewer anzeigen möchten.

Die Korrektur erfolgt durch Berücksichtigung der Werte benachbarter Pixel. Zur Korrektur stehen zwei Optionen zur Verfügung: n4 und n8. Die Option n4 verwendet die 4 benachbarten Pixel (oben, unten, links und rechts), während die Option n8 alle 8 benachbarten Pixel berücksichtigt. Wenn ein Nachbarpixel selbst ein fehlerhaftes Pixel ist, wird es bei der Korrektur nicht berücksichtigt. Der schlechte Pixelwert wird als mean der benachbarten Pixelwerte berechnet.
Nachdem die Korrekturen Dunkelfeld, Hellfeld und fehlerhafte Pixel angewendet wurden, ist es möglich, eine Intensitätskorrektur anzuwenden, um Lichtinhomogenitäten entlang des Stapels zu korrigieren, die durch die Instabilität der Beleuchtungsquelle entstehen. Der Benutzer wählt die Rechteckgröße und klickt auf die Schaltfläche Intensity correction . Der Durchschnitt der Pixel in vier Ecken des Bildes (mit einer Seite, die der Rechteckgröße entspricht) wird über den Stapel berechnet und ein korrigiertes Bild wird im Viewer angezeigt (wenn die Option „Inplace-Operationen“ nicht ausgewählt ist) oder das Originalbild aktualisiert werden. Zusätzlich wird ein Diagramm angezeigt, das die Intensitäten über den Stapel ( mean Intensität über die 4 rechteckigen Bereiche des Bildes) vor und nach der Intensitätskorrektur zeigt.

Wenn Sie das Fluoreszenz-Photobleichen korrigieren möchten, lesen Sie den nächsten Abschnitt.

Für jeden Winkel werden die mittleren Intensitätswerte entlang der Spalten berechnet und dann als Korrekturfaktoren verwendet, um die Intensitätswerte jeder Zeile in Bezug auf die erste Projektion zu dividieren. Sobald die Korrektur abgeschlossen ist, erscheint im Viewer ein Diagramm mit den berechneten Mittelwerten für jeden Winkel. Diese Funktion setzt voraus, dass der Stapel die Form (angles, rows, columns) hat.
Beachten Sie, dass diese Korrektur nicht die Schatteneffekte berücksichtigt, die in den Sinogrammen oben sichtbar sind, die von einer einzelnen Kamerareihe aufgenommen wurden. Das Fluoreszenzanregungslicht kommt in diesem Fall von rechts, daher weist die rechte Seite der Sinogame eine höhere FL-Intensität auf.
Ein Binning des Stapels ist möglich. Wählen Sie den Binning-Faktor und klicken Sie auf die Schaltfläche Bin Stack . Der zusammengefasste Stapel wird angezeigt und eine Benachrichtigung mit den ursprünglichen und neuen Stapelformen wird angezeigt. Die Form ist (height // bin_factor, width // bin _factor) , daher könnten Randpixel fehlen, wenn Ihre Bildabmessungen durch bin_factor nicht ermittelbar sind. Pixelwerte werden als mean der gruppierten Pixel berechnet und in numpy.int16 umgewandelt. Ein Binning-Faktor von 1 führt zu keiner Aktion.
Bei der Tomographie-Rekonstruktion kann die Auswahl des ROI die Rechenzeit des Rekonstruktionsalgorithmus erheblich verkürzen. Wählen Sie eine Points layer aus und fügen Sie einen Punkt hinzu, der die obere linke Ecke des ROI definiert. Von diesem Punkt aus werden width und height in Pixel vom Benutzer ausgewählt. Wenn mehr als ein Punkt hinzugefügt wird, wird nur der letzte Punkt für die ROI-Auswahl berücksichtigt.
Mit der -Log -Funktion des Widgets ist es möglich, den Logarithmus des Bildes zu berechnen, um Details in dunklen und hellen Bereichen besser sichtbar zu machen. Dies ist eine physikalisch begründete Transformation in Transmissionsexperimenten, da sie Zählwerte in Transmission umwandelt. Bei Emissionsmessungen handelt es sich lediglich um eine Transformation, um den Kontrast zur Visualisierung nichtlinear zu erhöhen.

Sie können napari-opt-handler über pip installieren:
pip install napari-opt-handler
So installieren Sie die neueste Entwicklungsversion:
pip install git+https://github.com/QBioImaging/napari-opt-handler.git
Beiträge sind herzlich willkommen. Tests können mit Tox ausgeführt werden. Bitte stellen Sie sicher, dass die Abdeckung mindestens gleich bleibt, bevor Sie eine Pull-Anfrage senden.
„napari-opt-handler“ wird unter den Bedingungen der BSD-3-Lizenz vertrieben und ist eine kostenlose Open-Source-Software
Viele Menschen haben zu diesem Projekt beigetragen. Die wichtigsten sind:
Giorgia Tortora und Andrea Bassi (Politecnico Mailand)
Teresa Correia (CCMAR-Algarve)
Wenn Sie auf Probleme stoßen, reichen Sie bitte ein Problem zusammen mit einer detaillierten Beschreibung ein.