Nifti 格式最初是为神经影像学发明的。神经影像信息学技术计划(NIFTI)将 NIfTI 格式预设为 ANALYZE7.5 格式的替代品。它最初的应用领域是神经影像,但是也被用在其他领域。这种格式的主要特点就是它包含两个能够将每个体素的索引(i,j,k)和它的空间位置(x,y,z)关联起来的仿射坐标。
Tools for NIfTI and ANALYZE image 工具包的基本功能:
(官网提供的Basic Programs,自用随手保存一下)
网址:https://ww2.mathworks.cn/matlabcentral/fileexchange/8797-tools-for-nifti-and-analyze-image
安装包:
链接:https://pan.baidu.com/s/132B9mbzeli8MvRD6rMpA6A
提取码:1vw3
如何安装NIFTI请见链接:
https://blog.csdn.net/Alexa_/article/details/132351998?spm=1001.2014.3001.5501
1. load_untouch_header_only.m:仅加载 NIfTI 或 ANALYZE 文件的标题部分。输入文件将被自动检测。NIfTI 文件将返回 NIfTI 结构,ANALYZE 文件将返回 ANALYZE 结构。
2. load_nii.m:加载 N 维 NIfTI 文件(其中 N 可以是 3 到 7)或 ANALYZE 文件(其中 N 可以是 3 到 4),并应用标题信息(例如仿射几何变换、体素强度缩放、等)到数据。如果您的文件超过 3 维(例如时间序列等),您还可以指定一个范围以仅提取 1 个或多个卷。
3. save_nii.m:将由“load_nii.m”加载或由“make_nii.m”制作的N维NIfTI结构(其中N可以是3到7)保存到NIfTI文件中。
4. make_nii.m:根据N维矩阵和其他可选参数(例如voxel_size、origin等)制作N维NIfTI结构(其中N可以是3到7)。使用“save_nii”命令,可以将“make_nii”生成的 NIfTI 结构保存到 NIfTI 文件中。
5. make_ana.m:根据3D矩阵和其他可选参数(如voxel_size、origin等)制作3D ANALYZE结构。使用“save_untouch_nii”命令,可以将“make_ana”生成的ANALYZE 结构保存到一个ANALYZE 文件中,以便与一些仅限ANALYZE 的程序兼容。
6. reslice_nii.m:重新采样3D(或4D)NIfTI文件,或在.mat文件中使用仿射矩阵M的ANALYZE文件,并将重新采样的数据保存到新的NIfTI文件中。该程序将基于仿射矩阵,这对于无法使用“load_nii.m”加载的具有非正交旋转或剪切的倾斜图像特别有用。也可以指定voxel_size等,不会造成负面影响,只要记住使用“reslice_nii.m”后不要做切片时间校正即可。
7. pad_nii.m:在 NIfTI 结构中从六个侧面中的任何一个填充体积,同时保持始发者、体素大小、数据类型和描述不变。该程序在您使用 reslice_nii 后特别有用,因为新卷很可能具有不同的尺寸。
8. clip_nii.m:从六个侧面中的任何一个剪切 NIfTI 结构中的卷,同时保持发起者、体素大小、数据类型和描述不变。该程序在您使用 reslice_nii 后特别有用,因为新卷很可能具有不同的尺寸。
9. view_nii.m:查看和编辑由“load_nii.m”加载或由“make_nii.m”制作的3D(或4D)NIfTI或ANALYZE结构。激活图、ROI 等可以叠加在背景图像之上(见上图)。绘图视图可以嵌入到您现有的图形窗口中。如果你将它作为一个单独的程序使用,它还可以编辑图像的方向和体素值,查看体积直方图,并保存修改后的图像。
10. load_untouch_nii.m:加载 N 维 NIfTI 文件(其中 N 可以是 3 到 7)或 ANALYZE 文件(其中 N 可以是 3 到 4),但不要应用标题中指示的任何更改。警告:不要使用“view_nii.m”查看由“load_untouch_nii.m”加载的结构。
11. save_untouch_nii.m:保存由“load_untouch_nii.m”加载或由“make_ana. m" 到一个新的 NIfTI 或 ANALYZE 文件中。如果不修改加载的数据集,则新保存的文件中的标题和数据应与原始文件中的相同。
其他程序:
1.collapse_nii_scan.m:将多个单扫描 NIfTI 或 ANALYZE 文件整合成一个多扫描 NIfTI 文件。
2. expand_nii_scan.m:将一个多次扫描的 NIfTI 文件分解为多个单次扫描的 NIfTI 文件。
3. save_untouch_slice.m:用load_untouch_nii加载的部分切片保存回原始图像。您可以以任何方式处理这些切片矩阵,只要它们的尺寸不变。
4. get_nii_frame.m:返回一个NIfTI文件的时间帧数。
5.flip_lr.m:沿穿过originator的平面左右翻转NIfTI或ANALYZE文件,并将LR翻转后的数据保存到NIfTI文件中。警告:请谨慎使用此程序,尽管您可以随时将其翻转回来。
6. load_nii_ext.m:从 NIfTI 文件加载头扩展。
7. mat_into_hdr.m:将旧 SPM .mat 文件中的仿射矩阵集成到其 .hdr 头文件中。因此,ANALYZE 文件被转换为带有更新的 .hdr 头文件的 NIfTI 文件。