我正在使用特定的工具箱( Tools for NIfTI and Analyze image )来使用MATLAB处理NIfTI文件,但是当我进行简单的值修改时,与图像关联的空间信息会以某种方式更改。我不能直接比较前后图像,因为它们有不同的起源和/或一些轻微的翻译。我没有(故意)修改NIfTI头信息。实际上,我只使用了三个命令:
matlab_nii = load_nii('original.nii');
matlab_nii.img(matlab.nii.img > 10) = NaN;
save_nii(matlab_nii, 'new.nii');
尽管没有编辑任何标题信息,只是直接修改图像值,新的NIfTI文件具有不同的空间属性,使得无法直接与原始文件进行比较,以验证确实发生了修改。 / p>
我希望有人有使用这些工具的经验并遇到过这个问题。
答案 0 :(得分:0)
在this关于NIfTI / MATLAB的问题的答案之一中找到了解决方案。
答案是使用load_untouch_nii
代替load_nii
和save_untouch_nii
代替save_nii
。
我最初使用的函数会将仿射变换数据(如果它存在,显然它确实存在)应用于图像。使用这些函数可以在体素之间产生直接的空间关联。