我有一个 T1 图像 (NIFTI),已经对齐,尺寸为 121 x 145 x 121。
该图像由 nibabel 加载。体素尺寸为 1.5 x 1.5 x 1.5 毫米。
我想将其下采样为分辨率为 2.0 x 2.0 x 2.0 毫米的图像并保持图像对齐。
我对 MRI 图像处理知之甚少。我找不到清晰的教程。
我怎么做 ?如果您知道任何其他可以做到这一点的 Python 库,它也可以工作。
我正在与 Nibabel 一起阅读一些 .nii 文件。我遇到了不同的示例,其中一些使用 get_data() 函数,而另一些则使用 get_fdata() 函数。我找不到他们的文档(nibabel manuel)中有什么区别。谁能解释一下吗?
提前致谢。
从这个问题如何将 Nifti 文件转换为 Numpy 数组?,我创建了一个 nifti 图像的 3D numpy 数组。我对这个数组做了一些修改,比如我通过添加零填充来改变数组的深度。现在我想将此数组转换回 nifti 图像,我该怎么做?
我试过:
imga = Image.fromarray(img, 'RGB')
imga.save("modified/volume-20.nii")
Run Code Online (Sandbox Code Playgroud)
但它不识别nii扩展名。我也试过:
nib.save(img,'modified/volume-20.nii')
Run Code Online (Sandbox Code Playgroud)
这也不起作用,因为如果我想使用功能img必须是。在上面的两个例子中都是一个 3D numpy 数组。nibabel.nifti1.Nifti1Imagenib.saveimg
我有一个 nifti 文件1.nii.gz
现在,我从来没有处理过 nifti 文件。
所以,只要使用这个软件打开它,我就意识到 nii.gz 是一种包含3 个二维图片数组的容器。事实上,如果我滚动鼠标,我可以看到图片中标记为 1 的“方向”的 448 个 2d 图片、“方向”2 的 448 个 2d 图片和“方向”3 的 25 个 2d 图片。
之后,我打开 shell,尝试将 nii.gz 与 Nibabel 库一起使用
import nibabel as nib
img = nib.load(1.nii.gz)
Run Code Online (Sandbox Code Playgroud)
但是,如果我输入
img.shape
Run Code Online (Sandbox Code Playgroud)
我得到 (448,448,25) 结果,所以看起来这个 .nii.gz 是一个 3d 矩阵,而不是一个包含 3 个 2d 图片数组的容器。你能解释一下吗?
我已经使用 nibabel 工具加载了 nifti 图像文件,并且使用了一些属性。\n但我不知道\xe2\x80\x99t 不知道如何计算单个体素的体积(以 mm\xc2\xb3 为单位)。
\n