Oggetti ed etichette

Analisi di immagini biomediche in Python

Stephen Bailey

Instructor

La segmentazione divide un'immagine in parti

segmentazione-cellule

segmentazione-cervello

Analisi di immagini biomediche in Python

Sunnybrook Cardiac Database

Frazione di eiezione: quota di sangue pompata fuori dal ventricolo sinistro (LV) del cuore.

illustrazione-frazione-di-eiezione

Immagine cardiaca

Analisi di immagini biomediche in Python

Etichettare i componenti dell'immagine

maschera-cardiaca-2d

Analisi di immagini biomediche in Python

Etichettare i componenti dell'immagine

import scipy.ndimage as ndi
im=imageio.imread('SCD4201-2d.dcm')
filt=ndi.gaussian_filter(im, 
                         sigma=2)
mask = filt > 150

labels, nlabels = ndi.label(mask)
nlabels
14
plt.imshow(labels, cmap='rainbow')
plt.axis('off')
plt.show()

cellule-etichettate

Analisi di immagini biomediche in Python

Selezione delle etichette

Seleziona un'unica etichetta nell'immagine:

np.where(labels == 1, im, 0)

Un'etichetta

Seleziona più etichette nell'immagine:

np.where(labels < 3, im, 0)

Due etichette

Analisi di immagini biomediche in Python

Estrazione degli oggetti

  • Rettangolo di delimitazione (bounding box): intervallo di pixel che racchiude completamente un oggetto

  • ndi.find_objects() restituisce un elenco di coordinate dei rettangoli

immagine-etichettata-con-rettangoli

Analisi di immagini biomediche in Python

Estrazione degli oggetti

labels, nlabels = ndi.label(mask)
boxes = ndi.find_objects(labels)

boxes[0]
(slice(116,139), slice(120, 141))

più-ritagli-immagine

Analisi di immagini biomediche in Python

Esercitiamoci!

Analisi di immagini biomediche in Python

Preparing Video For Download...