医疗设计比赛——用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