如何在MATLAB中翻转NIFTI图像(.nii)



我知道函数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平面倒置。

相关内容

  • 没有找到相关文章

最新更新