마스크 다듬기
완벽하지 않은 마스크는 픽셀을 더하거나 빼서 다듬을 수 있어요. SciPy에는 이를 위한 여러 유용한 메서드가 포함되어 있습니다. 예를 들면 다음과 같아요:
binary_dilation: 가장자리를 따라 픽셀 추가binary_erosion: 가장자리를 따라 픽셀 제거binary_opening: 먼저 침식, 그다음 팽창하여 가장자리 주변을 "열기"binary_closing: 먼저 팽창, 그다음 침식하여 구멍을 "메우기"
이 연습에서는 뼈 마스크를 만든 다음, 추가 픽셀이 포함되도록 마스크를 다듬어 보세요.
이후 연습 문제에서는 다음 임포트를 미리 실행해 두었습니다:
import scipy.ndimage as ndi
이 연습은 강의의 일부입니다
Python을 활용한 생의학 영상 분석
연습 안내
im에서 값이145이상인 픽셀을 선택해 뼈 마스크를 만드세요.ndi.binary_dilation()을 사용해mask_bone의 크기를 늘리세요. 여러 번 팽창하도록iterations를5로 설정하세요.ndi.binary_closing()을 사용해mask_bone의 구멍을 메우세요. 최대 10픽셀 너비의 구멍을 메우도록iterations를5로 설정하세요.- 원본 마스크와 다듬은 마스크를 함께 시각화하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create and tune bone mask
mask_bone = ____
mask_dilate = ndi.binary_dilation(____, ____)
mask_closed = ____
# Plot masked images
fig, axes = plt.subplots(1,3)
axes[0].imshow(mask_bone)
axes[1].imshow(mask_dilate)
____
format_and_render_plot()