.hdr/.img文件转nii.gz(利用Matlab和SPM)

本文详细介绍了如何使用Matlab、SPM及FSL工具将HDR/IMG格式的医学影像数据转换为NII.GZ格式,适用于4D时间序列数据处理。首先,通过CSDN博主「咸鱼酱」提供的方法将HDR/IMG转为NII;其次,将多个NII文件压缩为NII.GZ;最后,利用FSL的fslmerge函数将多个3D NII文件按时间顺序整合成一个4D NII.GZ文件。
摘要由CSDN通过智能技术生成

步骤1:参考CSDN博主「咸鱼酱」,使用Matlab和SPM软件包将hdr/img格式的文件转成nii格式
原文链接:CSDN博主「咸鱼酱」的原创文章:https://blog.csdn.net/Lyrassongs/article/details/88544903

%%img2nii.m--------------------------------------------
%Script to convert hdr/img files to nii.
%This script uses SPM function, so you need to install SPM5 or later.
%Kiyotaka Nemoto 05-Nov-2014
 
%select files
f = spm_select(Inf,'img$','Select img files to be converted');
 
%convert img files to nii
for i=1:size(f,1)
  input = deblank(f(i,:));
  [pathstr,fname,ext] = fileparts(input);
    output = strcat(fname,'.nii');
    V=spm_vol(input);
    ima=spm_read_vols(V);
    V.fname=output;
    spm_write_vol(V,ima);
end

步骤2:将nii文件打包成nii.gz文件(我发现这个方法是把每个.nii文件打包成一个.nii.gz,也就是说一个run有200个时间点,每个时间点有一个3D的.nii文件,那么这个方法就会转出200个.nii.gz文件)

gzip('niftifilename.nii') % this will return niftifilename.nii.gz
gzip('*.nii') % for multiple nii files to create one .nii.gz
gzip({'*.nii'},outputdir) 
%zip all your nii files into a nii.gz and place it into outputdir.

步骤3:把3D的nii文件按照时间连接起来,成为一个nii.gz的4D文件(这是FSL使用的文件格式)

fslmerge -t ~/桌面/alcohol/sbj01/A_01 ~/桌面/alcohol/sbj01/*nii
#这句代码说明把~/桌面/alcohol/sbj01/这个地址下的所有.nii文件按照时间顺序连起来
#然后保存为~/桌面/alcohol/sbj01/这个地址下的A_01.nii.gz文件

使用这个函数需要装FSL(需要linux或mac系统),下面是fslmerge的使用说明:

Usage: fslmerge <-x/y/z/t/a/tr> <output> <file1 file2 .......> [tr value in seconds]
     -t : concatenate images in time
     -x : concatenate images in the x direction
     -y : concatenate images in the y direction
     -z : concatenate images in the z direction
     -a : auto-choose: single slices -> volume, volumes -> 4D (time series)
     -tr : concatenate images in time and set the output image tr to the final option value

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值