血管三维重建.docx

上传人:b****1 文档编号:2397424 上传时间:2022-10-29 格式:DOCX 页数:10 大小:416.56KB
下载 相关 举报
血管三维重建.docx_第1页
第1页 / 共10页
血管三维重建.docx_第2页
第2页 / 共10页
血管三维重建.docx_第3页
第3页 / 共10页
血管三维重建.docx_第4页
第4页 / 共10页
血管三维重建.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

血管三维重建.docx

《血管三维重建.docx》由会员分享,可在线阅读,更多相关《血管三维重建.docx(10页珍藏版)》请在冰豆网上搜索。

血管三维重建.docx

血管三维重建血管三维重建血管的三维重建摘要本题要求我们通过100张血管的平行切片图像,运用matlab进行数字图像处理,计算血管的中轴线和半径,绘制中轴线在XY、YZ、ZX平面的投影图,以达到将血管的三位形态表现出来的目的。

血管可视为一种特殊的管道,而管道的表面可视为由球心沿着某一曲线(中轴线)的球滚动包络而成。

血管中轴线与每张切片有且只有一个交点,且等径。

首先,我们确定每个切片中截面的轮廓线所包含区域内最大内切圆的圆心即为切片和血管中轴线的交点,半径即为血管半径;然后,我们用imread函数读取100张血管的切面图,位图文件就转换成了二值矩阵(像素点取值只限于0,1),用函数edge可以提取出边界矩阵,用函数bwmorph可以提取出骨架矩阵。

我们抽取其中部分平行切片图,matlab编程计算,得出20组截面的最大内切圆半径和坐标(表1)的数据,以这些数据为基础,运用高次多项式拟合,绘制出中轴线在XY、YZ、ZX平面的投影图,对投影图进行3D旋转,即可以看到血管中轴线的空间大致形态。

关键词:

MATLAB数字图像处理最大内切圆三维重建matlab一问题重述断面可用于了解生物组织、器官等的形态。

例如,将样本染色后切成厚约如m的切片,在显微镜下观察该横断面的组织形态结构。

如果用切片机连续不断地将样本切成数十、成百的平行切片,可依次逐片观察。

根据拍照并采样得到的平行切片数字图象,运用计算机可重建组织、器官等准确的三维形态。

假设某些血管可视为一类特殊的管道,该管道的表面是由球心沿着某一曲线(称为中轴线)的球滚动包络而成。

例如圆柱就是这样一种管道,其中轴线为直线,由半径固定的球滚动包络形成。

现有某管道的相继100张平行切片图象,记录了管道与切片的交。

图象文件名依次为0.bmp、1.bmp、99.bmp,格式均为BMP,宽、高均为512个象素(pixel)。

为简化起见,假设:

管道中轴线与每张切片有且只有一个交点;球半径固定;切片间距及图象象素的尺寸均为1。

取坐标系的Z轴垂直于切片,第1张切片为平面Z=0,第100张切片为平面Z=99。

Z=Z切片图象中象素的坐标依它们在文件中出现的前后次序为(256,256,Z),(256,255,Z),(256,255,Z)(255,256,Z),(255,255,Z),(255,255,Z)(255,256,Z),(255,255,Z),(255,255,Z)。

试计算管道的中轴线与半径,给出具体的算法,并绘制中轴线在XY、YZ、ZX平面的投影图。

二符号说明截面内某点的X轴坐标截面内某点的y轴坐标切片轮廓线上某点的X轴坐标切片轮廓线上某点的y轴坐标坐标为的内点到轮廓线的距离第张切片图的最大内切圆半径三模型假设1、假设某些血管可视为一类特殊的管道,该管道的表面是由球心沿着某一曲线(称为中轴线)的球滚动包络而成;2、管道中轴线与每张切片有且只有一个交点;3、球半径固定;4、切片间距以及图象象素的尺寸均为1;5、血管无严重扭曲。

四问题分析首先,要计算血管的中轴线和半径,要从100张平行切片图象入手。

因为血管可视为一类特殊的管道,该管道的表面是由球心沿着某一曲线(称为中轴线)的球滚动包络而成,而球的任意截面都是圆,圆的圆心是一个非常重要的特征,可以从圆心找到中轴线,平行切片中血管的截面粗细不均,经查阅资料(见参考文献)发现:

每个切片中截面的轮廓线所包含区域内最大内切圆的圆心即为切片和血管中轴线的交点。

因此解决问题的关键就是找到每张平行切片图象的最大内切圆的圆心坐标和半径。

我们抽取其中部分数据,用matlab编程进行计算,得到20组截面的最大内切圆半径和坐标(表1);然后,运用多项式拟合,即可绘制出中轴线在XY、YZ、ZX平面的投影图,对投影图进行3D旋转可以看到血管中轴线的空间大致形态。

五模型建立与求解1、血管三维重建:

象素,是图像在计算机显示中的度量单位。

BMP格式,即位图文件,整幅图可视为一个数字矩阵。

根据数据矩阵和图像象素颜色匹配关系,MATLAB中图像可分为:

索引图像、灰度图像、二值图像和RGB图像。

该题中像素点取值只有0和1,因此为二值图像。

在matlab中利用函数imread可将图像读成一个矩阵的形式。

编写matlab程序(见附录一),将每张平行切片图象机器轮廓线转化为0-1矩阵,0为黑色,1为白色。

(1)将存放在E:

data1的图0-99读入matlab中:

