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)