首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用nibabel保存nifti的SPM风格

用nibabel保存nifti的SPM风格
EN

Stack Overflow用户
提问于 2020-09-03 09:53:42
回答 1查看 360关注 0票数 0

我已经使用python来分析一些fMRI数据,现在我想将我的结果保存为niftis,然后我可以在SPM分析中使用它。

我的数据分数是一个形状的float64数组(97,115,97)。我使用了以下代码来保存它:

代码语言:javascript
复制
import nibabel as nib   
import nilearn 

scores_image = nib.Nifti1Image(scores,affine = np.eye(4))
nib.save(scores_image,"scores.nii")

但是,当我将数据加载到SPM中时,我注意到源和规模都与SPM所期望的不同:my scores.nii (上像)与标准SPM的比较

有人知道哪一种代码会自动保存我的分数变量,其来源和大小与SPM预期的相同吗?

更新:这里的是SPM图像的标题,突出显示它与我自己的图像不同的地方:

代码语言:javascript
复制
comp_img = nib.load('spmT_0014.nii')

print(comp_img.header)
<class 'nibabel.nifti1.Nifti1Header'> object, endian='<'
sizeof_hdr      : 348
data_type       : b''
db_name         : b''
extents         : 0
session_error   : 0
regular         : b'r'                          ## ---> b''
dim_info        : 0
dim             : [  3  97 115  97   1   1   1   1]
intent_p1       : 0.0
intent_p2       : 0.0
intent_p3       : 0.0
intent_code     : none
datatype        : float32
bitpix          : 32
slice_start     : 0
pixdim          : [1. 2. 2. 2. 0. 0. 0. 0.]     ## ---> [1. 1. 1. 1. 1. 1. 1. 1.]
vox_offset      : 0.0
scl_slope       : nan
scl_inter       : nan
slice_end       : 0
slice_code      : unknown
xyzt_units      : 10                            ## ---> 0
cal_max         : 0.0
cal_min         : 0.0
slice_duration  : 0.0
toffset         : 0.0
glmax           : 0
glmin           : 0
descrip         : b''
aux_file        : b''
qform_code      : aligned                       ## ---> unknown
sform_code      : aligned
quatern_b       : 0.0
quatern_c       : 0.0
quatern_d       : 0.0
qoffset_x       : -96.5                         ## ---> 0
qoffset_y       : -132.5                        ## ---> 0
qoffset_z       : -78.5                         ## ---> 0
srow_x          : [  2.    0.    0.  -96.5]     ## ---> [1. 0. 0. 0.]
srow_y          : [   0.     2.     0.  -132.5] ## ---> [0. 1. 0. 0.]
srow_z          : [  0.    0.    2.  -78.5]     ## ---> [0. 0. 1. 0.]
intent_name     : b''
magic           : b'n+1'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-04 08:04:48

好的,如果其他人在某个时候尝试这样做,我已经找到了一种通过使用以下代码来做到这一点的方法:

代码语言:javascript
复制
from nilearn import image
import nibabel as nib

comp_img = nib.load('spmT_0014.nii')
scores_img = image.new_img_like(comp_img, scores, copy_header=False)

它提供了以下内容(上面的图像是SPM的图像,下的图像是我创建的):SPM中的比较

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63721140

复制
相关文章

相似问题

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