【问题标题】:How do you flip a NIFTI image (.nii) in MATLAB?如何在 MATLAB 中翻转 NIFTI 图像 (.nii)?
【发布时间】:2021-09-06 14:20:14
【问题描述】:

我知道有函数 imrotate3 和 imtransform 用于对 .nii 文件进行几何变换。但是,我什至不确定它们是如何工作的。

我正在尝试沿 x 轴翻转 nifti 图像。哪位大神能详细解释一下功能吗?

【问题讨论】:

    标签: matlab image-processing nifti


    【解决方案1】:

    你可以很好地使用 imrotate3 等,但这样做可能更容易:

    首先读取 NIfTI 文件,然后使用 imshow 函数显示冠状切片:

    V = niftiread('brain.nii');
    imshow(V(:, :, 14))
    

    以下是沿 x 轴(水平方向)翻转的方法。如果您想要其他轴,请考虑使用 flipud - 向上向下。

    Vflip = fliplr(V);
    

    现在再次显示相同的切片,但用于 Vflip 体积。请注意,它已按预期翻转。

    figure, imshow(Vflip(:, :, 14))
    

    【讨论】:

      【解决方案2】:

      如果需要,您可以为此使用多维索引:

      >> 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 平面倒置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-06
        • 2011-04-29
        • 2021-10-01
        • 2011-03-01
        • 1970-01-01
        相关资源
        最近更新 更多