《基于MATLAB的CT图像三维重建的研究与实现》由会员分享,可在线阅读,更多相关《基于MATLAB的CT图像三维重建的研究与实现(4页珍藏版)》请在金锄头文库上搜索。
1、基于基于 MATLABMATLAB 的的 CTCT 图像三维重建的研究与实现图像三维重建的研究与实现张振东1,哈力旦A2(新疆大学 电气工程学院,新疆 乌鲁木齐 830047) 摘要:介绍了利用 MATLAB 软件对 CT 切片图像进行三维重建的方法与程序实现。分别对体 绘制法、面绘制法实现的三维重建进行了研究与讨论。利用 MATLAB 软件制作 GUI 界面,实 现对肺部 CT 图像的三维重建以及切分操作。 关键词:体绘制;面绘制;三维重建;GUI 界面 0 0 引言引言 CT(Computed Tomography)技术是指利用计算机技术对被测物体断层扫 描图像进行重建获得三维断层图像的扫
2、描方式。自从 CT被发明后,CT已经变 成一个医学影像重要的工具,虽然价格昂贵,医用 X-CT至今依然是诊断多种 疾病的黄金准则。 利用X射线进行人体病灶部位的断层扫描,可以得到相应的 CT切片图像。医生可以通过对连续多张 CT切片图像的观察,来确定有无病变。 应用三维重建技术可以将连续的二维 CT切片图像合成三维可视化图像,便于 观察研究。医学图像的三维建在判断病情、手术设计、医患沟通和医学教学等 方面具有很高的研究价值。CT图像通常是以DICOM格式存储,实验中通常需要转 换格式。本文分别研究讨论了利用MATLAB软件实现对JPG格式的CT切片三维重建 的两种常用方法,并制作GUI界面实现
3、切分操作。 1.1. MATLABMATLAB 软件在生物切片图像三维重建中的应用软件在生物切片图像三维重建中的应用 MATLAB7.O提供了20类图像处理函数,涵盖了图像处理包括近期研究成果 在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料 和加工工具箱。 Matlab软件环境提供了各种矩阵运算、操作和图象显现工具。它已经在 生物医学工程,图象处理,统计分析等领域得到了广泛的应用。 在三维重建 方面,使用的数据量相对较大,同时涉及到大量的矩阵、光线、色彩、阴影 和观察视角的计算,对于非计算机专业研究人员来讲,难度很大。利用 MATLAB软件中的图像处理函数、工具箱操作,可以
4、大大简化研究。 2.2.常用的三维重建方法常用的三维重建方法 2.1 面绘制 面绘制法是指利用几何单元拼接拟合物体表面来描述物体的三维结构, 实现三维重建,也被称为间接绘制方法。 面绘制法的基本原理是从三维数据场中提取出物体的表面部分,用一系 列连续的三角形或平面多边形片近似地表示物体的表面特征。这种近似地方 式类,似于用正八十面体表示球面。 2.2 体绘制 直接将体素投影到显示平面的方法称为直接绘制方法,也称为体绘制法。 体绘制是直接利用三维数据场的信息,将整个三维数据场投影出来,达到 三维的视觉效果。体绘制法将数据场中的多种物质在一个可视图中显示,揭示 它们的相互关系。 面绘制法相对处理数
5、据量小,重建效果信息量小,外观好,计算速度较快, 但是内部简单。体绘制算法认为体数据场中每个体素都有一定的属性(透明度 和光亮度),而且通过计算所有体素对光线的作用即可得到二维投影图像,因此, 体绘制可以利用模糊分割的结果,甚至可以不进行分割即可直接进行体绘制。这样做的好处在于有利于保留了三维医学图像中的细节信息。因此体绘制算法 在对医学图像的重讲具有更好的效果。 3.3.肺部肺部 CTCT 图像的三维重建图像的三维重建 GUIGUI 界面的制作界面的制作 GUI 是 Graphical User Interface 的简称,即图形用户界面。MATLAB 软 件中,提供了制作 GUI 界面的模
6、块。利用 GUI 界面操作运行程序,更为方便直 观。下面介绍 GUI 界面在肺部 CT 图像重建中的应用设计方法。 本实验一共使用连续肺部 CT 切片 20 张(图 3-1),利用体绘制方法实现 三维重建与部分重建。GUI 界面实现了切分位置的设定以及三个视角的切换功 能。图 3-1 部分肺部 CT 图像 (1) 界面设计 利用MATLAB软件设计GUI操作界面,添加“查看原图片”按钮,用于显示原 始图片:添加网格效果,便于切分位置的设定。利用滚动条,可以动态的设置 三维切分的参数,可以有针对性的对感兴趣部位进行部分重建观察,来实现切 分效果。 “视角选择”中,设置了三个单选按钮,用来调整三维
7、观察的视角。参 数设定完成,点击“三维切分”按钮,实现三维效果。图像显示于界面右侧。 “清空”按钮用于清除结果,进行下一次操作。 (2) 主要控件功能的程序实现 a 查看原图片:在该按钮Callback函数下,编写如下程序实现与图片的预览与 网格的添加:fname pname index = uigetfile(*.jpg; *.bmp, 选择图片);%文件选择对话框if index %若选择了图片str = pname fname; %获取图片路径和图片名M = imread(str); %读取图片imshow(M),title(原始图像); %显示图片axis on; grid on; %
8、添加网格 b 重建参数的设定利用slider的Callback函数下,分别设定三维切分参数X,Y,Z。X=get(handles.slider1,value)set(handles.edit1,string,num2str(X);Y,Z参数在对应位置,做相同设置。C 三维切分主程序 主程序采用体绘制三维重建方法,具体如下:srcDir=uigetdir(Choose source directory.); 获得选择图片的文件夹cd(srcDir);image1=imread(1.jpg); ;image20=imread(20.jpg); %使用imread函数读取实验用20张片D=cat(3
9、,image1, ,image20);%利用cat函数创建三维矩阵DD=squeeze(D);x y z D=reducevolume(D,1 1 1);%使用reducevolume数据预处理D=smooth3(D);X=get(handles.slider1,value);Y=get(handles.slider2,value);Z=get(handles.slider3,value);%切分位置的参数传递x,y,z,D=subvolume(D,X,512,Y,512,0,Z);%设定部分重建位置,实现切分fv=isosurface(x,y,z,D,noshare);p=patch(fv,
10、FaceColor,1,.75,.65,EdgeColor,none);isonormals (x,y,z,D,p);fvc=isocaps(x,y,z,D,noshare);p1=patch(fvc,FaceColor,yellow,EdgeColor,black)colormap(gray);if get(handles.radiobutton1,value)%三个视角参数设定az=-37.5;el=30;elseif get(handles.radiobutton2,value)az=60;el=30;elseif get(handles.radiobutton4,value)az=-3
11、7.5;el=60;endview(az,el);%视角参数传递lighting gouraud;结果显示设置axis equal; daspect(1,1,.3);axis on;grid on;实验中,对不同视角和不同切分位置的重建如图3-2和图3-3所示: (a) (b) 图3-2 不同视角的重建(a) (b)图 3-3 不同切分位置的部分重建 4.4.结束语结束语 本文主要介绍了常用的两种三维重建方法,认为体绘制方法更适用于医学 图像的重建。此外,重点介绍了利用在 MATLAB 环境下利用 GUI 界面实现肺部 CT 切片体绘制重建界面操作的程序实现方法,该实验实现了三维视角的切换和
12、部分重建位置的设定操作。三维重建技术在医学领域应用广泛,对它的研究具 有重要意义。 参考文献参考文献【1】冈萨雷斯数字图像处理【M】北京:电子工业出版社,2007【2】张威,隋天中,赵卫 CT 图像表面重建技术中的边缘轮廓提取方法J机械科学与技术,2002,21(s1):91-97.【3】高艳,唐晓英,张军莉,等基于物体空间序法的cT图像三维重建算法的研究J北京生物医学工程,2003,22(3): 180-l83【4】王成波,陈伟,谢兵等DICOM图像与BMP图像的转换研究J医疗卫生装备2004(1):13-17【5】穆伟斌,张淑丽.医学CT断层图像三维重建的Matlab实现方法J. 齐齐哈尔大学学报,2009,25(1):33-35.