forb=0:

99m(:

:

b+1)=imread(E:

data1,int2str(b),.bmp);end

(2)有了图片的数据矩阵m后,采取图像数据扫描法变成如下:

forb=0:

99%k循环m的层数fori=1:

5:

512forj=1:

5:

512if(m(i,j,b+1)=0)%如果数据是0,即图片上的黑色plot3(i-257,j-257,b+1);holdon%在相同位置画蓝色,并保持画点endendendendholdoff(3)重现血管的空间形态,如下图:

2、求解半径和圆心-200-1000100200300-200-1000100200050100经查阅资料(见参考文献)发现:

每个切片中截面的轮廓线所包含区域内最大内切圆的圆心即为切片和血管中轴线的交点。

我们抽取了部分切片,做出其轮廓线。

截面内某点到截面轮廓线上某点的距离为:

每个截面内某点距离轮廓线最近距离为,以这个点为圆心的圆就是截面内的最小内切圆。

第张切片图的最大内切圆半径为:

对抽取的图片进行运算得到以下数据:

表1切片序号对应球半径对应球坐标029.07(-161,0,0)529.07(-161,1,5)1028.86(-161,6,10)1529.02(-161,12,15)2029.02(-161,18,20)2529.07(-161,20,25)3029.61(-159,34,30)3529.73(-154,54,35)4029.55(-151,62,40)4529.7(-118,113,45)5030.41(-115,116,51)5529.73(-112,119,55)6029.55(-52,155,60)6529.61(-36,160,64)7029.61(45,162,70)7529.73(64,157,75)8029.7(135,115,80)8529.7(138,112,85)9029.53(171,66,90)9529.61(186,23,95)计算平均值,得到近似的血管半径为:

3、求解拟合曲线的方程及平面投影图用以上已得数据,进行多项式拟合(见附录二),不断尝试和提高拟合次数,尽可能地让各投影线较平滑,即可得到中轴线在各坐标平面上的大致投影图。

(1)中轴线在面的投影图像为:

(2)中轴线在面的投影图像为:

-200-150-100-50050100150200-20020406080100120140160血管的中轴线在xoy面的投影xy(3)中轴线在面的投影图像为:

(4)对任意一个坐标面的中轴线投影进行3D旋转,就可看到血管中轴线的空间立体形态如下图:

-200-150-100-500501001502000102030405060708090100血管的中轴线在xoz面的投影xz-200204060801001201401600102030405060708090100血管的中轴线在yoz面的投影(5)运用如下程序,可以得出,中轴线在个坐标平面投影的拟合方程A=polyfit(z,c1,*)%(中轴线在面的拟合方程)B=polyfit(z,c2,*)%(中轴线在面的拟合方程)C=polyfit(c1,c2,*)%(中轴线在面的拟合方程)注:

*代表拟合次数六模型检验和评价检验:

观察血管的三维立体形态,与其中轴线形态的走向大致一致,说明该模型是可行的。

优点:

1、运用matlab数字图像处理技术;2、思路明晰,解题方法简单。

缺点:

1、程序编写时,没有周全的考虑,所有图片都进行处理会耗费大量时间,因此只能选取部分数据进行处理,结果存在误差;2、模型没有进行周密的检验,思考不够完善。

七模型推广及改进三维重建在医学、工业等领域均有相当广泛的应用。

我们应该改进程序,让其尽量提高运行速度,以便处理所有数据,提高计算精度。

-200-1000100200050100-1-0.500.51xz血管的中轴线在xoz面的投影八参考文献1姜启源,谢金星,叶俊.数学模型(第三版)高等教育出版社2003.082张德丰等著.matlab数字图像处理机械工业出版社2009.013冈萨雷斯.数字图像处理(matlab版)电子工业出版社2005.094http:

/九附录附录一:

p=ones(512,512);p2=ones(512,512);fork=0:

99s=strcat(C:

新建文件夹,int2str(k),.bmp);p(:

:

)=imread(s);endp2(:

:

)=edge(p(:

:

);imshow(p2(:

:

);ff=555*ones(512,512);fori=1:

512forj=1:

512ifp(i,j)=0form=1:

512forn=1:

512ifp2(m,n)=1t1=sqrt(i-m)*(i-m)+(j-n)*(j-n);ifff(i,j)t1ff(i,j)=t1;endendendendendendendfori=1:

512forj=1:

512ifff(i,j)=555ff(i,j)=0;endendendr=max(max(ff(:

:

);forj=1:

512fori=1:

512ifr-ff(i,j)0.1c1=i;c2=j;endendendrc1%空间中x轴的坐标c2%是空间中y轴的坐标附录二:

z=0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95;c1=-161,-161,-161,-161,-161,-161,-159,-154,-151,-118,-115,-112,-52,-36,45,64,135,138,171,186;c2=0,1,6,12,18,20,34,54,62,113,116,119,155,160,162,157,115,112,66,23,;A=polyfit(z,c1,4)B=polyfit(z,c2,6);C=polyfit(c1,c2,6);x=polyval(A,z);y=polyval(B,z);figure

(1)plot(x,y)title(血管的中轴线在xoy面的投影)xlabel(x)ylabel(y)gridonfigure

(2)plot(x,z)title(血管的中轴线在xoz面的投影)xlabel(x)ylabel(z)gridonfigure(3)plot(y,z)title(血管的中轴线在yoz面的投影)gridon

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1