我是NiBabel的新手。我想知道如何使用这个库从Nifti图像中获得强度矩阵。我使用以下脚本来获取体素:
import nibabel as ni
example_img = ni.load('myImage.nii')
data = example_img.get_data()一开始我认为数据包含体素的强度,但当我打印它时,我看到了负值,在图像中有负强度似乎很奇怪,你不这样认为吗?我需要在nifti图像中获得体素的强度,是否可以使用nibabel?如果没有,你能给我一个其他的解决方案吗?谢谢。
发布于 2017-07-25 04:28:57
不确定如何获得负体素值,但这里有一种将NifTi图像显示为矩阵的方法:
import nibabel as ni
img = ni.load('myImage.nii')
data = example_img.get_data()
mat = []
for i in range(img.shape[0]):
plane = []
for j in range(img.shape[1]):
row = []
for k in range(img.shape[2]):
row.append(data[i][j][k])
plane.append(row)
mat.append(plane)现在,您可以将变量"mat“打印出来/存储在文本文件中。
发布于 2019-06-18 19:23:16
不是的。你可以有底片和nan。
这些代表了大脑之外的体素。强度只是输出的
data = example_img.get_fdata()注意:使用get_fdata而不是get_data,总是可以得到浮点数值数组。
发布于 2018-10-07 17:53:12
另一种直接使用的方法是使用nltools ::Brain_Data函数将数据直接提取到一维数组中。虽然不是Nibabel,但与您的逻辑相似。
from nltools.data import Brain_Data
img = Brain_Data('myImage.nii')
data = img.datahttps://stackoverflow.com/questions/45102409
复制相似问题