Ein Abonnement von JoVE ist erforderlich, um diesen Inhalt anzuzeigen. Melden Sie sich an oder beginnen Sie noch heute mit einer kostenlosen Testphase.

Methodenartikel

Automatisierte quantitative Analyse der pulmonalen Gefäße bei angeborenem Zwerchfellbruch mittels Deep Learning

112 Ansichten

DOI:

10.3791/70428

8. Mai 2026

In diesem Artikel

Zusammenfassung

Dieses Protokoll beschreibt eine vollständig automatisierte Deep-Learning-Pipeline zur Segmentierung und Analyse der pulmonalen Gefäße in neonatalen CT-Scans. Die Methode ermöglicht eine quantitative morphometrische Bewertung der vaskulären Entwicklung bei angeborenen Zwerchfellhernien (CDH) und Kontrollpersonen und unterstützt eine nicht-invasive Charakterisierung der pulmonalen Hypoplasie und der vaskulären Unterentwicklung.

Zusammenfassung

Der angeborene Zwerchfellbruch (CDH) ist durch pulmonale Hypoplasie und vaskuläre Unterentwicklung gekennzeichnet, was zu beeinträchtigtem Gasaustausch und hoher neonataler Sterblichkeit führt. Eine genaue und quantitative Bewertung der pulmonalen Gefäße ist entscheidend für das Verständnis des Krankheitsschweres, aber die manuelle Segmentierung dreidimensionaler Gefäßnetze in medizinischen Bildern ist zeitaufwendig und vom Bediener abhängig.

Dieses Protokoll stellt eine vollständig automatisierte, auf Deep-Learning-Basis basierende Methode für die Segmentierung der Lungengefäße und morphometrische Analyse unter Verwendung postnataler Computertomographie (CT)-Scans vor. Die Pipeline umfasst standardisierte Vorverarbeitungsschritte – Umstellung auf Hounsfield-Einheiten, Fenstern, isotrope Neubeschaffung und kontrastbegrenzte adaptive Histogrammequalizierung (CLAHE) – um Bilddaten zu normalisieren und die vaskuläre Sichtbarkeit zu verbessern. Eine U-Net Convolutional Neural Network (CNN)-Architektur wird dann trainiert, um die pulmonale Gefäße zu segmentieren, gefolgt von einem dreidimensionalen Skelettierungsalgorithmus zur Quantifizierung morphometrischer Parameter wie Astzahl, mittlere Astlänge und Generationstiefe.

Repräsentative Ergebnisse zeigen, dass das vorgeschlagene Modell eine hohe Segmentierungsgenauigkeit erreicht, wobei die Transfer-Learning-Konfiguration die beste Leistung liefert. Eine quantitative morphometrische Analyse zeigt eine deutlich reduzierte vaskuläre Komplexität bei CDH im Vergleich zu Kontrolllungen, was mit den bekannten pathologischen Merkmalen der pulmonalen Hypoplasie übereinstimmt.

Dieser automatisierte Ansatz ermöglicht eine reproduzierbare, quantitative und nicht-invasive Bewertung der pulmonalen Gefäßmorphologie bei CDH. Die Methode kann an andere bildgebende Modalitäten angepasst und auf Studien zur Entwicklung der fetalen und neonatalen Lunge angewandt werden, was die translationale Forschung und die zukünftige klinische Integration erleichtert.

Einleitung

Der angeborene Zwerchfellbruch (CDH) ist eine lebensbedrohliche angeborene Anomalie, die durch einen Zwerchfelldefekt gekennzeichnet ist und zu einem Herniation der Bauchgeweide in Thorax 1,2 führt. Diese körperliche Kompression beeinträchtigt die Lungenentwicklung stark und führt zu pulmonaler Hypoplasie und anhaltender pulmonaler Hypertonie (PPHN), die die Hauptursachen für Morbidität und Mortalität sind. Neben pulmonaler Hypoplasie und vaskulärer Unterentwicklung haben auch eine beeinträchtigte Herzentwicklung und ventrikuläre Dysfunktion die klinischen Ergebnisse bei Neugeborenen mit CDH signifikant beeinflusst. Die zugrundeliegende Pathophysiologie beinhaltet eine abnormale Entwicklung beider Atemwege und des pulmonalen Gefäßbetts, was zu einer reduzierten Anzahl von Gefäßen, einer erhöhten Muskelbildung der Arteriolen und folglich zu erhöhtem Gefäßwiderstandführt. Objektive und quantitative Biomarker sind erforderlich, um das Risiko genau zu stratifizieren, Interventionen zu steuern und die Behandlungsansprache bei CDH-Patientenzu überwachen. Ein entscheidender Aspekt dieser Untersuchung ist die detaillierte Analyse der pulmonalen Gefäße, die Einblicke in das Ausmaß der pulmonalen Hypoplasie und die funktionelle Kapazität der Lunge geben kann. Fortschritte in der Bildgebungstechnik, insbesondere der Computertomographie (CT), haben unsere Fähigkeit verbessert, die pulmonale Gefäße im Detail zu visualisieren und zu quantifizieren 6,7.

Während die postnatale Computertomographie (CT) hochauflösende anatomische Details der Lunge liefert, bleibt die Analyse des komplexen pulmonalen Gefäßbaums eine Herausforderung. Bestehende Methoden zur vaskulären Segmentierung basieren oft auf traditionellen Bildverarbeitungstechniken, die erhebliche manuelle Eingriffe erfordern, anfällig für Bildartefakte sind und möglicherweise nicht robust gegen die schweren anatomischen Verzerrungen in CDH 7,8,9,10 sind. Deep Learning, insbesondere konfaltionelle neuronale Netze (CNNs) wie die U-Net-Architektur, hat bemerkenswerte Erfolge bei der automatisierten Segmentierung medizinischer Bilder erzielt. Viele bestehende Modelle werden jedoch an gesunden Probanden oder anderen Krankheitskontexten trainiert, wodurch ihre Anwendbarkeit auf angeborene Anomalien wie CDH10, 11, 12, 13 begrenzt wird.

Trotz dieser Fortschritte gibt es weiterhin erhebliche Lücken in der Literatur. Viele Studien konzentrierten sich auf gesunde Personen oder spezifische Lungenerkrankungen, mit begrenzter Aufmerksamkeit auf angeborene Anomalien wieCDH-12. Außerdem haben Deep-Learning-Modelle zwar eine verbesserte Leistung gezeigt, benötigen aber oft große, annotierte Datensätze für das Training, die für seltene Bedingungen wie CDH nicht immer verfügbar sind. Darüber hinaus haben bestehende Modelle die Herausforderung, verschiedene Typen von Lungengefäßen (z. B. Arterien und Venen) bei schweren anatomischen Verzerrungen durch CDH zu unterscheiden, nicht vollständig adressiert. Diese Einschränkung unterstreicht die Notwendigkeit weiterer Forschung, um robustere Modelle zu entwickeln, die die Lungengefäße bei CDH-Patienten präzise segmentieren und analysieren können.

