Räumliche Transformationen

Biomedizinische Bildanalyse mit Python

Stephen Bailey

Instructor

OASIS-Datenbank

OASIS-Logo

Biomedizinische Bildanalyse mit Python

Deutliche Variabilität

Multi-Gehirn-Galerie

Biomedizinische Bildanalyse mit Python

Registrierung

  • Bilder an Vorlage ausrichten
  • Räumliche Variabilität minimieren

  • Vorlagen:

    • können mehrere Personen repräsentieren
    • können ein „durchschnittliches" Bild sein
  • Erfordert viele räumliche Transformationen

drei-Bilder-Registrierung

Biomedizinische Bildanalyse mit Python

Affine Transformationen bewahren Punkte, Linien und Ebenen

Transformationsbeispiel

Biomedizinische Bildanalyse mit Python

Translation

verschobener-Kopf

import imageio.v2 as imageio
import scipy.ndimage as ndi

im=imageio.imread('OAS1036-2d.dcm')
im.shape
(256, 256)
com = ndi.center_of_mass(im)

d0 = 128 - com[0] d1 = 128 - com[1]
xfm = ndi.shift(im, shift=[d0, d1])
Biomedizinische Bildanalyse mit Python

Rotation

ndi.rotate(im,
           angle=25,
           axes=(0,1))

rotierter-Kopf

Biomedizinische Bildanalyse mit Python

Bildrotation

xfm = ndi.rotate(im, angle=25)

xfm.shape
(297, 297)

Rotation-mit-Neuzuordnung

xfm = ndi.rotate(im, angle=25, 
              reshape=False)
xfm.shape
(256, 256)

normale-Rotation

Biomedizinische Bildanalyse mit Python

Transformationsmatrix

Transformationsmatrix: auf ein Bild angewendet zur Registrierung.

Elemente der Matrix kodieren „Anweisungen" für verschiedene affine Transformationen.

Bild-mit-vier-Transformationen

Biomedizinische Bildanalyse mit Python

Anwenden einer Transformationsmatrix

# Einheitsmatrix
mat = [[1, 0, 0],
       [0, 1, 0],
       [0, 0, 1]]

xfm = ndi.affine_transform(im, mat)

Originalbild

# Verschieben und skalieren
mat = [[0.8, 0,   -20],
       [0,   0.8, -10],
       [0,   0,   1]]
xfm = ndi.affine_transform(im,
                           mat)

transformiertes-Bild

Biomedizinische Bildanalyse mit Python

Lass uns üben!

Biomedizinische Bildanalyse mit Python

Preparing Video For Download...