Maschinelles Lernen in der Medizinphysik - Alexander Ratke 26. März 2021 - Indico
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Tagesablauf Grundlagen zur Bildgebung und -bearbeitung Grundlagen zur Bildregistrierung mit ML 08:30 - 11:00 13:00 - 16:00 • Check von Hardware und Software • Einrichtung und Einweisung in Git • Einführung in die Bildgebung • Installation notwendiger Python-Pakete • Arbeiten mit Aufnahmen im DICOM-Format • Einführung in die Bildregistrierung ➡ 1. Aufgabe ➡ 3. Aufgabe • Einführung in die Bildbearbeitung ➡ 4. Aufgabe ➡ 2. Aufgabe CT T1 T2 CT T1 T2 Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 2
Teil 1 Grundlagen zur Bildgebung und -bearbeitung 08:30 - 11:00 • Check von Hardware und Software • Einführung in die Bildgebung • Arbeiten mit Aufnahmen im DICOM-Format ➡ 1. Aufgabe • Einführung in die Bildbearbeitung ➡ 2. Aufgabe CT T1 T2 CT T1 T2 Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 3
Check-Up • Login via ssh: ‣ Zugang auf die interaktive Maschine bernhard ‣ Aktivierung von Anaconda zum Verwenden von python durch source /usr/scripts/set_conda.s source activate root_forg ‣ Befehle in .bashrc schreiben zur automatischen Aktivierung bei jedem login • Mounting via sshfs: ‣ home-Verzeichnis sshfs USER@login.e5.physik.tu-dortmund.de:/net/nfshome/home/USER /PFAD/MOUNTORDNER -o volname=MOUNTORDNE ‣ ceph-Verzeichnis sshfs USER@login.e5.physik.tu-dortmund.de:/ceph/users/USER /PFAD/MOUNTORDNER -o volname=MOUNTORDNE • Notwendige python-Pakete mit pip install --user {package_name} ‣ Image Processing in Python: scikit-image Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 4 e h R R
Einleitung Fusionierte Bildgebung mittels maschinellen Lernens • Verschmelzung von mindestens • Computer- und • „Deep Learning“-Architektur zwei Objekten Magnetresonanztomographie zur Bildregistrierung • Hier: anatomische Bilder • Verschiedene Modalitäten • Hier: Convolutional Neural • Entscheidung über die bieten unterschiedliche Network Kombinationsparameter Vorteile • Anpassung von Strukturen Strahlentherapie Ziel: Präzise Lokalisation von Tumorgewebe in der Herausforderung: Protonentherapie und Schonung von gesundem • Kombination: Absorptionskoeffizienten der CT- Gewebe Aufnahme und Strukturinformationen von MRT Methode: • Anpassung der Merkmale von CT und MRT durch • Separate Betrachtung von CT und MRT Bildregistrierung und anschließende Fusion • Verwendung von CT bei Therapieplanung wegen • Fusionierte CT-Aufnahme zur genaueren gewebsspezifischen Absorptionskoeffizienten Therapieplanung Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 5
Computertomographie Grundlagen • Verwendung von Röntgenstrahlung zur Visualisierung der menschlichen Anatomie • Beschreibung der abgeschwächten Röntgenstrahlen durch ( ∫∫ ) I(u, γ) = I0 ⋅ exp − μ( x ⃗)δ( x ⃗ ⋅ e γ⃗ − u)d x ⃗ Abschwächungs- • Darstellung von Knochen und Weichteilgewebe koeffizient • Rotation der Röntgenröhre erzeugt Querschnittsbilder A. Kalender: „Computertomographie: Grundlagen, Gerätetechnologie, Bildqualität, Anwendungen.“ Radontransformation • Darstellung der Projektion durch Radontransformierte ( I0 ) ∫ ∫ I(u, γ) pγ(ξ) = − ln = μ( x ⃗)δ( x ⃗ ⋅ e γ⃗ − u)d x ⃗ • Sinogramm: Darstellung aller Projektionen in Abhängigkeit vom Winkel γ T. M. Buzug et al.: „Computertomographie“. In: Medizinische Bildgebung Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 6
Computertomographie Gefilterte Rückprojektion zur Bildrekonstruktion 1. Fourier-Scheiben-Theorem ? 2. ‣ Überführung jeder Projektion in den Fourier-Raum ‣ 2D-Schicht F(u, v) wird nach und nach gefüllt 2. Inverse Fourier-Transformation ‣ Rekonstruktion von f(x, y) → μ(x, y) 1. ‣ Filterung im Fourier-Raum für Variation der Bildschärfe Hounsfield-Skala T. M. Buzug: „Computed Tomography“. In: Two-Dimensional Fourier-Based Reconstruction Methods • CT-Werte durch Abschwächungskoeffizienten von Gewebe (G) normiert auf Wasser (W) μG − μW CT-Zahl = ⋅ 1000HU μW • Stärkste Intensitätsabschwächung im Knochenfenster • Geringste Abschwächung in Luft T. M. Buzug et al.: „Computertomographie“. In: Medizinische Bildgebung Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 7
CT-Aufnahmen Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 8
Magnetresonanztomographie Grundlagen • Beeinflussung des Kernspins von Protonen in Wasserstoff durch starke Magnetfelder (B0 = 1,5 − 3T) ‣ Ausrichtung magnetischer Momente entlang und entgegengesetzt zu B0 T. Schaeffter et al.: „Magnetische Resonanztomographie“. In: Medizinische Bildgebung ‣ Larmorpräzession mit der Frequenz ω0 = γ ⋅ B0 ‣ Überschuss für Signalmessung relevant • Hohe Auflösung für Weichteilgewebe Fett und Muskel Bildkontraste • Spin-Spin-Relaxation (T1): Longitudinale Magnetisierung • Spin-Gitter-Relaxation (T2): Transversale Magnetisierung • Kontrasteinstellung mit Fett und ‣ Repetitionszeit (TR) Flüssigkeiten ‣ Echozeit (TE) Dr. med. C. Pabst: „Grundlagen der Magnetresonanztomographie“. In: Magnetresonanz-Tomographie Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 9
Magnetresonanztomographie Bildrekonstruktion • Ortskodierung: ‣ Auswahl einer Schicht mit zusätzlichem z-Gradienten ‣ Einstellung der Schichtdicke mit Gradientensteigung • Phasenkodierung: ‣ Verwendung von y-Gradienten ‣ Zeilenweise Phasenverschiebung der Spins • Frequenzkodierung: ‣ Verwendung von x-Gradienten ‣ Reihenweise Frequenzänderung für Signalmessung A. Hendrix: „Magnete, Spins und Resonanzen“. Messverfahren pro Schicht: • Bezeichnung der Rohdatenmatrix als k-Raum Bild mit 512x512 Pixeln benötigt 512 gemessene Frequenzreihen Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 10
T1-Aufnahmen T2-Aufnahmen Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 11
DICOM-Format Allgemein: • Standardisiertes Format: Digital Imaging and Communications in Medicine • Speicherung von Informationen über Patienten, Aufnahmeeinstellungen, Geräteparameter etc. ImageJ Pixel Inspection Tool • Visuelle Betrachtung von .dcm-Dateien - Öffnen eines Pixelfensters • Hauptfenster zur Steuerung: - Größe des Fensters variabel bei Prefs Per Drag-and-Drop öffnen - Einzelne Dateien - Ganzer Ordner für gestapelte Ansicht • Hilfreiche Informationen abrufbar durch [Menü -> Image -> Show Info] ‣ DICOM Standard Browser (Link) als Hilfe für die Bezeichnungen Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 12
Verwendung von DICOM in python 1. Aufgabe: • Download und Installation von ImageJ (Link zur Website) • Betrachte einzelne und mehrere DICOM-Dateien mit ImageJ durch eine Mount-Verknüpfung zu /ceph/users/aratke/programmierkurs/ImageProcessing • Fragen: ‣ Suche nach den drei Raumkoordinaten der 15ten T2-Schicht! ‣ Wie groß sind TR und TE in T2? Wie ist die Bestrahlungsdauer im CT pro Schicht und insgesamt? ‣ Finde die Schichtdicke der CT- und T2-Aufnahme heraus! Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 13 /
Grundlagen zu Bildmatrizen • Bestehend aus vielen Bildelementen (Pixel) mit diskreten Werten ‣ Farbbilder: RGB-Kanal ‣ Grauwertbilder: 1-Kanal-Intensitäten • Größe definiert durch ‣ Breite (Anzahl der Spalten, M) ‣ Höhe (Anzahl der Zeilen, N) W. Burger and M. J. Burge: „Bildverarbeitung“, 2015 • Auflösung wird angegeben durch ‣ Anzahl der Pixel pro Längeneinheit - dots per inch (dpi) Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 14
Grundlagen zu Bildmatrizen • Geometrische Operationen: Verschiebung Skalierung Scherung Rotation • Affine Abbildung: a11 a12 a13 T = a21 a22 a23 0 0 1 • Koordinatentransformation: x′ x (1) y′ = T ⋅ y 1 Quelle: „Bildverarbeitung“, W. Burger and M. J. Burge, 2015 ‣ Berechnung neuer Koordinaten x ′⃗ für jeden Pixel in I ‣ Mindestens drei Punkte x1 ,⃗ x2 ⃗ und x3 ⃗ notwendig Welche Grauwerte werden im neuen Bild I′ verwendet?     Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 15
Grundlagen zu Bildmatrizen • Source-to-Target Mapping ‣ Zuweisung der Intensitätswerte aus I ‣ Entstehung von Leerstellen ohne Intensität • Target-to-Source Mapping ‣ Inverse Koordinatenberechnung für jeden Pixel in I′ ‣ Intensitätswerte aus Interpolation von umliegenden Pixeln ( x′, y′,1) T = T ⋅ (u, v,1) T • Interpolationsmethoden: ‣ Nächster Nachbar ‣ Bilinear ‣ Bikubisch ( ) T −1 T x, y,1 = T ⋅ (u′, v′,1) • Auswahl durch Berücksichtigung Quelle: „Bildverarbeitung“, W. Burger and M. J. Burge, 2015 des Zeitaufwands und Ergebnisses  Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 16    
Grundlagen zu Bildmatrizen • Darstellung von 2D und 3D Aufnahmen als Numpy-Array in python 73 512 • Form des Arrays durch np.shape() ‣ (z, y, x) → (73,600,512) 600 • Intensitätswerte abhängig vom Datentyp 16 ‣ int16: 2 Möglichkeiten (-32768 bis +32767) 8 ‣ uint8: 2 ganze Zahlen (0 - 255) ‣ float: Fließkommazahl zwischen -1 und 1 (Weitere Informationen) Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 17
Manipulation von Bildmatrizen • Zahlreiche Möglichkeiten zur Bildverarbeitung in python durch scikit-image (Link): ‣ Modul: transform - Verschiedene Tranformationen (AffineTransform, EuclideanTransform, …) - Rotation von Bildern (rotate) - Größenanpassungen (warp, resize, rescale) ‣ Modul: filters - Bildfilter für Schärfe, Kontrast und Rauschen (gaussian, sobel, unsharp_mask, …) - Segmentierung von Bildern durch Schwellenwerte (threshold_mean, threshold_otsu, …) • Visualisierung durch matplotlib.pyplot: ‣ Vorsicht: Nur ein 2D-Array visuell darstellbar, bei allen Schichten muss getrickst werden • Nachdem ein Array bearbeitet wurde, folgt zum Schluss das Speichern: ‣ np.savez_compressed(name, label1, label2, …) Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 18
Bildbearbeitung in python 2. Aufgabe: • Nutze im Ordner programmierkurs/ImageProcessing die Dateien CT.npz und T2.npz! • Schreibe ein python-Skript, in dem du jeweils ∘ ‣ das Original-Bild um 20 rotierst, ‣ zwei Segmente mit der Mittelwert- und Yen-Schwellenwertmethode erzeugst, ‣ ein Segment um den Faktor 0.5 verkleinerst! (Hinweis) Speichere immer die 30te Schicht als pdf-Bild ab! Pause Alexander Ratke | 26.03.2021 | Bachelor-Programmierkurs 19
Sie können auch lesen