方法有两种:
①Tools for NIfTI (ANALYZE) MR image
这个Matlab程序包用于处理核磁共振图慎游像,可以读取显示、保存、制作该图像。
具体如下宽橘销:
help load_nii_img
>>[hdr,filetype,fileprefix,machine] = load_nii_hdr('output.hdr')
>>[img,hdr] = load_nii_img(hdr,filetype,fileprefix,machine)
cd ('F:\Tongren\liuzhaohui\')
nii = load_nii('talairach.nii')
idx = find (nii.img==43)
nii.img(:) = 0
nii.img(idx) = 1
%tnii = make_nii(nii.img)
save_nii (nii,'43.nii')
②SPM方法:
help spm_read_vols
V = spm_vol_nifti('output.hdr')
[Y,XYZ] = spm_read_vols(V)
方法如下:读取NIFTI,使用自带的niftiread函数
filename = 'test.nii.gz'
img = niftiread(filename)
这样读取出来的只有一个数组,也就说只是单纯读了一个图像。另一种方法是使用matlab官方给出的一个工具包,不过我没有试过。
如果想读取其他信息:
info = niftiinfo('test.nii.gz')
结果是一个结构体:
需要得到拿个信息只需要按照友茄查看结构体的方法就可以了。
读取dicom只读一张图片很简单,
img_path = 'test'%有没有扩展名dcm其实都可以
img = dicomread(img_path)
同样这样读出来的也只有一个数组,表示的是图像本身,如果想查看其他信息,可以使用dicominfo函数
img_info = dicominfo(img_path)
dicominfo返回的是一个结构体,其中包含了非常多的信息,其中一部分:
更多的时候需要读一个文件夹内的所有dicom图片,比如动态成像中不同的时间帧,或者三维成像中不同的切片,转化成.nii格式或者mat文件用作后续橡雹处理。
读取所有dicom图片的方法和读取普通图片其实是差不多的,就是先把所有文件名存成一个梁告帆list,然后一个一个读,存到一个多维的数组中。
在matlab中: addpath('/usr/local/谈团敏matlab.etc/')load_nii('或裂文件名')save_nii(nii,'文件名'含枝)ex: SROInii.hdr=data.hdrSROInii.img=SROIsave_nii(SROInii,'SROI.nii')欢迎分享,转载请注明来源:内存溢出
评论列表(0条)