새소식

반응형
IT skill/Python

[python] np.where 사용법 (nifti 영상)

  • -
반응형

nifti 영상 로드:

import nibabel as nib
import numpy as np

# load nifti image
img = nib.load(nifti_image_path)
img_data = img.get_fdata()

 

np.where 조건 1개 적용:

# one condition
modified_image = np.where((img_data < 200), 0, img_data)

 

np.where 조건 2개 이상 적용:

# several condition 1
# 영상의 intensity가 200보다 작고 300보다 크면 intensity를 0으로 만든다.
modified_image = np.where((img_data < 200) & (img_data > 300), 0, img_data)

# several condition 2
# 영상의 intensity가 200 또는 300인 복셀은 0으로 만든다.
modified_image = np.where((img_data == 200) | (img_data == 300), 0, img_data)

 

nifti 영상 저장:

modified_image_nii = nib.Nifti1Image(modified_image, img.affine, img.header)
nib.save(modified_image_nii, path_to_save)
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감과 광고 클릭 부탁드립니다~