首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Nibabel从Nifti图像中获取图像强度矩阵?

如何使用Nibabel从Nifti图像中获取图像强度矩阵?
EN

Stack Overflow用户
提问于 2017-07-14 19:57:38
回答 4查看 1.4K关注 0票数 3

我是NiBabel的新手。我想知道如何使用这个库从Nifti图像中获得强度矩阵。我使用以下脚本来获取体素:

代码语言:javascript
复制
import nibabel as ni
example_img = ni.load('myImage.nii')

data = example_img.get_data()

一开始我认为数据包含体素的强度,但当我打印它时,我看到了负值,在图像中有负强度似乎很奇怪,你不这样认为吗?我需要在nifti图像中获得体素的强度,是否可以使用nibabel?如果没有,你能给我一个其他的解决方案吗?谢谢。

EN

回答 4

Stack Overflow用户

发布于 2017-07-25 04:28:57

不确定如何获得负体素值,但这里有一种将NifTi图像显示为矩阵的方法:

代码语言:javascript
复制
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“打印出来/存储在文本文件中。

票数 2
EN

Stack Overflow用户

发布于 2019-06-18 19:23:16

不是的。你可以有底片和nan。

这些代表了大脑之外的体素。强度只是输出的

代码语言:javascript
复制
data = example_img.get_fdata()

注意:使用get_fdata而不是get_data,总是可以得到浮点数值数组。

票数 1
EN

Stack Overflow用户

发布于 2018-10-07 17:53:12

另一种直接使用的方法是使用nltools ::Brain_Data函数将数据直接提取到一维数组中。虽然不是Nibabel,但与您的逻辑相似。

代码语言:javascript
复制
from nltools.data import Brain_Data
img = Brain_Data('myImage.nii')
data = img.data
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45102409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档