Obiekty i etykiety

Analiza obrazów biomedycznych w Pythonie

Stephen Bailey

Instructor

Segmentacja dzieli obraz na części

segmentacja-komórek

segmentacja-mózgu

Analiza obrazów biomedycznych w Pythonie

Baza danych Sunnybrook Cardiac

Frakcja wyrzutowa: odsetek krwi wyrzucanej z lewej komory serca (LV).

ilustracja-frakcji-wyrzutowej

Obraz serca

Analiza obrazów biomedycznych w Pythonie

Etykietowanie składowych obrazu

maska-serca-2d

Analiza obrazów biomedycznych w Pythonie

Etykietowanie składowych obrazu

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

komórki-z-etykietami

Analiza obrazów biomedycznych w Pythonie

Wybór etykiet

Wybór pojedynczej etykiety w obrazie:

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

Jedna etykieta

Wybór wielu etykiet w obrazie:

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

Dwie etykiety

Analiza obrazów biomedycznych w Pythonie

Wyodrębnianie obiektów

  • Ramka ograniczająca: zakres pikseli całkowicie otaczający obiekt

  • ndi.find_objects() zwraca listę współrzędnych ramek ograniczających

obraz-z-etykietami-i-ramkami-ograniczającymi

Analiza obrazów biomedycznych w Pythonie

Wyodrębnianie obiektów

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

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

wiele-ramek-obrazu

Analiza obrazów biomedycznych w Pythonie

Czas na ćwiczenia!

Analiza obrazów biomedycznych w Pythonie

Preparing Video For Download...