**问题描述:**输入nifti图像,截取图像的一部分并输出,比如截取图像的101010这一块,并导出为nii文件
matlab
inputFile = 'D:\aa\dcm\input.nii'; % 输入文件路径
subsetSize = [10 10 10]; % 截取的图像块大小
subsetStart = [1 1 1]; % 截取的起始位置
% 读取NIfTI图像
img = niftiread(inputFile);
% 获取图像尺寸
imgSize = size(img);
% 检查截取区域是否超出图像边界
if any(subsetSize + subsetStart > imgSize)
error('Subset exceeds image boundaries.');
end
% 截取图像
subset = img(subsetStart(1):subsetStart(1)+subsetSize(1)-1, ...
subsetStart(2):subsetStart(2)+subsetSize(2)-1, ...
subsetStart(3):subsetStart(3)+subsetSize(3)-1);
% 保存导出,导出为nifti
niiFile = 'output.nii';
niftiwrite(subset,niiFile);
3D展示:
itk-snap -- edit -- 3D Panel -- Toggle Volume Rendering V