Maschinelles Lernen in der Medizinphysik - Alexander Ratke 26. März 2021 - Indico

Die Seite wird erstellt Helge Engelhardt
 
WEITER LESEN
Maschinelles Lernen in der Medizinphysik - Alexander Ratke 26. März 2021 - Indico
Maschinelles Lernen in der Medizinphysik

               Alexander Ratke

                   26. März 2021
              Bachelor-Programmierkurs
Maschinelles Lernen in der Medizinphysik - Alexander Ratke 26. März 2021 - Indico
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
Maschinelles Lernen in der Medizinphysik - Alexander Ratke 26. März 2021 - Indico
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
Maschinelles Lernen in der Medizinphysik - Alexander Ratke 26. März 2021 - Indico
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
Maschinelles Lernen in der Medizinphysik - Alexander Ratke 26. März 2021 - Indico
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