医疗设计比赛——用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
原文地址:https://www.cnblogs.com/leohan2013/p/3080070.html