我为医学图像加载了一些 .mdh 和 .raw 文件,但有一件事困扰着我。我知道在 .dicom 文件中,您可以使用 rescale.slope 和 rescale.intercept 将像素强度转换为 HU,而 .mhd 文件无法包含这些。因此,我想知道如何从 .mdh 和 .raw 文件中更好地查看我的图像数据。这是我生成的图像,这是我想要完成的图像。
在这里,我从数据中加载一个切片,并绘制每个“像素”值的直方图(不确定是否称它们为像素或体素)。
虽然我确实想到了简单地重置具有最小值的像素,但我真的很想听听有经验的同行是否有更复杂的方法来实现这一点。
itk_img = SimpleITK.ReadImage(mhd_file)
img_array = SimpleITK.GetArrayFromImage(itk_img)
plt.imshow(img_array[80], cmap=plt.cm.gray) # show a slice from a 3D data
plt.show()
plt.hist(img_array[80].flatten(), bins=80, color='c')
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
我已经把我所有的图片都上传到了github,因为我还没有上传图片的权限,所以请随意点击。
非常感谢!