시작하기무료로 시작하기

마스크 적용하기

마스크는 이진(binary)이지만, 이미지에 적용해서 False인 위치의 픽셀을 걸러낼 수 있어요.

NumPy의 where() 함수는 마스크를 적용하는 유연한 방법이에요. 이 함수는 세 가지 인수를 받습니다:

np.where(condition, x, y)

condition, x, y는 배열이거나 단일 값일 수 있어요. 이를 통해 원본 이미지 값은 그대로 두면서, 마스크된 값은 0으로 설정할 수 있습니다.

이제 손 엑스레이(im)에서 뼈처럼 보이는 픽셀을 선택해 마스크를 적용하는 연습을 해봅시다.

이 연습은 강의의 일부입니다

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

강의 보기

연습 안내

  • 145 이상인 픽셀을 선택해 Boolean 뼈 마스크를 만드세요.
  • np.where()를 사용해 이미지에 마스크를 적용하세요. 마스크에 포함되지 않은 값은 0으로 설정해야 합니다.
  • 마스크가 적용된 이미지의 히스토그램을 만드세요. 0이 아닌 픽셀만 선택하려면 다음 인수를 사용하세요: min=1, max=255, bins=255.
  • 마스크 이미지와 히스토그램을 모두 플로팅하세요. 이 부분은 미리 구현되어 있습니다.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import SciPy's "ndimage" module
____

# Screen out non-bone pixels from "im"
mask_bone = ____
im_bone = np.where(____, ____, ____)

# Get the histogram of bone intensities
hist = ____

# Plot masked image and histogram
fig, axes = plt.subplots(2,1)
axes[0].imshow(im_bone)
axes[1].plot(hist)
format_and_render_plot()
코드 편집 및 실행