Diese Studie zielt darauf ab, diese Lücken zu schließen, indem ein vollständig automatisiertes Deep-Learning-Framework entwickelt und validiert wird, um die pulmonale Gefäße zu segmentieren und quantitative morphometrische Merkmale aus CT-Scans zu extrahieren. Eine zentrale Innovation unseres Ansatzes ist das Training unseres Modells auf einem kombinierten Datensatz von CDH- und Kontrollpatienten, wodurch es eine robuste Darstellung sowohl normaler als auch pathologischer Gefäßmuster erlernen kann. Obwohl die CT-Bildgebung ionisierende Strahlung beinhaltet, was sie für routinemäßige Längsscreenings ungeeignet macht, dient diese Studie als entscheidender Konzeptnachweis. Das Hauptziel dieser Studie ist es, festzustellen, dass eine automatisierte radiologische Quantifizierung der Gefäßstruktur machbar ist und CDH-Patienten zuverlässig von Kontrollgruppen unterscheiden kann. Der Erfolg in diesem Bereich liefert die notwendige Validierung, um diesen quantitativen Rahmen für strahlenfreie Bildverfahren wie die Magnetresonanztomographie (MRT) für zukünftige klinische Anwendungen anzupassen.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Protokoll

Alle Verfahren mit menschlichen Teilnehmern wurden gemäß den Richtlinien des ethischen Ausschusses für institutionelle Forschung durchgeführt und vom Institutional Review Board (IRB #2017-6361) genehmigt. Die Studie wurde in Übereinstimmung mit den geltenden regulatorischen Standards durchgeführt. Patientendaten wurden rückwirkend erhoben und vor der Analyse deidentifiziert. Ein Überblick über das entwickelte System ist in Abbildung 1 dargestellt.

1. Bildvorverarbeitung

  1. Laden Sie Roh-CT-Scans von Neugeborenen im DICOM-Format in die Arbeitsumgebung.
    1. Öffnen Sie die Software zur medizinischen Bildanalyse und erstellen Sie einen neuen Projektarbeitsbereich.
    2. Klicken Sie auf Datei > Importieren > DICOM-Serie .
    3. Navigieren Sie zu dem Ordner mit dem neonatalen thorakalen CT-Scan im DICOM-Format und wählen Sie die vollständige Bildserie aus.
    4. Überprüfen Sie, dass alle Schnitte in der Serie korrekt erkannt und anhand der Erfassungsmetadaten (z. B. Instanznummer) geordnet sind.
    5. Bestätigen Sie Bildmaße, Voxelabstand und Schnittdicke im Metadaten-Panel, um Konsistenz über alle Scans hinweg zu gewährleisten.
    6. Laden Sie die Serie in den Arbeitsbereich und inspizieren Sie die axialen, koronalen und sagittalen Ansichten visuell, um die korrekte Ausrichtung und das Fehlen von Belastungsfehlern zu bestätigen.
  2. Konvertiere DICOM-Dateien mit Open-Source-Software in das NIfTI-Format, um die Manipulation und Analyse zu erleichtern.
    1. Öffnen Sie ein Terminalfenster innerhalb der wissenschaftlichen Rechenumgebung.
    2. Navigiere mit dem Befehl cd zum Verzeichnis mit der DICOM-Image-Serie.
    3. Führen Sie das DICOM-zu-NIfTi-Konvertierungstool mit folgender Befehlsstruktur aus: dcm2niix -z y -f output_filename -o /output_directory /input_directory
    4. Stellen Sie sicher, dass die Kompression (-z y) aktiviert ist, um eine komprimierte .nii.gz-Datei zu erzeugen.
    5. Überprüfen Sie, dass die Ausgabedatei im angegebenen Ausgabeverzeichnis erfolgreich generiert wurde.
    6. Öffnen Sie die konvertierte NIfTI-Datei in einem medizinischen Bildbetrachter und inspizieren Sie axiale, koronale und sagittale Ebenen visuell, um die korrekte räumliche Ausrichtung und Bildintegrität zu bestätigen.
    7. Überprüfen Sie vor der Vorverarbeitung den Voxelabstand und die Bildmaße, um die Konsistenz über alle Motive zu gewährleisten.
  3. Konvertiere Bildintensitäten in Hounsfield-Einheiten (HU) mithilfe scannerspezifischer Metadaten oder Standardformeln.
    1. Extrahiere die DICOM-Metadatenparameter Rescale Slope und Rescale Intercept aus dem Bildheader für jeden Scan.
    2. Für jeden Voxel-Intensitätswert (I_raw) wird die entsprechende Hounsfield-Einheit (HU) mit folgender Formel berechnet: HU = (I_raw × Reskalierungsneigung) + Reskalierungs-Intercept.
    3. Wenden Sie die Umwandlung auf das gesamte 3D-Bildvolumen an, indem Sie elementweise Matrixoperationen innerhalb der wissenschaftlichen Rechenumgebung verwenden.
    4. Bestätigen Sie die korrekte Umwandlung, indem Sie überprüfen, dass Luftregionen etwa −1000 HU betragen und Weichteilregionen innerhalb erwarteter physiologischer Bereiche liegen.
    5. Speichere das konvertierte Volume als neue NIfTI-Datei, um die Originaldaten zu erhalten.
  4. Wenden Sie Windowing auf, um die Lunge und das Weichgewebe hervorzuheben. Stellen Sie die Fensterstufe (WL) auf -400 HU und die Fensterbreite (WW) auf 1500 HU ein.
    1. Öffnen Sie die konvertierte NIfTI-Datei in der Bildvisualisierungssoftware.
    2. Navigiere zum Bilddisplay oder zur Intensitätseinstellung.
    3. Wählen Sie die Option Fenster-/Level-Einstellung .
    4. Stellen Sie manuell den Fenster-Level (WL) -Wert auf -400 Hounsfield-Einheiten (HU) ein.
    5. Setze den Fensterbreitenwert (WW) auf 1500 HU.
    6. Bestätigen und wenden Sie die Einstellungen an, um die Bild-Visualisierung zu aktualisieren.
    7. Überprüfen Sie, ob Lungenparenchymen und Lungengefäße klar von Knochen- und Mediastinalstrukturen zu unterscheiden sind, bevor Sie mit weiteren Vorverarbeitungsschritten fortfahren.
  5. Führen Sie isotrope Neubeprobung durch, um sicherzustellen, dass die Voxelmaße einheitlich sind (z. B. 1 mm × 1 mm × 1 mm) mittels trilinearer Interpolation.
    1. Laden Sie das NIfTI-Image mithilfe einer medizinischen Bildverarbeitungsbibliothek in die Python-Umgebung.
    2. Extrahiere den ursprünglichen Voxel-Abstand aus den Metadaten des Bildheaders.
    3. Definieren Sie den Zielisotropen Abstand als (1,0, 1,0, 1,0) mm.
    4. Berechnen Sie die neuen Bilddimensionen mit der Formel: new_size = original_size × (original_spacing / target_spacing)
    5. Initialisieren Sie ein Resampling-Objekt.
    6. Setze die Interpolationsmethode auf trilineare Interpolation.
    7. Ordne den Zielvoxelabstand zu (1,0 mm × 1,0 mm × 1,0 mm).
    8. Setzen Sie die berechnete neue Bildgröße ein.
    9. Bewahren Sie die Metadaten der ursprünglichen Bildrichtung und des Ursprungs.
    10. Führen Sie die Neubeschaffung aus.
    11. Speichere das neu abgetastete Bild im NIfTI-Format für nachfolgende Vorverarbeitungsschritte.
    12. Überprüfen Sie den isotropen Abstand, indem Sie die aktualisierten Voxel-Maße im Bildheader überprüfen, bevor Sie fortfahren.
  6. Wenden Sie die kontrastbegrenzte adaptive Histogramm-Equalizierung (CLAHE) an, um den Kontrast zu verbessern und die Sichtbarkeit von Gefäßstrukturen zu verbessern.
    1. Importiere die erforderliche Bildverarbeitungsbibliothek in die Python-Umgebung.
    2. Wandeln Sie das neu abgetastete 3D-CT-Volumen bei Bedarf in ein 8-Bit-Graustufenformat um, wobei lineare Intensitätsnormierung verwendet wird, um den ausgewählten HU-Bereich auf 0–255 abzubilden.
    3. Verarbeiten Sie das CT-Volumen Scheibe für Scheibe in der Axialebene, um CLAHE in 2D anzuwenden.
    4. Initialisieren Sie das CLAHE-Objekt mit den folgenden Parametern: clipLimit = 2.0, tileGridSize = (8, 8).
    5. Für jeden axialen Schnitt wenden Sie die CLAHE-Funktion an, um den lokalen Kontrast zu verbessern.
    6. Rekonstruiere die verarbeiteten Schnitte nach der Anwendung von CLAHE wieder in einem 3D-Volume.
    7. Speichern Sie das kontrastverstärkte Volumen im NIfTI-Format für die spätere Segmentierung.
    8. Überprüfen Sie visuell vorher, dass Lungengefäße besser vom umgebenden Parenchym unterscheidbar sind, ohne übermäßige Lärmverstärkung.
  7. Inspizieren Sie visuell eine Teilmenge der vorverarbeiteten Bilder, um Qualität und Konsistenz im gesamten Datensatz sicherzustellen.
    1. Wählen Sie zufällig mindestens 10 % des gesamten Datensatzes für die manuelle Qualitätsbewertung aus.
    2. Öffnen Sie jeden ausgewählten vorbearbeiteten Volume im medizinischen Bildanzeiger.
    3. Untersuchen Sie axiale, koronale und sagittale Ebenen, um Folgendes zu überprüfen: Korrekte räumliche Ausrichtung; Abwesenheit von Abschneidungsartefakten; Korrekte Anwendung von Fensterparametern; Erfolgreiche isotrope Neubeprobung (gleichmäßiger Voxelabstand); Angemessene Kontrastverstärkung nach CLAHE.
    4. Bestätigen Sie, dass Lungengefäße klar von benachbarten Parenchymalstrukturen unterscheidbar sind, ohne übermäßige Lärmverstärkung.
    5. Vergleichen Sie vorverarbeitete Bilder mit originalen HU-konvertierten Volumina, um sicherzustellen, dass Vorverarbeitungsschritte keine Verzerrungen oder anatomischen Inkonsistenzen verursachen.
    6. Dokumentieren Sie etwaige Vorverarbeitungsfehler und wiederholen Sie die Vorverarbeitung bei Bedarf für betroffene Fälle.

2. Manuelle Annotation

  1. Wählen Sie eine repräsentative Teilmenge der CT-Scans sowohl von Kontroll- als auch von CDH-Patienten aus, die für die manuelle Annotation verwendet werden. Sicherstellen Sie eine ausgewogene Verteilung der anatomischen Variabilität.
    1. Identifizieren Sie alle geeigneten vorbearbeiteten CT-Scans sowohl von Kontroll- als auch CDH-Kohorten.
    2. Scans mit schweren Bewegungsartefakten oder unvollständiger Lungenabdeckung werden ausgeschlossen.
    3. Wählen Sie zufällig eine vordefinierte Anzahl von Fällen aus jeder Gruppe aus, um eine ausgewogene Darstellung zu gewährleisten.
    4. Stellen Sie sicher, dass Fälle mit einer Bandbreite anatomischer Variabilität auftreten, einschließlich Unterschieden im Lungenvolumen, der Gefäßdichte und der Schweregrad der mediastinalen Verschiebung.
    5. Bestätigen Sie, dass ausgewählte CDH-Fälle unterschiedliche Grade von pulmonaler Hypoplasie darstellen, sofern vorhanden.
    6. Dokumentieren Sie die ausgewählten Fallkennungen, bevor Sie mit der manuellen Annotation fortfahren.
  2. Laden Sie die vorverarbeiteten NIfTI-Bilder in ein 3D-medizinisches Bildannotationswerkzeug.
    1. Öffnen Sie die 3D-Software zur medizinischen Bildannotation.
    2. Erstellen Sie ein neues Projekt oder eine Segmentierungssitzung.
    3. Klicken Sie auf Datei > Bild öffnen (oder eine entsprechende Importoption).
    4. Navigiere zum Verzeichnis mit der vorverarbeiteten NIfTI-Datei (.nii oder .nii.gz) und wähle das Image aus.
    5. Bestätigen Sie die erfolgreiche Belastung, indem Sie die korrekte Bildausrichtung in axialen, koronalen und sagittalen Ansichten überprüfen.
    6. Passe die Anzeigeeinstellungen bei Bedarf an, um die Visualisierung zu optimieren.
    7. Erstelle ein neues Segmentierungslabel oder eine Maskenschicht, um manuelle vaskuläre Annotationen zu speichern.
    8. Speichere die Projektdatei, bevor du eine manuelle Annotation startest.
  3. Mit axialen, koronalen und sagittalen Ansichten segmentieren Sie die pulmonale Gefäße manuell, indem Sie Gefäßstrukturen in jedem relevanten Schnitt umrissen.
    1. Aktivieren Sie die in Schritt 2.2 erstellte Segmentierungslabel-Schicht.
    2. Wählen Sie das manuelle Zeichen- oder Pinselwerkzeug in der Annotationssoftware aus.
    3. Passen Sie die Pinselgröße dynamisch entsprechend dem Gefäßdurchmesser an, um eine genaue Grenzzeichnung zu gewährleisten.
    4. Unter Verwendung axialer Schnitte als primäre Referenzebene zeichnen Sie manuell sichtbare pulmonale Gefäßstrukturen, einschließlich arterieller und venöser Zweige.
    5. Nicht-vaskuläre Strukturen wie Bronchien, Atemwegswände und mediastinales Gewebe werden ausgeschlossen.
    6. Scrollen Sie Schnitt für Schnitt durch das gesamte Lungenvolumen, um eine kontinuierliche Annotation jedes Gefäßteils sicherzustellen.
    7. Kreuzvalidieren Sie jede annotierte Region in koronalen und sagittalen Ansichten, um die anatomische Konsistenz zu bestätigen und Diskontinuitäten zu vermeiden.
    8. Schiffe bis auf die kleinsten visuell erkennbaren Äste einbeziehen, wobei Übersegmentierung von Lärmartefakten vermieden wird.
    9. Erstellen Sie periodisch eine 3D-Vorschau der Segmentierung, um die räumliche Kontinuität des Gefäßbaums zu überprüfen.
    10. Speichern Sie die fertige Segmentierungsmaske im NIfTI-Format, bevor Sie mit dem Modelltraining beginnen.
  4. Annotieren Sie nur die Lungengefäße, ausgenommen Herz, Bronchien und wichtige nicht-pulmonale Strukturen.
    1. Identifizieren Sie Lungenarterien und Venen im Lungenparenchym mit axialen Schnitten als Hauptreferenz.
    2. Dazu gehören intraparenchymale Gefäßäste, die von den Hauptpulmonalarterien ausgehen und distal innerhalb der Lungenfelder verlaufen.
    3. Ausgeschlossen sind Herzkammern, Vorhöfe, Herzkammern und große Gefäße.
    4. Atemwegsstrukturen, einschließlich Bronchien und Bronchialwände, schließen Sie aus, indem Sie sie anhand von Gefäßen aufgrund von Morphologie und Luminaleigenschaften unterscheiden.
    5. Vermeiden Sie es, mediastinale Weichteile, Pleura und Brustwandstrukturen zu beschriften.
    6. Verwenden Sie multiplanare Ansichten (axial, koronal, sagittal), um zu bestätigen, dass annotierte Strukturen der erwarteten vaskulären Kontinuität und Verzweigungsmustern folgen.
    7. Wenn die Unterscheidung zwischen Gefäß und Atemwegen unsicher ist, überprüfen Sie die Kontinuität über benachbarte Schnitte, um die Gefäßbahn vor der Markierung zu bestätigen.
    8. Führen Sie eine abschließende 3D-Darstellung des segmentierten Volumens durch, um sicherzustellen, dass nur der pulmonale Gefäßbaum einbezogen wurde.
  5. Wenn möglich, konsultieren Sie klinische Bildgebende Experten, um mehrdeutige Bereiche während der Annotation zu validieren.
    1. Identifizieren Sie Bereiche, in denen Gefäßgrenzen aufgrund geringer Kontraste, anatomischer Verzerrung oder Nähe zu Bronchien oder mediastinalen Strukturen unsicher sind.
    2. Markiere diese Bereiche in der Annotationssoftware mit einem temporären Label- oder Kommentar-Tool.
    3. Präsentieren Sie die markierten Bereiche einem klinischen Bildgebungsexperten.
    4. Überprüfen Sie die axialen, koronalen und sagittalen Ansichten gemeinsam, um festzustellen, ob die Struktur eine pulmonale Gefäßstruktur darstellt.
    5. Modifizieren Sie die Segmentierungsmaske basierend auf Expertenkonsens.
    6. Dokumentieren Sie alle korrigierten Bereiche, bevor Sie die Ground-Truth-Maske finalisieren.
  6. Führen Sie Inter-Rater-Validierung durch, indem mindestens zwei unabhängige Annotatoren jede Segmentierung überprüfen und verfeinern. Im Falle von Meinungsverschiedenheiten sollten Sie durch Diskussion oder Schiedsverfahren einen Konsens erzielen.
    1. Weisen Sie jedem ausgewählten CT-Scan zwei unabhängigen Annotatoren mit Erfahrung in der thorakalen Bildgebung zu.
    2. Stellen Sie sicher, dass Annotatoren die Segmentierung unabhängig durchführen und die Ergebnisse des jeweils anderen blind sehen.
    3. Nach Abschluss der unabhängigen Annotationen werden die Segmentierungsmasken mit einer quantitativen Überlappungsmetrik (z. B. Würfel-Ähnlichkeitskoeffizient) verglichen.
    4. Identifizieren Sie Unstimmigkeitsbereiche durch Berechnung voxelweiser Unterschiede zwischen Masken.
    5. Untersuchen Sie unterschiedliche Regionen gemeinsam in axialen, koronalen und sagittalen Ebenen.
    6. Erreichen Sie einen Konsens durch strukturierte Diskussionen.
    7. Wenn Meinungsverschiedenheiten bestehen, sollten Sie einen dritten leitenden Gutachter als Schlichter für die endgültige Entscheidung einschalten.
    8. Speichern Sie die Konsenssegmentierungsmaske als endgültiges Ground-Truth-Label für das Modelltraining.
  7. Speichere die kommentierten Gefäßmasken in derselben Auflösung und im gleichen Raum wie die ursprünglichen CT-Bilder. Speichere sie im NIfTI-Format mit konsistenten Namenskonventionen.
    1. Stellen Sie sicher, dass die endgültige Konsenssegmentierungsmaske als binäre Label-Abbildung gespeichert wird, bei der vaskuläre Voxel einen Wert von 1 und Hintergrundvoxeln einen Wert von 0 erhalten.
    2. Bestätigen Sie, dass die Segmentierungsmaske denselben Voxelabstand, Bilddimensionen, Ursprung und Orientierungsmatrix wie das entsprechende vorverarbeitete CT-Bild beibehält.
    3. Exportieren Sie die Segmentierungsmaske im NIfTI-Format (.nii oder .nii.gz) mit der Exportfunktion der Annotationssoftware.
    4. Verwenden Sie eine konsistente Namenskonvention, die wie folgt strukturiert ist: SubjectID_Group_VesselMask.nii.gz; (z. B. CDH_012_VesselMask.nii.gz).
    5. Speichere die Masken in einem dedizierten Verzeichnis parallel zum Bilddatensatz, um die Paarungskonsistenz zu gewährleisten.
    6. Führen Sie eine abschließende Überprüfung durch, indem Sie sowohl das CT-Bild als auch die entsprechende Maske neu laden, um vor dem Modelltraining eine perfekte räumliche Ausrichtung zu bestätigen.
  8. Verwenden Sie diese manuell beschrifteten Segmentierungen als Grundlage für Modelltraining und -bewertung.

3. Modelltraining und Validierung

  1. Organisieren Sie den Datensatz in drei Teilmengen: Training, Validierung und Testsätze. In dieser Studie werden 35 Kontroll- und 20 CDH-Fälle für das Training verwendet, 5 Kontroll- und 10 CDH-Fälle zur Validierung verwendet und die übrigen für unabhängige Tests bereitgestellt.
    1. Sammeln Sie alle vorverarbeiteten CT-Bilder und die entsprechenden Konsensgefäßmasken in einem einzigen Datensatz.
    2. Führen Sie Datensatz-Splitting auf Patientenebene durch, um Datenlecks zwischen Teilmengen zu verhindern.
    3. Zufällig werden 35 Kontrollfälle und 20 CDH-Fälle dem Trainingsset zugeteilt.
    4. Zufällig werden 5 Kontrollfälle und 10 CDH-Fälle dem Validierungsset zugeordnet.
    5. Weisen Sie alle verbleibenden Fälle einem unabhängigen Hold-out-Testsatz zu, der während des Modelltrainings oder Hyperparameter-Tunings nicht abgerufen wird.
    6. Stellen Sie sicher, dass jedes CT-Bild und seine entsprechende Segmentierungsmaske während des gesamten Teilungsprozesses gepaart bleiben.
    7. Überprüfen Sie die Klassenverteilung in jeder Teilmenge, um die Repräsentation sowohl der Kontroll- als auch der CDH-Fälle zu erhalten.
    8. Dokumentieren Sie die endgültige Zuweisung von Themenkennungen zur Reproduzierbarkeit.
  2. Normalisiere die Intensitätswerte aller Bilder zwischen 0 und 1, um die Konvergenz der neuronalen Netzwerke während des Trainings zu verbessern.
    1. Für jedes CT-Volumen beschränken Sie zunächst die Intensitätswerte auf einen vordefinierten Hounsfield-Einheitsbereich, um extreme Ausreißer zu entfernen.
    2. Man wendet Intensitätsclipping so an, dass Werte unter −1000 HU auf −1000 HU und Werte über 500 HU auf 500 HU gesetzt werden.
    3. Führen Sie eine Min–Max-Normalisierung unabhängig für jedes Volumen mit folgender Transformation durch: Normalisierter Wert = (I − I_min) / (I_max − I_min), wobei I_min und I_max den abgeschnittenen Minimal- und Maximalintensitätswerten des Volumens entsprechen.
    4. Wenden Sie die Normalisierung auf das gesamte 3D-Volumen an, indem Sie elementweise Operationen innerhalb der Rechenumgebung verwenden.
    5. Überprüfen Sie, dass alle Voxelintensitäten innerhalb des Intervalls [0, 1] liegen, bevor Sie die Daten in das neuronale Netzwerk eingeben.
    6. Stellen Sie sicher, dass für jedes Bild unabhängig abgeleitete Normalisierungsparameter abgeleitet werden, um Informationsverluste zwischen Training, Validierung und Testsätzen zu verhindern.
  3. Implementieren Sie eine U-Net-Architektur für konvolutionale neuronale Netzwerke mit einem Deep-Learning-Framework wie PyTorch oder TensorFlow.
    1. Erstelle ein neues Projekt in einer Deep-Learning-Entwicklungsumgebung und setze einen festen, zufälligen Seed zur Reproduzierbarkeit.
    2. Definieren Sie eine 2D-U-Net-Architektur (Abbildung 2) für binäre Segmentierung mit einer Encoder-Decoder-Struktur und überspringen Sie Verbindungen.
    3. Setze die Modelleingabe als Einzelkanal-CT-Schnitte (Graustufen) und setze die Modellausgabe als Einkanal-Wahrscheinlichkeitskarte, die die Wahrscheinlichkeit des Schiffs darstellt.
    4. Konfigurieren Sie die Endschicht so, dass sie eine sigmoidische Aktivierungsfunktion verwendet, um Werte im Bereich [0, 1] zu erzeugen.
    5. Definiere die Verlustfunktion für binäre Segmentierung (z. B. binäre Kreuzentropie) und initialisiere einen Optimierer.
    6. Spezifizieren Sie Trainingshyperparameter, einschließlich Batchgröße, Anzahl der Epochen und Lernrate, und notieren Sie diese Werte für die Berichterstattung.
    7. Bereiten Sie Datenloader vor, die die Trainings- und Validierungsdatensätze mit konsistenter Mischungen und Batching ins Modell einspeisen.
    8. Speichere die vollständige Modelldefinition und Hyperparameterkonfiguration zur Reproduzierbarkeit.
  4. Konfigurieren Sie das Modell mit einer Encoder-Decoder-Struktur, die Skip-Verbindungen und Batch-Normalisierungsschichten integriert, um die Segmentierungsgenauigkeit zu verbessern.
    1. Definiere einen Encoder, der aus wiederholten Faltungsblöcken besteht. Stellen Sie sicher, dass jeder Block Folgendes enthält:
      Zwei aufeinanderfolgende 2D-Faltungsschichten (Kerngröße 3 × 3, Auffüllung = 1)
      Nach jeder Konvolution wurde Batch-Normalisierung angewendet
      Aktivierung der gleichgerichteten linearen Einheit (ReLU)
    2. Wende 2 × 2 Max-Pooling mit einem Schritt von 2 nach jedem Encoder-Block an, um die räumliche Auflösung schrittweise zu reduzieren.
    3. Verdopple die Anzahl der Feature-Kanäle nach jedem Downsampling-Schritt.
    4. Definieren Sie den Decoder mit transponierter Faltung (2 × 2 Kernel, Stride 2) für das Upsampling.
    5. Verbinden Sie Merkmalszuordnungen von der entsprechenden Encoder-Schicht zur Decoder-Schicht über Skip-Verbindungen, um räumliche Informationen zu erhalten.
    6. Wenden Sie nach jedem Verkettungsschritt zwei Faltungsschichten mit Batch-Normalisierung und ReLU-Aktivierung an.
    7. Verwenden Sie eine abschließende 1 × 1 Faltungsschicht, um Features auf einen einkanaligen Ausgang zuzuordnen.
    8. Wenden Sie eine sigmoidische Aktivierungsfunktion an, um eine voxelweise Wahrscheinlichkeitskarte für die Gefäßsegmentierung zu erstellen.
  5. Trainieren Sie drei Konfigurationen des Modells:
    1. Basismodell (Training von Grund auf)
      1. Initialisieren Sie die U-Net-Gewichte zufällig (z. B. He-Initialisierung).
      2. Verwenden Sie nur den manuell annotierten Arterien-Venen-Datensatz als Eingabe.
      3. Vergrößere die Eingabebilder auf 512 × 512 Pixel.
      4. Normalisiere Intensitätswerte auf den Bereich [0,1].
      5. Setze die Batchgröße auf 8 (oder das Maximum erlaubt durch den GPU-Speicher).
      6. Verwenden Sie den Adam-Optimierer mit der Lernrate = 1 × 10⁻4.
      7. Verwenden Sie binäre Kreuzentropie (für binäre Segmentierung) oder Kreuzentropieverlust (für arterienvene Klassifikation).
      8. Trainiere 30 Epochen.
      9. Überwachen Sie den Validierungsverlust nach jeder Epoche.
      10. Speichere die Modellgewichte, die dem niedrigsten Validierungsverlust entsprechen.
      11. In PyTorch folgen Sie den Schritten 3.5.1.13–3.5.1.14.
      12. Definiere den Optimierer: torch.optim.Adam(model.parameters(), lr=1e-4)
      13. Definiere Verlust: torch.nn.BCEWithLogitsLoss() oder torch.nn.CrossEntropyLoss()
      14. Verwenden Sie model.train() während des Trainings und model.eval() während der Validierung.
    2. Segmentierungs-Eingangsmodell (Hilfsgefäßmaskeneingang)
      1. Ändern Sie die Eingangsschicht so, dass sie zwei Kanäle akzeptiert:
        Kanal 1: CT-Bild
        Kanal 2: Segmentierungsmaske für binäre Gefäße
      2. Verbinden Sie das CT-Bild und die Schiffsmaske entlang der Kanaldimension, bevor Sie sie ins Netzwerk einspeisen.
      3. Halte die Architektur identisch mit dem Basismodell.
      4. Verwenden Sie denselben Optimierer, dieselbe Lernrate, Batch-Größe und Epochenzahl wie in Schritt 3.5.1.
      5. Speichere die leistungsfähigsten Gewichte basierend auf der Validierung des F1-Scores.
    3. Transfer-Learning-Modell (vortrainierte Initialisierung)
      1. Belaste vortrainierte U-Net-Gewichte, die auf einem generischen Schiffsegmentationsdatensatz trainiert wurden (wie im Fortschrittsbericht beschrieben).
      2. Encoder-Schichten für die ersten 5 Epochen einfrieren (optionaler Stabilisierungsschritt).
      3. Alle Schichten auftauen und für die verbleibenden Epochen weiter feinjustieren.
      4. Verwenden Sie eine reduzierte Lernrate = 5 × 10⁻5 beim Feinabstimmen.
      5. Trainiere insgesamt 30 Epochen.
      6. Wenden Sie horizontales Flipping als Datenerweiterung während des Trainings an.
      7. Speichere das Modell mit der höchsten F1-Validierungspunktzahl.
  6. Verwenden Sie binären Kreuzentropieverlust und den Adam-Optimierer mit einer anfänglichen Lernrate von 0,001. Reduziere die Lernrate adaptiv, wenn der Validierungsverlust stagniert.
    1. Definition der Verlustfunktion
      1. Für binäre Gefäßsegmentierung verwenden Sie den binären Kreuzentropieverlust mit Logits.
      2. In PyTorch definieren Sie: Kriterium = torch.nn.BCEWithLogitsLoss()
      3. Bei der Multiklassifikation der Arterienvene verwenden Sie: Kriterium = torch.nn.CrossEntropyLoss()
    2. Definition des Optimierers
      1. Verwenden Sie den Adam-Optimierer mit einer anfänglichen Lernrate von 0,001.
      2. In PyTorch: Optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
    3. Ermöglichung der Reduktion der adaptiven Lernraten
      1. Implementieren Sie einen Learning Rate Scheduler, um die Lernrate zu senken, wenn sich der Validierungsverlust nicht mehr verbessert.
      2. Verwenden Sie den ReduceLROnPlateau Scheduler.
      3. In PyTorch: Scheduler = torch.optim.lr_scheduler. ReduceLROnPlateau(
        Optimierer,
        mode='min',
        Faktor=0,5,
        Geduld=5,
        verbose=Wahr
        )
      4. Nach jeder Validierungsphase rufen Sie auf: scheduler.step(validation_loss)
    4. Konfiguration der Trainingsschleife.
      1. Für jede Epoche folgen Sie den Schritten 3.6.4.2–3.6.4.7:
      2. Modell auf Trainingsmodus setzen: model.train()
      3. Führe einen Vorwärtspass aus.
      4. Rechenverlust.
      5. Backpropagate: loss.backward()
      6. Aktualisierungsgewichte: optimizer.step()
      7. Null Gradienten vor der nächsten Iteration: optimizer.zero_grad()
      8. Nach der Trainingsphase wechseln Sie mit model.eval() in den Evaluationsmodus und berechnen Sie den Validierungsverlust.
    5. Frühes Stoppen (optional, aber empfohlen)
      1. Wenn sich der Validierungsverlust in 10 aufeinanderfolgenden Epochen nicht verbessert, sollte das Training eingestellt werden, um Überanpassungen zu vermeiden.
  7. Wenden Sie Datenaugmentationstechniken wie zufällige Rotationen, Flips und elastische Verformungen an, um die Robustheit zu erhöhen und Überanpassungen zu reduzieren.
    1. Definition einer Augmentationspipeline
      1. Wenden Sie Augmentationen nur auf den Trainingsdatensatz an.
      2. Wenden Sie identische räumliche Transformationen sowohl auf das CT-Bild als auch auf die entsprechende Segmentierungsmaske an.
    2. Zufällige Rotationen.
      1. Wenden Sie zufällige In-Plane-Rotationen zwischen -15° und +15° an.
      2. In PyTorch (unter Verwendung von Torchvision oder Albumentationen): RandomRotation(degrees=15)
    3. Horizontale und vertikale Flips.
      1. Wenden Sie einen horizontalen Flip mit Wahrscheinlichkeit p = 0,5 an.
      2. Wenden Sie einen vertikalen Flip mit Wahrscheinlichkeit p = 0,5 an (wenn anatomisch akzeptabel).
    4. Elastische Verformung.
      1. Wenden Sie eine elastische Transformation an, um anatomische Variabilität zu simulieren.
      2. Verwenden Sie kleine Verformungsparameter, um unrealistische Verzerrungen zu vermeiden.
    5. Implementierungsbeispiel (PyTorch + Albumentationen)
      1. Definieren Sie die Transformationspipeline vor dem Training:
        transformieren = A.Kompose([
        A. Drehen (Limit=15, p=0,5),
        A.HorizontalFlip(p=0,5),
        A.ElasticTransform(alpha=1, sigma=50, alpha_affine=10, p=0.3)
        ])
      2. Wenden Sie Transformation innerhalb der Datensatz-__getitem__()-Methode an, um eine synchronisierte Transformation von Bild und Maske sicherzustellen.
    6. Validierung und Testsätze
      1. Wenden Sie keine Augmentation auf Validierungs- oder Testdatensätze an.
      2. Verwenden Sie für diese Sets nur Normalisierung und Größenanpassung.
    7. Qualitätskontrolle.
      1. Untersuchen Sie vor dem Training augenpolitisch verstärkte Proben, um die anatomische Plausibilität sicherzustellen.
      2. Überprüfen Sie, dass die Masken mit den transformierten Bildern ausgerichtet bleiben.
  8. Trainieren Sie das Modell für eine feste Anzahl von Epochen oder bis zur Konvergenz und überwachen Sie die Leistung auf der Validierungsmenge nach jeder Epoche.
    1. Definition der Trainingsdauer
      1. Setze die maximale Anzahl der Trainingsepochen auf 30.
      2. Alternativ wird das Training fortgesetzt, bis die Konvergenzkriterien erfüllt sind (siehe Frühes Stoppen unten).
    2. Trainingsschleife
      1. Für jede Epoche folgen Sie den Schritten 3.8.2.2–3.8.2.10:
      2. Stellen Sie das Modell in den Trainingsmodus ein: model.train()
      3. Iteriere über alle Mini-Chargen im Trainingsset.
      4. Laden Sie eine Charge von CT-Bildern und den entsprechenden Masken.
      5. Führe einen Vorwärtspass aus.
      6. Berechnen Sie den Verlust mit der definierten Verlustfunktion.
      7. Backpropagate-Gradienten: verlust.rückwärts()
      8. Modellgewichte aktualisieren: optimizer.step()
      9. Verlauf vor der nächsten Charge zurücksetzen: optimizer.zero_grad()
      10. Berechnen Sie den durchschnittlichen Trainingsverlust für die Epoche.
    3. Validierungsschritt (nach jeder Epoche)
      1. Modell in Evaluierungsmodus umschalten: model.eval()
      2. Deaktiviere die Gradientenberechnung: mit torch.no_grad():
      3. Iterieren Sie den Validierungsdatensatz.
      4. Führe einen Vorwärtspass aus.
      5. Berechnen Sie Validierungsverlust.
      6. Berechne Leistungsmetriken (F1-Score, Präzision, Sensibilität, DICE-Score).
      7. Nachweisvalidierungsverlust und Kennzahlen.
    4. Anpassung der Lernrate
      1. Scheduler nach Validierungsschritt aktualisieren: scheduler.step(validation_loss)
    5. Konvergenzkriterien
      1. Beenden Sie das Training, wenn sich der Validierungsverlust in 10 aufeinanderfolgenden Epochen nicht verbessert (frühes Absetzen) oder wenn Leistungskennzahlen stagnieren.
    6. Modell-Checkpointing
      1. Speichere die Modellgewichte, sobald sich der Validierungs-F1-Wert verbessert.
      2. Behalten Sie das leistungsfähigste Modell für die Endbewertung im Testset auf.
    7. Holzeinschlag
      1. Speichere Trainings- und Validierungsverlustwerte pro Epoche.
      2. Plotte Lernkurven (Verlust vs. Epoche), um das Konvergenzverhalten zu überprüfen.
  9. Wählen Sie das leistungsfähigste Modell basierend auf dem höchsten F1-Wert im Validierungsdatensatz aus.
    1. Tracking von Validierungsmetriken
      1. Nach jeder Epoche wird der F1-Wert im Validierungsdatensatz berechnet.
      2. Speichere den F1-Wert zusammen mit der entsprechenden Epochenzahl.
    2. Modellvergleich
      1. Vergleiche die F1-Validierungswerte über alle Epochen hinweg.
      2. Identifizieren Sie die Epoche, in der die höchste F1-Validierungsbewertung erreicht wurde.
    3. Modell-Checkpointing
      1. Während des Trainings speichere Modellgewichte, sobald sich der Validierungs-F1-Wert verbessert.
    4. Endgültige Modellauswahl
      1. Nach Abschluss des Trainings laden Sie die Gewichte, die dem höchsten Validierungswert von F1 entsprechen:
        model.load_state_dict(torch.load("best_model.pth"))
    5. Unabhängige Tests
      1. Bewerten Sie das ausgewählte Modell nur einmal im unabhängigen Testdatensatz.
      2. Verwenden Sie nicht die Testset-Performance für die Modellauswahl.
    6. Reproduzierbarkeit
      1. Erfassen Sie die ausgewählte Epochenzahl und die entsprechenden Validierungskennzahlen.
      2. Fixiere zufällige Seeds, um die Reproduzierbarkeit zu gewährleisten.
  10. Speichere die trainierten Modellgewichte und -konfigurationen für nachgelagerte Segmentierungsaufgaben.

4. Segmentierung und Skelettisierung

  1. Laden Sie das trainierte U-Net-Modell und wenden Sie es auf die vorbearbeiteten CT-Scans im unabhängigen Testsatz an.
  2. Für jeden Scan erzeugt man eine binäre Segmentierungsmaske der pulmonalen Gefäße, indem ein Schwellenwert auf das probabilistische Ergebnis des Modells angewendet wird.
  3. Untersuchen Sie die Segmentierungsergebnisse visuell, um die anatomische Plausibilität zu bestätigen, insbesondere in Regionen, die von CDH-induzierter Verzerrung betroffen sind.
  4. Wandeln Sie die segmentierten 3D-Binärmasken mithilfe eines in Software implementierten 3D-Verdünnungsalgorithmus in skelettierte Darstellungen um.
  5. Beschrifte das Gefäßskelett mit einem Breitensuchalgorithmus, der den Pulmonalstamm als Wurzelknoten bezeichnet und jedem Zweig basierend auf der Konnektivität Generationsstufen zuweisen.
  6. Entfernen Sie kleine, nicht zusammenhängende Bauteile oder unauffällige Äste, die wahrscheinlich auf Rauschen oder Segmentierungsfehler zurückzuführen sind, unter Verwendung einer Mindestgröße der Voxelgröße oder der Schwelle für Zweiglänge.
  7. Speichere die skelettierten Strukturen in 3D-Mesh- oder graphkompatiblen Formaten (z. B. VTK oder SWC) für weitere morphometrische Analysen.

5. Morphometrische Merkmalsextraktion

  1. Laden Sie die skelettierten Gefäßgraphen, die aus den segmentierten CT-Bildern erzeugt wurden.
  2. Identifizieren Sie alle einzelnen Zweige, indem Sie die Graphenstruktur zwischen Bifurkationspunkten und Endknoten durchlaufen.
  3. Berechnen Sie die Gesamtzahl der Verzweigungen, indem Sie alle identifizierten Segmente im Gefäßdiagramm summieren.
  4. Berechnen Sie die Länge jedes Zweigs, indem Sie die euklidischen Abstände zwischen verbundenen Voxeln entlang des Skeletts addieren.
  5. Bestimmen Sie die mittlere Astlänge, indem Sie die Längen aller Äste im Skelett jedes Probanden mitteln.
  6. Jedem Ast werden Generationsstufen zugewiesen, beginnend mit der Hauptlungenarterie als Generation 0 und bei jeder Bifurkation mit Breiten-zu-zu-erst-Durchquerung um eins.
  7. Berechnen Sie die maximale Anzahl der distalen Generationen, indem Sie den längsten Weg vom Wurzelknoten zu einem beliebigen terminalen Ast identifizieren.
  8. Berechnen Sie die maximale Anzahl proximaler Generationen, indem Sie den längsten Weg von jedem peripheren Ast zurück zur Wurzel identifizieren.
  9. Speichere alle morphometrischen Funktionen in einer strukturierten Tabellenkalkulation oder Datenbank (z. B. CSV oder SQL) mit Subjektkennungen, Diagnosegruppe und extrahierten Metriken.
  10. Untersuchen Sie visuell eine Teilmenge von Skelettgraphen und entsprechenden morphometrischen Merkmalen, um die Genauigkeit und biologische Plausibilität zu bestätigen.

6. Klassifikationsanalyse

  1. Importieren Sie den strukturierten Datensatz mit morphometrischen Merkmalen (z. B. Gesamtanzahl der Zweige, mittlere Zweiglänge, distale und proximale Erzeugungstiefe) und entsprechenden diagnostischen Labels (CDH oder Kontrolle).
  2. Teilen Sie den Datensatz in Trainings- und Testsätze mithilfe stratifizierter Stichproben, um die Klassenverteilung aufrechtzuerhalten.
  3. Implementiere Random Forest- und Entscheidungsbaumklassifikatoren mit einer Standard-Machine-Learning-Bibliothek.
  4. Konfigurieren Sie Modellparameter wie die Anzahl der Schätzer (z. B. 100 Bäume für Random Forest) und maximale Tiefe basierend auf der Kreuzvalidierungsleistung.
  5. Trainieren Sie jeden Klassifikator mit der Trainingsteilmenge der Daten.
  6. Bewerten Sie die Klassifikationsleistung im Hold-out-Testset unter Verwendung der Genauigkeit als Hauptkennzahl.
  7. Erzeugen Sie Verwirrungsmatrizen, um wahre positive, wahre negative, falsch-positive und falsch-negative Raten für CDH-Erkennung zu bewerten.
  8. Vergleichen Sie die Leistung von Random Forest- und Decision Tree-Klassifikatoren und wählen Sie das Modell mit der höchsten Genauigkeit für die Berichterstattung repräsentativer Ergebnisse aus.
  9. Visualisieren Sie Klassifikationsergebnisse mithilfe von Balkendiagrammen, ROC-Kurven oder Entscheidungsbäumen, falls zutreffend, und speichern Sie die Ausgaben für die Einbeziehung in Abbildungen.
  10. Dokumentieren Sie alle Modellparameter, Leistungskennzahlen und etwaige Vorverarbeitung, die auf die Daten angewendet werden, um die Reproduzierbarkeit sicherzustellen.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Ergebnisse

Das mit Transfer Learning trainierte Deep-Learning-Modell erzielte die höchste Segmentierungsleistung aller Konfigurationen mit einer Genauigkeit von 0,714, einer Empfindlichkeit von 0,706 und einem F1-Wert von 0,672 im unabhängigen Testset. Das von Grund auf trainierte Basismodell zeigte eine verminderte Leistung (Präzision: 0,703, Empfindlichkeit: 0,589, F1-Wert: 0,551), während das Segmentierungs-Input-Modell mäßig abschnitt (F1-Wert: 0,630).

Nach der Segme...

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Diskussion

Mehrere Schritte in diesem Protokoll sind entscheidend, um genaue und reproduzierbare Ergebnisse zu erzielen. Die Bildvorverarbeitungsphase muss sorgfältig durchgeführt werden, insbesondere die Umwandlung auf Hounsfield-Einheiten und die Anwendung von Windowing (WL = -400 HU, WW = 1500 HU), da diese Parameter die Sichtbarkeit der Gefäßstrukturenbestimmen 14,15,16,17....

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Offenlegungen

Die Autoren haben keine finanziellen Offenlegungen anzugeben.

Danksagungen

Emrah Aydin wurde vom Wissenschaftlichen und Technologischen Forschungsrat der Türkei (TÜBİTAK) 2219 International Postdoctoral Research Fellowship Program for Turkish Citizens (1059B191501313) unterstützt. Aslıgül Aksan und Mustafa Ekrem Erkan wurden vom Wissenschaftlichen und Technologischen Forschungsrat der Türkei (TÜBİTAK) 2209-A – Forschungsprojekt-Unterstützungsprogramm für Bachelorstudierende unterstützt.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Materialien

Liste der in diesem Artikel verwendeten Materialien
NameUnternehmenKatalognummerKommentare
Analysieren 12.0AnalyzeDirecthttps://analyzedirect.com/Verwendet für CT-Bildüberprüfung, Bearbeitung und Messungen
CT-Scan-Daten (postnatale Thoraxscans)Institutionelles ArchivN/ARetrospektiver Datensatz von CDH- und Kontroll-Neugeborenen
dcm2niixOpen-Source (GitHub)https://github.com/rordenlab/dcm2niixKonvertiert DICOM in das NIfTI-Format
ITK-SNAPOpen-Source (http://www.itksnap.org)http://www.itksnap.org3D-Werkzeug zur medizinischen Bildannotation
NetworkXOpen Sourcehttps://networkx.orgVerwendung für graphbasierte Gefäßbaumanalyse
OpenCV (CLAHE-Funktion)Open Sourcehttps://opencv.orgVerwendet zur Bildkontrastverstärkung
Pandas, NumpyOpen Sourcehttps://pandas.pydata.org, https://numpy.orgDatenmanagement und numerische Operationen
Python 3.8+Python Software Foundationhttps://www.python.orgProgrammiersprache für Analyse und Modellentwicklung
PyTorch 1.13+Meta-KIhttps://pytorch.orgDeep-Learning-Framework für die U-Net-Implementierung
Scikit-BildOpen Sourcehttps://scikit-image.orgBildverarbeitungsbibliothek zur Skelettierung verwendet
Scikit-learnOpen Sourcehttps://scikit-learn.orgMaschinelle Lernbibliothek zur Klassifikation
Ubuntu 20.04 LTSKanonischhttps://ubuntu.comBetriebssystem, das während der gesamten Verarbeitung verwendet wird
Arbeitsstation mit NVIDIA RTX 3090 GPUNVIDIAhttps://www.nvidia.comErforderlich für das Training von Deep-Learning-Modellen

Referenzen

  1. Keijzer, R., et al. Dual-hit hypothesis explains pulmonary hypoplasia in the nitrofen model of congenital diaphragmatic hernia. Am J Pathol. 156 (4), 1299-1306 (2000).
  2. Aydin, E., et al. The survivorship bias in congenital diaphragmatic hernia. Children. 9 (2), 218(2022).
  3. Harting, M. T. Congenital diaphragmatic hernia-associated pulmonary hypertension. Semin Pediatr Surg. 26 (3), 147-153 (2017).
  4. Kool, H., et al. Pulmonary vascular development goes awry in congenital lung abnormalities. Birth Defects Res C Embryo Today. 102 (4), 343-358 (2014).
  5. Leeuwen, L., Fitzgerald, D. A. Congenital diaphragmatic hernia. J Paediatr Child Health. 50 (9), 667-673 (2014).
  6. Aydin, E., et al. Optimization of pulmonary vasculature tridimensional phenotyping in the rat fetus. Sci Rep. 9 (1), 1244(2019).
  7. Aydin, E., et al. Pulmonary vasculature development in congenital diaphragmatic hernia: a novel automated quantitative imaging analysis. Pediatr Surg Int. 40 (1), 1244(2024).
  8. Memon, N. A., Mirza, A. M., Gilani, S. A. M. Segmentation of lungs from CT scan images for early diagnosis of lung cancer. World Acad Sci Eng Technol. 20, 1050-1055 (2008).
  9. Fetita, C., Brillet, P. Y., Preteux, F. J. Morpho-geometrical approach for 3D segmentation of pulmonary vascular tree in multi-slice CT. Proceedings of SPIE - The International Society for Optical Engineering. , (2009).
  10. Orkisz, M., et al. Segmentation of the pulmonary vascular trees in 3D CT images using variational region-growing. IRBM. 35 (1), 11-19 (2014).
  11. Fabijanska, A. Segmentation of pulmonary vascular tree from 3D CT thorax scans. Biocybern Biomed Eng. 35 (2), 106-119 (2015).
  12. Zhai, Z., Staring, M., Stoel, B. C. Lung vessel segmentation in CT images using graph-cuts. , SPIE Medical Imaging. San Diego, California, United States. (2016).
  13. Khanna, A., Londhe, N. D., Gupta, S. Detection of pulmonary vessels in 3D lung CT using improved graph cut. 2018 5th International Conference on Signal Processing and Integrated Networks (SPIN), Noida, India, , (1109).
  14. DenOtter, T. D., Schubert, J. Hounsfield Unit. , StatPearls Publishing. Treasure Island, FL. (2023).
  15. Detection and classification of brain hemorrhage based on Hounsfield values and convolution neural network technique. Phan, A. C., Nguyen, T. M. N., Phan, T. C. 2019 IEEE-RIVF International Conference on Computing and Communication Technologies (RIVF), Danang, Vietnam, , (2019).
  16. Xue, Z., et al. Window classification of brain CT images in biomedical articles. AMIA Annu Symp Proc. 2012, 1023-1029 (2012).
  17. Contrast-limited adaptive histogram equalization: speed and effectiveness. Pizer, S. M., et al. Proceedings of the First Conference on Visualization in Biomedical Computing, Atlanta, GA, USA, , (1990).
  18. Moccia, S., De Momi, E., El Hadji, S., Mattos, L. S. Blood vessel segmentation algorithms – Review of methods, datasets and evaluation metrics. Comput Methods Programs Biomed. 158, 71-91 (2018).

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Nachdrucke und Genehmigungen

Schlagwörter

Segmentierung von Lungengef enmorphometrische AnalyseComputertomographieU Net ArchitekturTransfer LearningGef morphologieSkelettierungsalgorithmus
Video demnächst verfügbar