我知道函数imrotate3和imtransform用于对.nii文件进行几何变换。然而,我甚至不确定它们是如何工作的。
我正在尝试沿x轴翻转nifti图像。有人能详细解释一下功能吗?
您可以很好地使用imrotate3等来实现这一点,但可以更容易地执行以下操作:
首先读取NIfTI文件,并使用imshow函数显示冠状切片:
V = niftiread('brain.nii');
imshow(V(:, :, 14))
以下是如何沿x轴(水平方向(翻转。如果你想要另一个轴,可以考虑flipud-上下。
Vflip = fliplr(V);
现在再次显示相同的切片,但针对Vflip体积。请注意,它已按预期翻转。
figure, imshow(Vflip(:, :, 14))
如果需要,可以使用多维索引:
>> a = reshape( 1:8, [ 2 2 2 ] )
a(:,:,1) =
1 3
2 4
a(:,:,2) =
5 7
6 8
>> b = a ( end:-1:1, :, : )
b(:,:,1) =
2 4
1 3
b(:,:,2) =
6 8
5 7
请注意,Matlab中的第一个维度选择了行,因此翻转第一个维度(x
?(在屏幕上显示为将每个2d平面倒置。