我正在使用nibabel
包将一些 nparray 保存为 nifti 格式。我指定了斜率和截距值,以便将数据缩放回其原始格式。但是,当我加载数据时,比例和截距信息不再可用。这是重现该行为的代码片段:
import numpy as np
import nibabel as nib
# Create dumb 3D data:
img=np.ones((20,20,5),dtype=np.uint16)
# Create an affine matrix:
affine=np.eye(4)
# Create nifti
nii=nib.Nifti1Image(img,affine=affine)
# Set slope and inter values
nii.header.set_slope_inter(slope=1,inter=0)
# Save the nifti on disk
nib.save(nii,'test.nii')
# Load back the data
nii2=nib.load('test.nii')
# Get the slope and inter
print(nii2.header.get_slope_inter())
# It returns (None, None)
输出是(None,None)
,尽管nii2.header.has_data_slope
和 nii2.header.has_data_intercept
都返回 True。
我用其他 nifti 阅读器(如 mango 和 itk-snap)打开了 nifti 文件,可以检查斜率和截距是否正确显示。
这是一个错误吗?
谢谢您的帮助!