医疗设计比赛——用matlab读入数据

觉得博客园的风格真的好赞!

就用随笔来记录自己的一些小收获好了。

参加了医疗设计比赛,主题是基于MRI图像的肿瘤识别。MRI就是核磁共振成像技术。利用图像处理的方法,检测出肿瘤的位置。

第一步,当然是读取图像啦。

学习了matlab的一些实用方法,比如cell,比如dir。

cell的用法

cell是一种比矩阵更灵活的数据类型。矩阵某一坐标位置处取到的值是数,而cell取到的值是一块数据,这块数据可以是矩阵,可以是string等等。

a = cell(x,y),表示对a的初始化。a就变成了一个x*y块数据的cell。

用{}可以实现对cell中数据的访问

用( )返回的是cell中数据的类型。

dir的用法

dir(filedir)返回的是filedir目录下所有文件组成的结构体。

matlab下的结构体有点类似C里面的结构体。

文件读取函数如下:

%read a series of MRI picture
%return is a 1x5 cell, use {i} to acquare the ith value.
function a = readMRIPic(fdir,category,ID)
    
    if(fdir == 0)
        fdir = \'D:\myspace\肿瘤识别\2013_肿瘤识别大赛\初赛前测试数据\';
    end
    switch category
        case 1  
            fdir = [fdir \'\1正常\'];
        case 2
            fdir = [fdir \'\2胶质瘤\'];
        case 3  
            fdir = [fdir \'\3脑膜瘤\'];
        case 4
            fdir= [fdir \'\4转移瘤\'];
    end
    fdir = [fdir \'\\' num2str(ID)];
    
    if(5 ~= length(dir([fdir \'\*.PNG\'])))
        error(\'wrong dir!\');
    end
    a{1} = imread([fdir \'\DWI.PNG\']);
    a{2} = imread([fdir \'\T1.PNG\']);
    a{3} = imread([fdir \'\T1+C.PNG\']);
    a{4} = imread([fdir \'\T2.PNG\']);
    a{5} = imread([fdir \'\T2FLAIR.PNG\']);
end