Rééchantillonnage et interpolation

Analyse d'images biomédicales en Python

Stephen Bailey

Instructor

Le rééchantillonnage modifie la forme du tableau

échantillonnages différents

Analyse d'images biomédicales en Python

Sous-échantillonnage

vol = imageio.volread('OAS1_0255', format='DICOM')
vol.shape
(256, 256, 256)

cerveau original

vol_dn = ndi.zoom(vol, zoom=0.5)
vol_dn.shape
(128, 128, 128)

sous-échantillonné

Analyse d'images biomédicales en Python

Suréchantillonnage

  • Rééchantillonner sur une grille plus grande

  • Ce n'est pas collecter des données à plus haute résolution

  • Utile pour harmoniser des fréquences d'échantillonnage inégales

vol_up = ndi.zoom(vol, zoom=2)
vol_up.shape
(512, 512, 512)

cerveau original

Analyse d'images biomédicales en Python

Interpolation

  • « Raccorde » des points de grille pour modéliser l'espace entre eux.

$$ Interpolation\ en\ 1\ D $$

Interpolation en 1D

Analyse d'images biomédicales en Python

Interpolation

  • « Raccorde » des points de grille pour modéliser l'espace entre eux.

  • Plus proche voisin : utilise la valeur mesurée la plus proche.

$$ Interpolation\ en\ 1\ D $$

Interpolation en 1D plus proche voisin

Analyse d'images biomédicales en Python

Interpolation

  • « Raccorde » des points de grille pour modéliser l'espace entre eux.

  • Plus proche voisin : utilise la valeur mesurée la plus proche.

    • order = 0
  • Interpolation B-spline : modélise l'espace entre points avec des splines d'un ordre donné.

    • order est entre 1 et 5

$$ Interpolation\ en\ 1\ D $$

Interpolation B-spline

Analyse d'images biomédicales en Python

Interpolation en 2D

im=np.arange(100).reshape([10,10])

Image jouet colorée croissante

zm1=ndi.zoom(im, zoom=10, order=0)
zm2=ndi.zoom(im, zoom=10, order=2)
zm3=ndi.zoom(im, zoom=10, order=4)

Image colorée croissante multi-ordre

Analyse d'images biomédicales en Python

Passons à la pratique !

Analyse d'images biomédicales en Python

Preparing Video For Download...