Скопируйте один заголовок Nifti в другой
У меня есть переменная prob_map в matlab (карта вероятностей), которую я хочу сохранить в формате.nii. Я сделал это с помощью двухстрочного кода:
nii = make_nii(prob_map);
save_nii(nii,'prob.nii');
Это сделано успешно, однако информация заголовка не совместима с моим исходным изображением CT с именем "img.nii" (следовательно, в программном обеспечении ITK-SNAP наложение prob_map на изображение невозможно). Я хочу скопировать заголовок img.nii в заголовок 'prob.nii' перед сохранением. На самом деле я хочу скопировать заголовок так долго, как это возможно. например, размер заголовка не может быть скопирован, в то время как ориентация и другая информация могут быть скопированы. Есть ли какая-нибудь функция, которая копирует один заголовок в другой перед сохранением nii? Какую информацию нужно скопировать, чтобы сохранить nii в одном?
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