객체와 레이블

Python을 활용한 생의학 영상 분석

Stephen Bailey

Instructor

분할은 이미지를 여러 부분으로 나눕니다

세포 분할

뇌 분할

Python을 활용한 생의학 영상 분석

Sunnybrook 심장 데이터베이스

박출률: 심장 좌심실(LV)에서 박출되는 혈액의 비율.

박출률 그림

심장 이미지

Python을 활용한 생의학 영상 분석

이미지 구성 요소 레이블링

심장 2D 마스크

Python을 활용한 생의학 영상 분석

이미지 구성 요소 레이블링

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

레이블링된 세포

Python을 활용한 생의학 영상 분석

레이블 선택

이미지에서 단일 레이블 선택:

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

레이블 하나

이미지에서 여러 레이블 선택:

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

레이블 두 개

Python을 활용한 생의학 영상 분석

객체 추출

  • 경계 상자: 객체를 완전히 둘러싸는 픽셀 범위

  • ndi.find_objects()는 경계 상자 좌표 목록을 반환합니다

경계 상자가 표시된 레이블 이미지

Python을 활용한 생의학 영상 분석

객체 추출

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

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

여러 이미지 상자

Python을 활용한 생의학 영상 분석

연습해 봅시다!

Python을 활용한 생의학 영상 분석

Preparing Video For Download...