Transformations spatiales

Analyse d'images biomédicales en Python

Stephen Bailey

Instructor

Base de données OASIS

logo OASIS

Analyse d'images biomédicales en Python

Variabilité marquée

mosaïque de cerveaux

Analyse d'images biomédicales en Python

Enregistrement

  • Aligner les images sur un gabarit
  • Réduire la variabilité spatiale

  • Gabarits :

    • peuvent représenter plusieurs sujets
    • peuvent être une image « moyenne »
  • Implique de nombreuses transformations spatiales

trois images en cours d'alignement

Analyse d'images biomédicales en Python

Les transformations affines préservent points, lignes et plans

exemple de transformation

Analyse d'images biomédicales en Python

Translation

tête décalée

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])
Analyse d'images biomédicales en Python

Rotation

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

tête pivotée

Analyse d'images biomédicales en Python

Rotation d'image

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

xfm.shape
(297, 297)

rotation avec redimensionnement

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

rotation sans redimensionnement

Analyse d'images biomédicales en Python

Matrice de transformation

Matrice de transformation : appliquée à une image pour l'enregistrement.

Les éléments de la matrice codent des « instructions » pour différentes transformations affines.

image avec quatre transformations

Analyse d'images biomédicales en Python

Appliquer une matrice de transformation

# Matrice identité
mat = [[1, 0, 0],
       [0, 1, 0],
       [0, 0, 1]]

xfm = ndi.affine_transform(im, mat)

image d'origine

# Translation et mise à l'échelle
mat = [[0.8, 0,   -20],
       [0,   0.8, -10],
       [0,   0,   1]]
xfm = ndi.affine_transform(im,
                           mat)

image transformée

Analyse d'images biomédicales en Python

Passons à la pratique !

Analyse d'images biomédicales en Python

Preparing Video For Download...