Objekte und Labels

Biomedizinische Bildanalyse mit Python

Stephen Bailey

Instructor

Segmentierung teilt ein Bild in Teile

Zellsegmentierung

Gehirnsegmentierung

Biomedizinische Bildanalyse mit Python

Sunnybrook Cardiac Database

Ejektionsfraktion: der Anteil Blut, den die linke Herzkammer (LV) auspumpt.

Illustration der Ejektionsfraktion

Herzbild

Biomedizinische Bildanalyse mit Python

Bildkomponenten labeln

2D-Herzmaske

Biomedizinische Bildanalyse mit Python

Bildkomponenten labeln

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()

Gelabelte Zellen

Biomedizinische Bildanalyse mit Python

Label-Auswahl

Ein einzelnes Label im Bild auswählen:

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

Ein Label

Viele Labels im Bild auswählen:

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

Zwei Labels

Biomedizinische Bildanalyse mit Python

Objektextraktion

  • Begrenzungsrahmen (Bounding Box): Pixelbereich, der ein Objekt vollständig umschließt

  • ndi.find_objects() gibt eine Liste von Bounding-Box-Koordinaten zurück

Gelabeltes Bild mit Bounding-Boxen

Biomedizinische Bildanalyse mit Python

Objektextraktion

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

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

mehrere Bildausschnitte

Biomedizinische Bildanalyse mit Python

Lass uns üben!

Biomedizinische Bildanalyse mit Python

Preparing Video For Download...