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

ensemble 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 »
  • Nécessite plusieurs transformations spatiales

trois images en enregistrement

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 encodent des « instructions » pour diverses transformations affines.

image avec quatre transformations

Analyse d'images biomédicales en Python

Application d'une matrice de transformation

# Identity matrix
mat = [[1, 0, 0],
       [0, 1, 0],
       [0, 0, 1]]

xfm = ndi.affine_transform(im, mat)

image originale

# Translate and rescale
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...