0

我在 matlab 中有一个“prob_map”变量(概率图),我想将它保存为“.nii”格式。我用两行代码做到了:

 nii = make_nii(prob_map); 
 save_nii(nii,'prob.nii');

这已成功完成,但标题信息与我名为“img.nii”的原始 CT 图像不兼容(因此在 ITK-SNAP 软件中,无法在图像上覆盖 prob_map)。我想在保存之前将 img.nii 的标头复制到“prob.nii”标头。事实上,我想尽可能地复制一个人的标题。例如,无法复制标题大小,而可以复制方向和其他信息。是否有任何功能可以在保存 nii 之前将一个标题复制到另一个?必须复制哪些信息才能使两个nii保持相同?

4

1 回答 1

1

您可以尝试使用spm matlab 库

# Grab header from an existing file (and optionally, get the data)
HeaderInfo  = spm_vol('img.nii')          # use spm_vol to read file header
NiftiData   = spm_read_vol(HeaderInfo)    # use spm_read_vol to get data

# Update the header contents to correspond with your new data
HeaderInfo.fname = 'prob.nii';
HeaderInfo.private.dat.fname = HeaderInfo.fname;

# Save the file with the adapted Header
spm_write_vol(HeaderInfo,Data);           # where Data is your image array
于 2018-09-06T20:37:43.337 回答