如何对nifti图像进行仿射变换?

时间:2018-06-08 06:56:04

标签: matlab image-processing nifti

当我使用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]

1 个答案:

答案 0 :(得分:0)

Niftiinfo工作正常,我在Matlab的2018A和2018B,所以我愿意为这个问题是不正确的写入nifti文件,即一个问题,您srow_ *和/或qform / sform代码。如果你能发布标题转储,我敢肯定,这将清楚地说明了问题。