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



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

info = niftiinfo('Subject01.nii');  

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

仿射 3d 中的错误(第 117 行( 自我。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]

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

最新更新