0

当我niftiinfo用于提取 nifti 图像的信息时,出现以下错误。是否可以进行仿射变换以便 niftiinfo 正常工作

info = niftiinfo('Subject01.nii');  

使用 affine3d/set.T 时出错(第 340 行) 仿射变换矩阵的最后一列必须由零组成,除了最后一行中的一。

affine3d 中的错误(第 117 行)self.T = A;images.internal.nifti.niftiImage/getXForm 中的错误(第 506 行) xform = affine3d([R zeros(3,1); T 1]');

images.internal.nifti.niftiImage/simplifyStruct 中的错误(第 162 行)[XformName, Xform] = self.getXForm();

niftiinfo 中的错误(第 50 行) simpleStruct = NV.simplifyStruct();

matlab 2018b 产量

Filemoddate: '21-Jan-2015 13:44:48'
                 Filesize: 7256302
              Description: ''
                ImageSize: [39 305 305]
          PixelDimensions: [2 1.2500 1.2500]
                 Datatype: 'int16'
             BitsPerPixel: 16
               SpaceUnits: 'Unknown'
                TimeUnits: 'None'
           AdditiveOffset: 0
    MultiplicativeScaling: 0
               TimeOffset: 0
                SliceCode: 'Unknown'
       FrequencyDimension: 0
           PhaseDimension: 0
         SpatialDimension: 0
    DisplayIntensityRange: [0 0]
            TransformName: 'Qform'
                Transform: [1×1 affine3d]
                  Qfactor: 1
                      raw: [1×1 struct]
4

1 回答 1

0

Niftiinfo 在 Matlab 的 2018a 和 2018b 上对我来说效果很好,所以我愿意认为问题是 nifti 文件编写不正确,即你的 srow_* 和/或 qform/sform 代码有问题。如果您可以发布标头转储,我相信这将清楚地说明问题。

于 2019-02-01T17:13:26.753 回答