《《血管的三维重建》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《血管的三维重建》PPT课件.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATHEMATICA MODEL制作制作:龚劬龚劬血管三维重建血管三维重建的问题的问题 1 断断面面可可用用于于了了解解生生物物组组织织、器器官官等等的的形形态态。例例如如,将将样样本本染染色色后后切切成成厚厚约约1 1m m m m的的切切片片,在在显显微微镜镜下下观观察察该该横横断断面面的的组组织织形形态态结结构构。如如果果用用切切片片机机连连续续不不断断地地将将样样本本切切成成数数十十、成成百百的的平平行行切切片片,可可依依次次逐逐片片观观察察。根根据据拍拍照照并并采采样样得得到到的的平平行行切切片片数数字字图图象象,运运用用计计算算机机可可重重建建组组织织、器官等准确的三维形态。器官
2、等准确的三维形态。假假设设某某些些血血管管可可视视为为一一类类特特殊殊的的管管道道,该该管管道道的的表表面面是是由由球球心心沿沿着着某某一一曲曲线线(称称为为中中轴轴线线)的的球球滚滚动动包包络络而而成成。例例如如圆圆柱柱就就是是这这样样一一种种管管道道,其其中中轴轴线线为为直直线线,由由半半径径固固定的球滚动包络形成。定的球滚动包络形成。现现有有某某管管道道的的相相继继100100张张平平行行切切片片图图象象,记记录录了了管管道道与与切片的交。切片的交。问题重述问题重述 2 为为简简化化,假假设设:管管道道中中轴轴线线与与每每张张切切片片有有且且只只有有一一个个交交点点;球半径固定;切片间距
3、以及图象象素的尺寸均为球半径固定;切片间距以及图象象素的尺寸均为1 1。取取坐坐标标系系的的Z Z轴轴垂垂直直于于切切片片,第第1 1张张切切片片为为平平面面Z=0Z=0,第第100100张张切切片片为为平平面面Z=99Z=99。Z=zZ=z切切片片图图象象中中象象素素的的坐坐标标依依它它们们在在文件中出现的前后次序为文件中出现的前后次序为(-256,-256,z),(-256,-255,z),(-256,255,z),),(-255,-256,z-255,-256,z),(-255,-255,z-255,-255,z),(-255-255,255255,z z)(255,-256,z 255
4、,-256,z),(255,-255,z 255,-255,z),(255255,255255,z z)。)。试试计计算算管管道道的的中中轴轴线线与与半半径径,给给出出具具体体的的算算法法,并并绘绘制制中中轴轴线在线在XYXY、YZYZ、ZXZX平面的投影图。平面的投影图。问题重述问题重述 3Z=1Z=0Z=49Z=50Z=99Z=9841 1)血血管管的的表表面面是是由由半半径径固固定定、球球心心沿沿着着某某一一曲曲线(称为中轴线)的球滚动而形成的包络面。线(称为中轴线)的球滚动而形成的包络面。2 2)中轴线上任两点处的法截面圆不相交。)中轴线上任两点处的法截面圆不相交。3 3)管管道道中中
5、轴轴线线与与每每张张切切片片平平面面有有且且只只有有一一个个交交点。点。假设假设 5 二二值值图图象象的的象象素素矩矩阵阵为为0-10-1矩矩阵阵,矩矩阵阵横横纵纵坐坐标标对对应应原原图图象象的的直直角角坐坐标标系系位位置置,0 0和和1 1分分别代表该位置上的黑或白象素。别代表该位置上的黑或白象素。图象的矩阵表示图象的矩阵表示 6 将将管管道道看看成成是是小小球球运运动动包包络络形形成成的的,则则管管道道的的切切片片便便是是滚滚动动的的小小球球在在平平面面z z上上的的截截圆圆形形成的包络。成的包络。问题分析问题分析 -30-25-20-15-10-5051015-20-1001020小小球
6、球沿沿螺螺旋旋线线滚滚动动时时,在在某某平平面面上上的的截截圆圆形形成成包络。包络。78解决问题的关键在于发现解决问题的关键在于发现定定理理:在在一一条条粗粗细细均均匀匀血血管管的的任任何何横横截截面面的的图图象象内内,其其包包含含的的最最大大内内切切圆圆的的圆圆心心位位于于中中轴轴线线上上,该该圆圆的的半半径径等等于于滚滚动球的半径。动球的半径。基于:基于:1 1)球的任意截面都是圆)球的任意截面都是圆2 2)经过球心的球截面是所有)经过球心的球截面是所有截圆当中半径最大的圆截圆当中半径最大的圆问题分析问题分析 9求滚动球半径求滚动球半径r r的方法的方法1 1)平均法)平均法2 2)抽样法
7、)抽样法3 3)极大似然法)极大似然法4 4)叠加法)叠加法求出的半径在求出的半径在 30.530.5之间,为什么?之间,为什么?建模方法思想建模方法思想 10需考虑的细节:需考虑的细节:1 1)如如何何读读入入一一个个数数字字图图象象,即即如如何何由由bmpbmp图图象象文文件件(或其它格式的图象文件)得到象素矩阵?或其它格式的图象文件)得到象素矩阵?MATLABMATLAB函数函数imreadimread()():m=imread(0.bmp)m=imread(0.bmp)或把图象序列转换为三维数组或把图象序列转换为三维数组for b=0:99for b=0:99 m(:,:,b+1)=i
8、mread(int2str(b),.bmp);m(:,:,b+1)=imread(int2str(b),.bmp);endend建模方法思想建模方法思想 11需考虑的细节:需考虑的细节:2 2)何谓边界点?)何谓边界点?四邻域的概念四邻域的概念 找边界点坐标的算法找边界点坐标的算法也可用也可用MATLABMATLAB函数函数:edge()edge()如:如:m=imread(0.bmp)m=imread(0.bmp);bw=edge(m,sobel)bw=edge(m,sobel)3 3)最最大大内内切切圆圆的的圆圆心心和和半半径径须须取取小小数数和和整整数数有有区区别别吗?吗?4 4)取取整
9、整方方法法:四四舍舍五五入入(round)round),向向上上取取整整(ceil)ceil),向下取整向下取整(floor)floor)建模方法思想建模方法思想 125 5)如何由切片图叠合作出血管的立体图?)如何由切片图叠合作出血管的立体图?方法方法1 1:利用利用plot3()plot3()clearclearfor b=0:99for b=0:99 m1=imread(int2str(b),.bmp);m1=imread(int2str(b),.bmp);m(:,:,b+1)=edge(m1,sobel);m(:,:,b+1)=edge(m1,sobel);endendfor k=0:
10、99for k=0:99 for i=1:512 for i=1:512 for j=1:512 for j=1:512 if(m(i,j,k+1)=1)if(m(i,j,k+1)=1)plot3(i,j,k+1,b-.);hold on plot3(i,j,k+1,b-.);hold onend,end,end,endend,end,end,endrotate3drotate3d,hold offhold off135 5)如何由切片图叠合作出血管的立体图?)如何由切片图叠合作出血管的立体图?方法方法1 1:利用利用plot3()plot3()14方法方法2 2:利用利用patch()pat
11、ch()for b=0:99m(:,:,b+1)=imread(int2str(b),.bmp,bmp);endm1=m(1:4:512,1:4:512,:);for i=1:size(m1,1)for j=1:size(m1,2)for k=1:size(m1,3)if m1(i,j,k)=0 m1(i,j,k)=88;else m1(i,j,k)=0;end,end,end,endms=smooth3(m1);hiso=patch(isosurface(ms,5),FaceColor,1,.75,.65,EdgeColor,none);hcap=patch(isocaps(m1,5),Fa
12、ceColor,interp,EdgeColor,none);colormap(default)view(45,30),axis tightgriddaspect(1,1,.4)lightangle(45,30);lighting phongisonormals(ms,hiso)set(hcap,AmbientStrength,.6)set(hiso,SpecularColorReflectance,0,SpecularExponent,50)rotate3d155 5)如何由切片图叠合作出血管的立体图?)如何由切片图叠合作出血管的立体图?方法方法2 2:利用利用patch()patch()1
13、6 中中轴轴线线的的建建模模:求求中中轴轴线线 与与各各横横断断面面的的交交点点和曲线拟合、逼近。参赛者使用的方法主要有:和曲线拟合、逼近。参赛者使用的方法主要有:1 1)枚举法)枚举法2 2)平行切线法)平行切线法3 3)外推法)外推法4 4)滚球法)滚球法5 5)投影法)投影法6 6)变换法)变换法7 7)细化法)细化法建模方法思想建模方法思想 17方方法法一一:以以黑黑色色点点为为圆圆心心,以以r0r0为为半半径径画画圆圆,判判断断此此圆圆周周上上的的象象素素点点是是否否为为黑黑色色若若全全为为黑黑色色,则则增增大大半半径径再再判判断断,直直到到圆圆周周上上有有白白色色象象素素点点,记记
14、录录该该圆圆的的圆圆心心坐坐标标和和半半径径,然然后后,取取下下一一个个黑黑色色象象素素点点重重复复以以上上步步骤骤,直直至至黑黑色色区区域域中中所所有有象象素素点点都都搜搜索索完完为为止止;所所有有记记录录点点中中对对应应于于最最大大半半径径的的圆圆心心坐坐标标,就就是是该该切切片片的的最最大大内内切切圆圆圆圆心心坐坐标标,此此半半径径即即是是血血管管的的半径半径 具体实现时出现的问题具体实现时出现的问题 18方法一得出的中轴线投影:方法一得出的中轴线投影:具体实现时出现的问题具体实现时出现的问题 0204060801001201401601800102030405060708090100y
15、 z 0102030405060708090100-200-150-100-50050100150200z x 中轴线在中轴线在ZXZX平面投影图平面投影图 中轴线在中轴线在YZYZ平面投影图平面投影图什么原因造成内切圆圆心的误差如此之大?什么原因造成内切圆圆心的误差如此之大?19 模型的检验模型的检验 不不检检验验只只能能说说完完成成问问题题的的一一半半。由由于于所所给给图图象象只只是是离离散散数数据据,以以象象素素为为单单位位。无无论论以以何何种种方方式式建建模模,都都是是近近似似计计算算,效效果果如如何何,检检验验很很必必要要。还还可可通通过过检检验验,发发现现模模型型的的误误差差,修修
16、正正模模型型,提提高高模模型型的的正正确确性性。阅卷中发现的检验方法主要有:阅卷中发现的检验方法主要有:1 1)逐片比较)逐片比较2 2)法平面法)法平面法3 3)滚动法)滚动法建模方法思想建模方法思想 20 模模型型检检验验时时也也发发现现内内切切圆圆圆圆心心误误差差较较大大,特特别别是是后面的切片。后面的切片。建模方法思想建模方法思想 Z=30Z=021 模模型型检检验验时时也也发发现现内内切切圆圆圆圆心心误误差差较较大大,特特别别是是后面的切片。后面的切片。建模方法思想建模方法思想 Z=50Z=4022 模模型型检检验验时时也也发发现现内内切切圆圆圆圆心心误误差差较较大大,特特别别是是后
17、面的切片。后面的切片。建模方法思想建模方法思想 Z=60Z=5723误差大的原因和改进途径误差大的原因和改进途径 误差大的原因:误差大的原因:1 1 1 1)图象误差)图象误差)图象误差)图象误差 实际图象边界上的点是连续的,在转换成实际图象边界上的点是连续的,在转换成bmpbmp图象时,象素表示的图象边界是离散的,成图象时,象素表示的图象边界是离散的,成锯齿状,与实际图象有误差(舍入误差)。锯齿状,与实际图象有误差(舍入误差)。2 2)同一张切片上的最大内切圆不唯一)同一张切片上的最大内切圆不唯一 解决办法:解决办法:1 1)方法一:取平均)方法一:取平均求出同一张切片上的所有最大内切圆的圆
18、心,然求出同一张切片上的所有最大内切圆的圆心,然后求平均值。后求平均值。24误差大的原因和改进途径误差大的原因和改进途径 1 1)方法一:取平均)方法一:取平均求出同一张切片上的所有最大内切圆的圆心,然求出同一张切片上的所有最大内切圆的圆心,然后求平均值。后求平均值。XY平面上的投影平面上的投影YZ平面上的投影平面上的投影ZX平面上的投影平面上的投影25检验检验Z=30Z=40Z=50Z=6026误差大的原因和改进途径误差大的原因和改进途径 误差分析误差分析误差分析误差分析 设原图象是由设原图象是由设原图象是由设原图象是由NNNNNNNN个象素点组成,令其为个象素点组成,令其为个象素点组成,令
19、其为个象素点组成,令其为f(x,y)f(x,y)f(x,y)f(x,y),重建图象为重建图象为重建图象为重建图象为g(x,y)g(x,y)g(x,y)g(x,y),它同样由它同样由它同样由它同样由NNNNNNNN个象素个象素个象素个象素点组成,其中点组成,其中点组成,其中点组成,其中x,y=0,1,x,y=0,1,x,y=0,1,x,y=0,1,,N-1N-1N-1N-1。重建图象的均方重建图象的均方重建图象的均方重建图象的均方误差可用下式表示:误差可用下式表示:误差可用下式表示:误差可用下式表示:27误差大的原因和改进途径误差大的原因和改进途径 误差分析误差分析误差分析误差分析 切片Z值32
20、435765均方误差0.00190.00240.00480.0040 由计算出的均方误差情况可以看出,均方由计算出的均方误差情况可以看出,均方误差的平均值低于误差的平均值低于0.5%0.5%。还可以用信噪比,相异象素点所占的比例还可以用信噪比,相异象素点所占的比例等其它性能指标来度量重构图象的质量。等其它性能指标来度量重构图象的质量。28误差大的原因和改进途径误差大的原因和改进途径 2 2)方法二:筛选)方法二:筛选+尖点特性尖点特性 在第在第z z层,求出其所有最大内切圆的圆心,若是层,求出其所有最大内切圆的圆心,若是轴心坐标,则以它为中心的球体被上下轴心坐标,则以它为中心的球体被上下i(i
21、=1i(i=1 29)29)张张切片所截的小圆应在第切片所截的小圆应在第Z Z i i张切片中,否则,该圆张切片中,否则,该圆心就不是轴心。心就不是轴心。第第0层切片层切片第第29层切片层切片29误差大的原因和改进途径误差大的原因和改进途径 2 2)方法二:筛选)方法二:筛选+尖端特性尖端特性 0.0.bmp bmp 7070.bmpbmp用上述方法处理效果较好,但用上述方法处理效果较好,但71.71.bmp bmp 9999.bmpbmp经筛选后还有不少候选点,可应用经筛选后还有不少候选点,可应用尖端特性进行二次筛选。尖端特性进行二次筛选。如如9999层,由于层,由于7070层切片左下角不可能是第层切片左下角不可能是第9898或或4242层球体在层球体在7070层截圆的包络,而是更小截圆的包络,层截圆的包络,而是更小截圆的包络,该小圆只能来自该小圆只能来自9999或或4141层,经计算层,经计算4141层不可能,故层不可能,故此小圆定在第此小圆定在第9999层的球体中。层的球体中。返回返回返回返回30The End31
限制150内