Linux上的MATLAB如何读取超大的医学影像数据
发布网友
发布时间:2022-05-16 22:29
我来回答
共1个回答
热心网友
时间:2022-07-15 09:58
方法如下:读取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,然后一个一个读,存到一个*的数组中。