Objecten en labels

Biomedische beeldanalyse met Python

Stephen Bailey

Instructor

Segmentatie splitst een afbeelding in delen

cel-segmentatie

hersen-segmentatie

Biomedische beeldanalyse met Python

Sunnybrook Cardiac Database

Ejectiefractie: het deel van het bloed dat uit de linker hartkamer (LV) wordt gepompt.

ejectiefractie-illustratie

Cardio-afbeelding

Biomedische beeldanalyse met Python

Bewegende delen labelen

cardio-2d-masker

Biomedische beeldanalyse met Python

Bewegende delen labelen

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

gelabelde-cellen

Biomedische beeldanalyse met Python

Labels selecteren

Selecteer één label in de afbeelding:

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

Eén label

Selecteer meerdere labels in de afbeelding:

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

Twee labels

Biomedische beeldanalyse met Python

Objecten extraheren

  • Omhullende rechthoek (bounding box): bereik aan pixels dat een object volledig omsluit

  • ndi.find_objects() geeft een lijst met coördinaten van omhullende rechthoeken

gelabelde-afbeelding-met-omhullende-rechthoeken

Biomedische beeldanalyse met Python

Objecten extraheren

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

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

meerdere-afbeeldingsvakken

Biomedische beeldanalyse met Python

Laten we oefenen!

Biomedische beeldanalyse met Python

Preparing Video For Download...