【发布时间】:2021-09-06 14:20:14
【问题描述】:
我知道有函数 imrotate3 和 imtransform 用于对 .nii 文件进行几何变换。但是,我什至不确定它们是如何工作的。
我正在尝试沿 x 轴翻转 nifti 图像。哪位大神能详细解释一下功能吗?
【问题讨论】:
标签: matlab image-processing nifti
我知道有函数 imrotate3 和 imtransform 用于对 .nii 文件进行几何变换。但是,我什至不确定它们是如何工作的。
我正在尝试沿 x 轴翻转 nifti 图像。哪位大神能详细解释一下功能吗?
【问题讨论】:
标签: matlab image-processing 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 平面倒置。
【讨论】: