【发布时间】:2021-05-05 20:09:36
【问题描述】:
我正在尝试制作一个 SimpleITK 图像,我希望特定体素值为 1,其余为 0。我是 SimpleITK 的新手,所以我觉得我错过了一些东西。
无论如何,我已经生成了一些索引,我将体素值分配为 1。但是,我希望能够可视化这些样本在空间中相对于彼此的方向。我尝试了多种方法,将一个充满零且所需索引为 1 的数组转换为 NIFTI 图像,但我仍然无法将其可视化并查看这些点的外观
下面是我试过的基本代码sn-p
def WriteSampleToDisk():
"""Creates an empty image, assigns generated samples with voxel value 1 and writes it to disk.
returns image written to disk"""
img = sitk.Image(512, 512, 416, sitk.sitkInt16)
img.SetOrigin((0, 0, 0))
img.SetSpacing((1, 1, 1))
#Some code to get indices
for i in range(len(dimx)): #Same number of elements in every index dimension
img.SetPixel(dimz[i], dimy[i], dimx[i], 1)#Sitk convention takes z axis as the first axis
arr = sitk.GetArrayFromImage(img)
print(np.argwhere(arr == 1)) --> It's giving me the indices where I have Set the voxel value as 1
sitk.WriteImage(img, "image.nii")
return img
但是,即使设置了阈值,当我尝试在 paraview 上查看它时,我仍然一无所获。这可能是什么原因?有没有办法规避这个问题?
【问题讨论】:
标签: python paraview itk simpleitk medical-imaging