5断层重建好书利用MATLAB实现CT断层图像的三维重建资料下载.pdf
- 文档编号:5983198
- 上传时间:2023-05-05
- 格式:PDF
- 页数:6
- 大小:275.36KB
5断层重建好书利用MATLAB实现CT断层图像的三维重建资料下载.pdf
《5断层重建好书利用MATLAB实现CT断层图像的三维重建资料下载.pdf》由会员分享,可在线阅读,更多相关《5断层重建好书利用MATLAB实现CT断层图像的三维重建资料下载.pdf(6页珍藏版)》请在冰点文库上搜索。
TP391文献标识码:
AThreeDimensionsReconstructionofCTImagebyMATLABZENGZheng1,DONGFang-hua1,CHENXiao2,ZHOUHong2,ZHOUJian-zhong1(1.CollegeofHydroelectricity&
DigitalEngineering,HUST,Wuhan430074,China;
2.TheQuartermasterResearchInstituteoftheGeneralLogisticsDepartmentofCPLA,Beijing100088,China)Abstract:
ThreedimensionsreconstructionofCTimagegivesaintuitionisticimageofbody.Itisconvenienttoobservationandoperation.Butitisdifficulttothosepeoplenotmajorincomputer.Inordertosolvethisproblem,howtoreconstructofCTimageusingimageprocessingtoolboxofMATLAB6.5isdiscussed.MABLABgivesusaconvenientmethodtoreconstructandacquiresagoodresult.Itcanbemasteredbyanybody.Keywords:
CTimage;
surfacereconstruction;
volumereconstruction;
MABLAB1引言随着计算机科学技术的发展及其与其他各学科间的相互交叉渗透,特别是计算机断层扫描(CT)、核磁共振扫描(MIT)等技术逐渐应用于临床医学,使得获取各种二维医学图像的能力得到了空前的提高1。
如何将这些二维数据转化为更容易被接受和处理的信息,正是医学数据三维可视化所要解决的问题。
三维重建技术的实现方法包括两种2:
一种是通过几何单元拼接拟合物体表面来描述物体的三维结构,称为表面重建;
另一种是直接将体像素以一定的颜色和透明度投影到显示平面的方法,称为体重建。
比较而言,表面重建运算量小,表面显示清晰,但对边缘检测的要求比较高;
而体重建直接基于体数据进行显示,避免了重建过程中所造成的伪像痕迹,但运算量较大3。
无论采用哪种重建方法,对于非计算机专业的人士,编程实现都是很困难的,2期曾筝等:
利用MATLAB实现CT断层图像的三维重建25因此,本文介绍了基于MATLAB进行三维表面重建及体重建的方法,实现起来灵活、方便,便于掌握。
三维重建步骤如图1所示。
为了有利于从CT图像中准确地提取出有用的信息,需要对原始图像进行预处理,以突出有效的图像信息,消除或减少噪声的干扰。
(1)CT图像格式的转换与读写。
原始的CT图像是采用DICOM3.0标准进行存储的,不能被MATLAB所识别,因此必须进行图像格式的转换。
在这里,使用VisualC+6.0自行开发转换程序,在正确读取DICOM图像后,通过选择合适的窗宽、窗位,将窗宽范围内的值通过线性或非线性变换转换为小于256的值,将CT图像转换为256色BMP图像4。
使用MATLAB中的图像读入函数imread(),可以读取BMP图像,同时可以使用图像写出函数imwrite()及图像显示函数image()、imshow()对图像进行写出和显示5。
(2)图像增强。
图像增强就是根据某种应用的需要,人为地突出输入图像中的某些信息,从而抑制或消除另一些信息的处理过程6。
使输入图像具有更好的图像质量,有利于分析及识别。
图像增强技术主要包括直方图修改、图像平滑、图像边缘锐化及伪彩色增强等。
分别采用以下函数实现:
灰度直方图均衡化。
均匀量化的自然图像的灰度直方图通常在低灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚,采用直方图修整可使原图像灰度集中的区域拉开或使灰度分布均匀,从而增大反差,使图像的细节清晰。
直方图均衡化在MATLAB中使用histeq()函数实现。
灰度变换法。
照片或电子方法得到的图像,常表现出低对比度即整个图像偏亮或偏暗,为此需要对图像中的每一个像素的灰度级进行标度变换,扩大图像灰度范围,以达到改善图像质量的目的。
这一灰度调整过程可以用imadjust()函数实现。
平滑与锐化滤波。
平滑技术用于平滑图像中的噪声,基本采用在空间域上的求平均值或中值,或在频域上采取低通滤波。
在MATLAB中,各种滤波方法都是在空间域中通过不同的卷积模板即滤波算子实现,可用fspecial()函数创建预定义的滤波算子,然后用filter2()或CT图像获取图像格式转换MATLAB读取图像图像边界提取图像边界拟合生成三维表面数据集三维表面重建及显示生成三维体数据集三维体重建及显示图1三维重建流程图26CT理论与应用研究13卷conv2()函数在实现卷积运算的基础上进行滤波。
中值滤波是一种基于排序统计理论的抑制噪声的非线性信号处理技术,其在除去图像中的孤立点、线的噪声的同时,很好地保护了图像的边缘信息,适用于一些线性滤波器无法胜任地场合。
在MATLAB中使用medfilt()函数实现中值滤波7。
适当运用上述方法对原始图像进行处理,将使原始图像变得较清晰,能够较真实地反映图像的结构特征,便于三维重建的处理及显示。
2CT图像三维表面重建计算机三维表面重建是指首先运用图像技术从二维图像中分割出兴趣区的轮廓曲线,然后经图形处理,得到其三维结构,从而再现原物体的空间结构。
因此,对于三维表面重建而言,边界轮廓的提取尤为重要8。
为了便于面部边界的提取,先对各CT图片进行颜色处理,去掉非有效区,如头发、支架等部分,并使其色素尽量减少,图2a为经过格式转换的头部断层图像。
在提取边界时,首先采用逐行扫描图片的办法,通过比较相邻点的像素值,找到图片边界上的一个点,作为切片边界的起点。
然后从边界起点开始,逐点判断与之相邻的八个点,如果某点为图片的边界点则记录下,并开始下一步判断,直到获得所有的边界点。
图2b通过上述方法得到的面部边界轮廓曲线。
通过这种方法得到的轮廓曲线是以大量的点坐标形式存储,在保证拟合精度的情况下,希望精简数据点,以减少存储空间和提高计算机处理速度。
因此将图2b中的面部边缘轮廓曲线以中心点为极点转换到极坐标系中。
然后,将图像画入以极角0,2为横坐标,极径为纵坐标的直角坐标系中,如图3a所示。
采用12阶傅立叶级数对该图像进行拟合,得到拟合后的图像如图3b所示。
图2面部边界提取(a)原始CT图像(b)面部边界轮廓xy05010015020025030035040075808590951001051101150501001502002503003504007580859095100105110115图3切片边界展开图形(b)拟合后的边界曲线(a)拟合前的边界曲线2期曾筝等:
利用MATLAB实现CT断层图像的三维重建27在这里,面部模型可以采用以下数学表示:
=+=121,0,)sincos
(2)(nniniiiMnbnaa式中nia,,nib,为各层边界曲线傅立叶级数拟合的系数:
dnfaini=cos)(1,,dnfbinisin)(1,=。
这样,某一层断层面部边界曲线仅使用25个数据就可以表示,所占用的存储空间很小。
下面,用这些表征面部边界轮廓曲线的数据进行三维表面重建。
(1)重建数据的采集。
运用上述傅立叶级数的系数,求出边界上若干个点x,y向坐标值,并为其加上适当的z坐标值。
xo=0:
pi/180:
2*pi;
%x的值在0,2中选取yo=yo+a(i)*cos(i-1)*xo)+b(i)*sin(i-1)*xo);
%通过傅立叶系数求y值,其中yo初始值为a0consx=consx;
yo.*cos(xo);
%将x,y值从极坐标系转换到直角坐标系consy=consy;
yo.*sin(xo);
consz=consz;
ones(1,length(xo)*iLayer*(-4.0);
%为每一切片层赋予z坐标值,iLayer为层数
(2)边界轮廓曲线表面绘制。
surf(consx,consy,consz);
%利用surf()函数进行三维表面绘制。
(3)设置图像的颜色及阴影效果。
colormap(gray);
%利用colormap()函数为图像定义颜色集shadingflat;
%利用shading定义显示图像的颜色阴影(4)设置图像光照效果。
light(Position,-80,-262,-200,style,infinite);
%利用light()函数为图像设置光照效果light(Position,-500,-0,-4500,style,infinite);
light(Position,5000,100,-300,style,infinite);
(5)设置图像的显示效果view(-144,20);
%利用view()函数定义观察者视角lightinggouraud;
%利用lighting定义显示图像的光线阴影axisequal;
%利用axis定义显示图像的轴图4头部CT图像三维表面重建(a)view(-144,20)(b)view(3)(c)view(-70,30)28CT理论与应用研究13卷当函数view(AZ,EL)取不同的值时,可以得到图像不同的视角,其中AZ表示图像水平方向旋转的角度,EL表示图像垂直方向的高度,MATLAB6.5自行对view
(2)和view(3)的方位进行了定义。
图4a为view(-144,20)得到的图像;
图4b为view(3)得到的图像;
图4c为view(-70,30)得到的图像。
采用view()函数可以从不同视角对三维重构图像进行观察。
根据上述表面重建步骤,对头部切片进行表面重建,结果如图4所示。
由于采用上述的傅立叶级数拟合含有耳朵的CT图像层时,耳朵的轮廓信息无法很好地表达,所以对这些层进行处理时,首先去除耳朵。
从图4中可以看出,运用MATLAB程序在进行CT图像边界轮廓提取的基础上得到三维表面重建图像。
重建速度快、效果好;
但是面绘制的缺点是信息的丢失比较大,运算量与景物和物体形状有关。
3CT图像三维体重建体绘制通过计算所有体素对光线的作用得到二维投影图像,基于体绘制的三维体重建方法计算量不依赖于景物的复杂程度和物体形状的复杂程度,也不需要对切片的边界轮廓进行提取,其计算过程不依赖于视点,处理三维采样信号方便,便于显示物体的内部结构。
但是,三维体重建所需数据量大,运算速度较慢。
下面,介绍利用MATLAB进行头部CT图像三维体重建的过程。
对现有的n幅头部CT图像数据进行三维数据集D的构造,得到的数据集D为一个xyn的矩阵。
image1=imread(01.bmp);
%使用imread()函数读入现有的n幅图像image2=imread(02.bmp);
imagen=imread(n.bmp);
Dcat(3,image1,image2,image3,imagen);
%使用cat()函数创建三维矩阵D
(2)重建数据预处理采用上述方法构造的三维数据集D,数据量大,在体重建中速度慢,并且可能在计算中超出内存。
因而,可以根据实际情况,对数据集D进行预处理,减少数据量。
xyzD=reducevolume(D,abc);
%使用reducevolume()函数减少数据量,其中a,b,c为x,y和z轴数据抽取的比例,根据数据情况自行定义。
D=smooth3(D);
%使用smooth()函数对数据进行平滑处理(3)计算数据集在显示平面累计投影。
fv=isosurface(x,y,z,D,isovalue);
%使用isosurface()函数计算数据集在显示平面累计投影,isovalue根据实际情况自行定义(4)构造三维体重建碎片p=patch(fv,FaceColor,yellow,EdgeColor,none);
%使用patch()函数对碎片进行构造,并对图像的颜色,光线进行定义,其中fv是第(3)步中得到的。
(5)设置图像的颜色、阴影及显示效果。
2期曾筝等:
利用MATLAB实现CT断层图像的三维重建29colormap(gray);
%利用colormap()函数为图像定义颜色集view(3);
%利用axis定义显示图像的轴daspect(xyz);
%使用daspect()定义x、y、z轴的显示比例根据上述体重建步骤,对头部切片进行体重建,结果如图5所示。
从图5中可以看出,运用MATLAB程序在构造体重建碎片的基础上,实现体三维重建。
重建速度较表面重建慢,但是体重建尽量保护了更多的表面信息,耳朵部分也不需要任何特殊处理,就能得到很好的重建及显示效果。
4结论本文介绍了运用MATLAB6.5图像处理工具箱进行CT断层图像的三维重建的原理及实现方法。
并结合实际应用,实现了头部CT图像的三维表面重建及体重建,编程实现简单,显示效果理想,大大提高了实验效率,具有一定的使用价值和指导意义。
在医学图像三维重建的其他领域内,对于类似的图像,都可以运用上述方法来实现三维重建,以获得重建对象的三维表面信息及体信息,在实际中有较为广泛的应用前景。
参考文献:
1庄天戈.CT原理与算法M.上海:
上海交通科技大学出版社,1993,56.2高艳,唐晓英,张军莉等.基于物体空间序法的CT图像三维重建算法的研究J.北京生物医学工程,2003,22(3):
180183.3徐云翔,吴秀清,胡拥军.在Matlab环境下实现体绘制法的生物切片图像的三维重建J.计算机工程,2002,27(12):
114115.4王成波,陈伟,谢兵等.DICOM图像与BMP图像的转换研究J.医疗卫生装备,2004,
(1):
1317.5张志涌等.精通MATLAB6.5版M.北京:
北京航空航天大学出版社,2003。
6章鲁,顾顺德,陈瑛.医学图像处理M.上海:
上海科学技术出版社,2002,3054.7李辉,蒋秀明,高殿斌等.Matlab语言在数字图像中值滤波中的应用研究J.天津工业大学学报,2003,22
(1):
8788.8张威,隋天中,赵卫.CT图像表面重建技术中的边缘轮廓提取方法J.机械科学与技术,2002,21(增刊):
9197.作者简介:
曾筝(1981)女,湖北武汉人,在读硕士研究生,研究方向为图形图像处理,三维重建及显示。
陈晓(1971)男,重庆人,清华大学博士后,现任总后军需装备研究所高级工程师,主要研究方向为单兵装备人机工程。
图5头部CT图像三维体重建
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 断层 重建 好书 利用 MATLAB 实现 CT 图像 三维重建