Das Aufregendste an unserem Protokoll ist, dass es jedem Labor ermöglicht, diese Deep-Learning-Protokolle zur Segmentierung großer Mengen von Kryo-ET-Daten zu verwenden. Der Hauptvorteil unseres Workflows besteht darin, dass Dragonfly eine professionelle Rechenumgebung für das Training von neuronalen Netzen mit mehreren Klassen für die Segmentierung bietet, die Ihren Segmentierungsprozess wirklich dramatisch beschleunigen kann. Das Erlernen der Bildsegmentierung braucht Zeit, also stellen Sie sicher, dass Sie die Tools testen und die wichtigsten Bindungen lernen, um Ihren Workflow im Laufe der Zeit wirklich zu optimieren.
Fahren Sie nach dem Einrichten der Software mit dem Bildimport fort, indem Sie zu Datei gehen und Bilddateien importieren auswählen. Klicken Sie dann auf Hinzufügen, navigieren Sie zur Bilddatei, klicken Sie auf Öffnen, und wählen Sie Weiter aus, gefolgt von Fertig stellen. Erstellen Sie eine benutzerdefinierte Intensitätsskala, indem Sie zu Dienstprogramme gehen und den Dimensionseinheiten-Manager auswählen.
Klicken Sie unten links auf das Pluszeichen, um eine neue Dimensionseinheit zu erstellen. Wählen Sie ein Merkmal mit hoher und niedriger Intensität in allen Tomogrammen von Interesse. Geben Sie der Einheit einen Namen und eine Abkürzung und speichern Sie die benutzerdefinierte Dimensionseinheit.
Um Bilder auf die benutzerdefinierte Intensitätsskala zu kalibrieren, klicken Sie mit der rechten Maustaste auf das Dataset in der Spalte Eigenschaften auf der rechten Seite des Bildschirms und wählen Sie Intensitätsskala kalibrieren. Gehen Sie dann zur Hauptregisterkarte auf der linken Seite des Bildschirms und scrollen Sie nach unten zum Sondenbereich. Klicken Sie mit dem kreisförmigen Sondenwerkzeug mit einem geeigneten Durchmesser auf einige Stellen im Hintergrundbereich des Tomogramms, und notieren Sie die durchschnittliche Zahl in der Spalte "Rohintensität".
Wiederholen Sie diesen Vorgang für Passermarken und klicken Sie auf Kalibrieren. Passen Sie bei Bedarf den Kontrast an, um Strukturen mit dem Flächenwerkzeug im Bereich der Fensternivellierung auf der Hauptregisterkarte wieder sichtbar zu machen. Scrollen Sie auf der linken Seite der Hauptregisterkarte nach unten zum Bildbearbeitungsfenster.
Klicken Sie auf Erweitert und warten Sie, bis sich ein neues Fenster öffnet. Wählen Sie im Bedienfeld "Eigenschaften" den zu filternden Datensatz aus und machen Sie ihn sichtbar, indem Sie auf das Augensymbol links neben dem Datensatz klicken. Verwenden Sie als Nächstes das Dropdown-Menü im Bedienfeld "Operationen", um die Histogrammentzerrung für den ersten Vorgang auszuwählen.
Wählen Sie Operation hinzufügen aus, klicken Sie auf Gauß, und ändern Sie die Kernel-Dimension in 3D. Fügen Sie den dritten Vorgang hinzu, wählen Sie dann Unscharf und belassen Sie die Ausgabe für diesen. Wenden Sie die Entzerrung auf alle Slices an, lassen Sie die Filterung laufen, schließen Sie dann das Bildverarbeitungsfenster, um zur Hauptschnittstelle zurückzukehren.
Um den Trainingsbereich zu identifizieren, gehen Sie zum Bereich "Dateneigenschaften", indem Sie zuerst den ungefilterten Datensatz ausblenden, indem Sie auf das Augensymbol links daneben klicken. Zeigen Sie dann den neu gefilterten Datensatz an. Identifizieren Sie mithilfe des gefilterten Datasets einen Teilbereich des Tomogramms, der alle interessierenden Merkmale enthält.
Erstellen Sie nun ein Feld um die Region von Interesse, indem Sie nach unten zur Kategorie "Formen" scrollen und auf der linken Seite der Hauptregisterkarte "Feld erstellen" auswählen. Verwenden Sie im Bereich mit vier Ansichten die verschiedenen 2D-Ebenen, um die Kanten des Felds zu führen oder zu ziehen, um nur den interessierenden Bereich in allen Dimensionen einzuschließen. Wählen Sie in der Datenliste den Feldbereich aus und ändern Sie die Rahmenfarbe zur einfacheren Anzeige, indem Sie auf das graue Quadrat neben dem Augensymbol klicken.
Um einen Multi-ROI zu erstellen, wählen Sie die Registerkarte Segmentierung aus, klicken Sie auf der linken Seite auf Neu und aktivieren Sie Als Multi-ROI erstellen. Stellen Sie sicher, dass die Anzahl der Klassen der Anzahl der interessierenden Features zuzüglich einer Hintergrundklasse entspricht. Benennen Sie die Trainingsdaten mit mehreren ROIs, und stellen Sie sicher, dass die Geometrie dem Datensatz entspricht, bevor Sie auf OK klicken. Scrollen Sie dann durch die Daten, bis Sie sich innerhalb der Grenzen des eingerahmten Bereichs befinden.
Wählen Sie den Multi-ROI im Menü Eigenschaften auf der rechten Seite aus. Doppelklicken Sie auf den ersten leeren Klassennamen im Multi-ROI, um ihn zu benennen. Um mit dem 2D-Pinsel zu malen, scrollen Sie auf der Registerkarte Segmentierung auf der linken Seite nach unten zu 2D-Werkzeuge und wählen Sie einen kreisförmigen Pinsel aus.
Wählen Sie dann Adaptive Gauß oder Lokale OTSU aus dem Dropdown-Menü, malen Sie, indem Sie die linke Strg-Taste plus Klick gedrückt halten, und löschen, indem Sie die linke Umschalttaste gedrückt halten. Nachdem alle Strukturen beschriftet wurden, klicken Sie mit der rechten Maustaste auf die Hintergrundklasse im Multi-ROI und wählen Sie Alle unbeschrifteten Voxel zur Klasse hinzufügen. Erstellen Sie als Nächstes einen neuen ROI mit einer Klasse und dem Namen Mask.
Stellen Sie sicher, dass die Geometrie auf den gefilterten Datensatz festgelegt ist, und klicken Sie dann auf Übernehmen. Klicken Sie auf der Registerkarte Eigenschaften auf der rechten Seite mit der rechten Maustaste auf das Feld, wählen Sie Zum ROI hinzufügen aus, und fügen Sie es dem ROI der Maske hinzu. Um die Trainingsdaten mithilfe der Maske zu trimmen, gehen Sie zur Registerkarte Eigenschaften und wählen Sie sowohl die Trainingsdaten, den Multi-ROI als auch den Masken-ROI aus, indem Sie die Strg-Taste gedrückt halten und jeweils darauf klicken.
Klicken Sie anschließend unter der Liste der Dateneigenschaften im Abschnitt Boolesche Vorgänge auf Überschneiden. Benennen Sie das neue Dataset als gekürzte Trainingseingabe, und stellen Sie sicher, dass die Geometrie dem gefilterten Dataset entspricht, bevor Sie auf OK klicken. Importieren Sie die Trainingsdaten in den Segmentierungs-Assistenten, indem Sie auf der Registerkarte Eigenschaften mit der rechten Maustaste auf das gefilterte Dataset klicken und die Option Segmentierungs-Assistent auswählen. Sobald sich ein neues Fenster öffnet, suchen Sie auf der rechten Seite nach der Registerkarte Eingabe.
Klicken Sie auf Frames aus einem Multi-ROI importieren und wählen Sie die Eingabe "Getrimmtes Training" aus. Um ein neues neuronales Netzwerkmodell zu generieren, klicken Sie auf die Plus-Schaltfläche auf der rechten Seite auf der Registerkarte des Modells. Wählen Sie U Net aus der Liste aus, wählen Sie 2,5 D und fünf Segmente als Eingabedimension aus, und klicken Sie dann auf Generieren.
Um das Netzwerk zu trainieren, klicken Sie unten rechts im Seg Wiz-Fenster auf Trainieren. Verwenden Sie nach Abschluss des Einheitentrainings das trainierte Netzwerk, um neue Frames zu segmentieren, einen neuen Frame zu erstellen und auf Vorhersagen zu klicken. Klicken Sie dann auf den Aufwärtspfeil oben rechts im vorhergesagten Frame, um die Segmentierung auf den realen Frame zu übertragen.
Um die Vorhersage zu korrigieren, klicken Sie bei gedrückter Strg-Taste auf zwei Klassen, um die segmentierten Pixel der einen in die andere zu ändern. Wählen Sie beide Klassen aus und malen Sie mit dem Pinsel, um nur Pixel zu malen, die zu einer der beiden Klassen gehören. Korrigieren Sie die Segmentierung in mindestens fünf neuen Frames.
Klicken Sie für iteratives Training erneut auf die Schaltfläche Trainieren und lassen Sie das Netzwerk für weitere 30 bis 40 weitere Epics weiter trainieren. Beenden Sie an dieser Stelle das Training und beginnen Sie eine weitere Trainingsrunde. Wenn Sie mit der Leistung des Netzwerks zufrieden sind, veröffentlichen Sie das Netzwerk, indem Sie den Segmentierungs-Assistenten beenden.
Es öffnet sich ein Dialogfeld, in dem Sie gefragt werden, welche Modelle veröffentlicht werden sollen. Wählen Sie das erfolgreiche Netzwerk aus, benennen Sie es, und veröffentlichen Sie es, um das Netzwerk für die Verwendung außerhalb des Segmentierungs-Assistenten verfügbar zu machen. Wählen Sie zunächst den gefilterten Datensatz im Eigenschaftenpanel aus, der auf das Trainingstomogramm angewendet werden soll.
Scrollen Sie im Bereich Segmentierung auf der linken Seite nach unten zum Abschnitt Segment mit KI. Stellen Sie sicher, dass der richtige Datensatz ausgewählt ist. Wählen Sie im Dropdown-Menü das kürzlich veröffentlichte Modell aus und klicken Sie dann auf Segment, gefolgt von Alle Segmente.
Um es auf einen Inferenzdatensatz anzuwenden, importieren Sie das neue Tomogramm und verarbeiten Sie es wie zuvor gezeigt. Wechseln Sie im Segmentierungsbereich zum Abschnitt Segment mit KI. Stellen Sie sicher, dass das neu gefilterte Tomogramm dem ausgewählten Datensatz entspricht, wählen Sie das zuvor trainierte Modell aus, klicken Sie auf das Segment, und wählen Sie Alle Segmente aus.
Bereinigen Sie das Rauschen schnell, indem Sie zuerst eine der Klassen auswählen, die das Rauschen und das interessierende Feature segmentiert haben. Klicken Sie dann mit der rechten Maustaste auf Prozessinseln, wählen Sie Nach Voxelanzahl entfernt aus, und klicken Sie dann auf Voxelgröße auswählen. Beginnen Sie mit kleinen Zählungen und erhöhen Sie die Anzahl schrittweise, um den größten Teil des Rauschens zu entfernen.
Klicken Sie zur Segmentierungskorrektur bei gedrückter Strg-Taste auf zwei Klassen, um Pixel zu zeichnen, die nur zu diesen Klassen gehören. Klicken Sie bei gedrückter Strg-Taste und ziehen Sie mit den Segmentierungswerkzeugen, um Pixel der zweiten Klasse in die erste zu ändern, und klicken Sie bei gedrückter Umschalttaste plus Ziehen, um das Gegenteil zu erreichen. Eine Fünf-Schicht-Einheit wurde auf einem einzigen Tomogramm trainiert und eine Handsegmentierung wurde für den Trainingsinput durchgeführt.
Die 2D-Segmentierung aus dem Gerät nach abgeschlossenem Training wird angezeigt. Das 3D-Rendering der segmentierten Regionen zeigt Membran, Mikrotubuli und Aktinfilamente. DIV 5 Hippocampus-Rattenneuronen aus der gleichen Sitzung wie das Trainingstomogramm werden gezeigt.
2D-Segmentierung aus dem Gerät ohne zusätzliche Schulung in der schnellen Reinigung von Membran, Mikrotubuli, Aktin und Passermarken. Das 3D-Rendering der segmentierten Regionen wurde ebenfalls visualisiert. DIV 5 Hippocampus-Rattenneuron aus einer früheren Sitzung wurde ebenfalls beobachtet.
Eine 2D-Segmentierung aus dem Gerät mit schneller Bereinigung und 3D-Rendering wurde ebenfalls durchgeführt. Das Hippocampus-Rattenneuron DIV 5 wurde auch auf einem anderen Titan Krios mit einer anderen Vergrößerung beobachtet. Die Pixelgröße wurde mit dem IMOD-Programm Squeeze Vault geändert, um dem Trainingstomogramm zu entsprechen.
Die 2D-Segmentierung aus der Einheit mit schneller Bereinigung demonstriert eine robuste Inferenz über Datensätze hinweg mit ordnungsgemäßer Vorverarbeitung, und es wurde ein 3D-Rendering der Segmentierung durchgeführt. Die identische Vorverarbeitung der Daten und die Kalibrierung der Histogramme sind definitiv die wichtigsten Schritte für eine ordnungsgemäße Netzwerkinferenz. Sobald die Position der Moleküle im Tomogramm bekannt ist, ist es in Dragonfly wirklich trivial, quantitative Messungen zu berechnen oder Koordinaten zu berechnen und diese in eine Sub-Tomogramm-Mittelungspipeline einzuspeisen.
Wir fangen gerade erst an, die Auswirkungen von Deep Learning auf die Kryo-ET-Bildanalyse zu sehen, aber dies ist nur ein weiterer Bereich, in dem es wirklich vielversprechend ist.