Images N-dimensionnelles

Analyse d'images biomédicales en Python

Stephen Bailey

Instructor

Des images de toutes formes et tailles

im[row, col]

radiographie_du_pied

Analyse d'images biomédicales en Python

Des images de toutes formes et tailles

vol[pln, row, col]

corps_gif

Analyse d'images biomédicales en Python

Des images de toutes formes et tailles

im[row, col, ch]

cellule_rgb

Analyse d'images biomédicales en Python

Des images de toutes formes et tailles

im_ts[time, row, col, ch]

cellule_video

Analyse d'images biomédicales en Python

Les images N-D sont des empilements de tableaux

pile-d-images-légèrement-décalées

import imageio.v2 as imageio
import numpy as np

im1=imageio.imread('chest-000.dcm') im2=imageio.imread('chest-001.dcm') im3=imageio.imread('chest-002.dcm')
im1.shape
(512, 512)
vol = np.stack([im1, im2, im3])

vol.shape
(3, 512, 512)
Analyse d'images biomédicales en Python

Charger des volumes directement

imageio.volread() :

  • lire directement des données multidimensionnelles
  • assembler un volume à partir de plusieurs images
import os
os.listdir('chest-data')
['chest-000.dcm', 
 'chest-001.dcm', 
 'chest-002.dcm',
 ..., 
 'chest-049.dcm']
import imageio.v2 as imageio
vol = imageio.volread('chest-data', format='DICOM')

vol.shape
(50, 512, 512)
Analyse d'images biomédicales en Python

Dimensions, échantillonnage et champ de vue

 Dimensions de l'image : nombre d'éléments par axe

import imageio.v2 as imageio
vol = imageio.volread(
            'chest-data', format='DICOM')
# Image shape (in voxels)
n0, n1, n2 = vol.shape
n0, n1, n2
(50, 512, 512)

Champ de vue : espace physique couvert sur chaque axe

Pas d'échantillonnage : espace physique couvert par chaque élément

# Sampling rate (in mm)
d0, d1, d2 = vol.meta['sampling']
d0, d1, d2
(2, 0.5, 0.5)
# Field of view (in mm)
n0 * d0, n1 * d1, n2 * d2
(100, 256, 256)
Analyse d'images biomédicales en Python

Passons à la pratique !

Analyse d'images biomédicales en Python

Preparing Video For Download...