首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将numpy数组转换为4D nifti文件

将numpy数组转换为4D nifti文件
EN

Stack Overflow用户
提问于 2021-12-17 20:12:06
回答 1查看 240关注 0票数 1

我在蟒蛇上做单体素模拟,以产生附加噪声的模拟信号.然后,我希望将生成的numpy数组转换为nifti文件,其形状如下(100,100)。

在不同的噪声和张量旋转条件下,行表示一个模拟信号。当用特定采样方案(100个不同方向)测量时,每一列表示在这些条件下该体素的相应信号强度。

DWIs阵列

我要用以下格式将这个矩阵保存到一个nifti文件中(10,10,1,100)。

期望形状

我不知道如何将numpy数组(DWIs.shape = (100,100))正确地分配到我想要的格式(10、10、1、100):

代码语言:javascript
复制
data[…, ] = ?
 
converted_array = np.array(data, dtype=np.float32)
nifti_file = nib.Nifti1Image(converted_array, affine=np.eye(4))
nib.save(nifti_file, os.path.join(path_to_save, 'snr{}'.format(snr), 'full/dwi_sims_snr{}.nii.gz'.format(snr)))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-18 07:02:04

在NumPy中,您不需要“分配”数据数组。

假设您有一个100x100 converted_array。那是

代码语言:javascript
复制
>>> converted_array.shape
(100,100)
>>> converted_array[0]
[146.4, 72.9, ..., 174.9]

然后,您可以将这个数组作为reshape

代码语言:javascript
复制
>>> nifti_array = converted_array.reshape((10,10,1,100))
>>> nifti_array[0][0][0]
[146.4, 72.9, ..., 174.9]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70398430

复制
相关文章

相似问题

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