作者:陈华荣,邱见明,孟一聪,本文获全国一等奖 血管的三维重建 摘要 本文针对医学中的经常遇到的三维图象重新组合这样一个典型问题进行分析与建模 对于本题三维血管重建这个实际问题,我们提出了四种不同的数学模型一重叠相加 法,断层扫描法,切线计算法和空间向量法。 重叠相加法是最简单的,其计算非常快,但它的成立需要一定的条件,如血管在空 间往ⅹOY的投影不能有重叠的地方,并且血管的半径必须相等等 断层扫描法直观明了,它实际上是应用计算机断层扫描技术。在对一个未知物体的 扫描时,非常有用,它已被大量用于实际的医疗技术中,可以得到物体内外部的特 征 ●切线计算法有一定的依据,该方法求直径较为准确而且计算也相对简单。 空间向量法是较为精确的一种方法,只要给出的图像的像点尽可能的多,从而可以 很精确的确定每一点的法线从而知道血管的半径和中心轴的坐标。而且它可以不受 太多的约束条件的限制,是一种很好的方法。 在数据的处理中由于题目给出的是数字图象,在处理过程中,将遇到图象像点不连续的 情况,因此我们应用了极大似然估计法和近似准则,抛弃了一些误差很大的点。根据空间向 量法得到的血管半径为29483,中心轴线近似为一条空间光滑曲线。最后,还给出一个检验 模型,用以比较根据计算所得的中心轴线和半径而恢复的血管与题目所给的血管图形的差 别 第1页〔共14页〕
第1页 共14页 作者:陈华荣 , 邱见明 , 孟一聪 , 本文获全国一等奖 血管的三维重建 摘 要 本文针对医学中的经常遇到的三维图象重新组合这样一个典型问题进行分析与建模 对于本题三维血管重建这个实际问题 我们提出了四种不同的数学模型 重叠相加 法 断层扫描法 切线计算法和空间向量法 l 重叠相加法是最简单的 其计算非常快 但它的成立需要一定的条件 如血管在空 间往 XOY 的投影不能有重叠的地方 并且血管的半径必须相等等 l 断层扫描法直观明了 它实际上是应用计算机断层扫描技术 在对一个未知物体的 扫描时 非常有用 它已被大量用于实际的医疗技术中 可以得到物体内外部的特 征 l 切线计算法有一定的依据 该方法求直径较为准确而且计算也相对简单 l 空间向量法是较为精确的一种方法 只要给出的图像的像点尽可能的多 从而可以 很精确的确定每一点的法线从而知道血管的半径和中心轴的坐标 而且它可以不受 太多的约束条件的限制 是一种很好的方法 在数据的处理中由于题目给出的是数字图象 在处理过程中 将遇到图象像点不连续的 情况 因此我们应用了极大似然估计法和近似准则 抛弃了一些误差很大的点 根据空间向 量法得到的血管半径为 29.483 中心轴线近似为一条空间光滑曲线 最后 还给出一个检验 模型 用以比较根据计算所得的中心轴线和半径而恢复的血管与题目所给的血管图形的差 别
问题提出 断面可用于了解生物组织、器官等的形态。如果用切片机连续不断地将样本切成数十、成百的平行 切片,可依次逐片观察。根据拍照并采样得到的平行切片数字图像,运用计算机可重建组织、器官等准 确的三维形态 假设某些血管可视为一类特殊的管道,该管道的表面是由球心沿着某一曲线的球滚动包络而成。现 有某管道的相继100张平行切片图像,记录了管道与切片的交。图像文件名依次为0.bmp、1.bmp、 99.bmp,格式均为BMP,宽、高均为512个象素( pixel)。并假设:管道中轴线与每张切片有且只有 个交点;球半径固定:切片间距以及图像象素的尺寸均为1 取坐标系的Z轴垂直于切片,第1张切片为平面Z=0,第100张切片为平面Z=99Z=z切片图像中象 素的坐标依它们在文件中出现的前后次序为 (-256 z),(-256,-255,z), 255,z), z),(-255,-255,z),“( 255 (255,-256,z),(255,-255,z),…(255,255,z) 试计算管道的中轴线与半径,给出具体的算法,并绘制中轴线在XY、YZ、ZX平面的投影图 二、问题分析 依题意,血管可以看作是一个半径为R的小球沿着一定的轨道在行进过程中所覆盖的所有体积。这 样球心轨迹实际就是中心轴线。小球半径就是 血管半径 而在给出的切面图形中,显然切面的最外 的黑 色曲线一定为血管壁的投影,而中间的部分则 可能为血 管壁或为血管内部的投影。在题目中,我们还 有一个重 要的信息:管道中轴线与每张切片有且只有一 个交点。 这将限制了血管的在空间的大致分布情况。 因此,本题的关键在于抓住100幅切片图 像 利用数学手段,将每一切片上有且仅有的与中 心轴线的 个交点找到,再通过插值等方法得到中心轴线与半径,从而完成血管等三维重建。 模型假设与符号说明 1.模型假设 ●在已给的图形中,由于其为象素点,每一点并非无限小,而只为整数坐标。故在解题时紧挨曲 线的整数象点近似为曲线上的点 ●由于象素点为整数,故考虑血管的切面时,紧挨着的四个点所构成的平面,近似看成是该点的 切面。 第2页〔共14页
第2页 共14页 一 问题提出 断面可用于了解生物组织 器官等的形态 如果用切片机连续不断地将样本切成数十 成百的平行 切片 可依次逐片观察 根据拍照并采样得到的平行切片数字图像 运用计算机可重建组织 器官等准 确的三维形态 假设某些血管可视为一类特殊的管道 该管道的表面是由球心沿着某一曲线的球滚动包络而成 现 有某管道的相继 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 平面的投影图 二 问题分析 依题意 血管可以看作是一个半径为 R 的小球沿着一定的轨道在行进过程中所覆盖的所有体积 这 样球心轨迹实际就是中心轴线 小球半径就是 血管半径 R 而在给出的切面图形中 显然切面的最外 的 黑 色曲线一定为血管壁的投影 而中间的部分则 可能为血 管壁或为血管内部的投影 在题目中 我们还 有一个重 要的信息 管道中轴线与每张切片有且只有一 个交点 这将限制了血管的在空间的大致分布情况 因此 本题的关键在于抓住 100 幅切片图 像 利用数学手段 将每一切片上有且仅有的与中 心轴线的 一个交点找到 再通过插值等方法得到中心轴线与半径 从而完成血管等三维重建 三 模型假设与符号说明 1 模型假设 l 在已给的图形中 由于其为象素点 每一点并非无限小 而只为整数坐标 故在解题时紧挨曲 线的整数象点近似为曲线上的点 l 由于象素点为整数 故考虑血管的切面时 紧挨着的四个点所构成的平面 近似看成是该点的 切面
血管管道的表面是由球心沿着某一曲线的球滚动包络而成。其半径为固定的。 每一张切面与中心轴线有且只有一个交点 2.符号说明 切面Z为第Z个切面,即ZBmp M(x,y,z)为切面z上坐标为(x,y)的点 为切面Z与中心轴线的交点 中心轴线,l,l,l2xy、 lyz, Lz分别为1在xy、yzx面的投影 血管的半径 其他符号说明见文中 四、模型求解 模型一、重叠相加法 由分析可知,在每一幅图中,都将有且有一个点,该点为中心轴线与该图点交点。显然以O为球心, 血管半径R做一个球,则该球的投影将会被该黑色图形所包围。 并且由于管道的表面是由球心沿着某一曲线(称为中轴线)的球滚动包络而成。所以对于血管的 小段而言,无论投影到哪一个平面或被过中心轴线的平面所切,它在平面上最终形成的影子的口径 D>=2R 在这里我们考虑一种最简单的 方法, 即将100幅bmp的图像叠加在XOY 平面上。由 题目要求和假设,我们知道,此时 在XOY上 将会出现一条管道,该管道两头略 小,中间部 分基本成一环状,设该环状的宽为 d,则由上分 析知,R≤=d 如图示: 由几何知识,我们可以知道 若血管 的投影不会重叠(在XOY上),则 该环状物的 宽度即为血管的半径,即R=d 因为环状物 可以看作为小球轨迹在XOY平面 的投影。故 100幅图叠加后的图中的环状物的中心线L就是血管中心轴线在XOY平面上的投影 第3页〔共14页〕
第3页 共14页 l 血管管道的表面是由球心沿着某一曲线的球滚动包络而成 其半径为固定的 l 每一张切面与中心轴线有且只有一个交点 2 符号说明 切面 Z 为第 Z 个切面 即 Z.Bmp M(x y z) 为切面 z 上坐标为 x y 的点 Oz 为切面 Z 与中心轴线的交点 L 中心轴线 xy xz yz l ,l ,l lxy lyz lxz 分别为 l 在 xy yz xz 面的投影 R 血管的半径 其他符号说明见文中 四 模型求解 模型一 重叠相加法 由分析可知 在每一幅图中 都将有且有一个点 该点为中心轴线与该图点交点 显然以Oz 为球心 血管半径 R 做一个球 则该球的投影将会被该黑色图形所包围 并且由于管道的表面是由球心沿着某一曲线 称为中轴线 的球滚动包络而成 所以对于血管的一 小段而言 无论投影到哪一个平面或被过中心轴线的平面所切 它在平面上最终形成的影子的口径 D >= 2R 在这里我们考虑一种最简单的 方 法 即将 100 幅 bmp 的图像叠加在 XOY 平面上 由 题目要求和假设 我们知道 此时 在 XOY 上 将会出现一条管道 该管道两头略 小 中间部 分基本成一环状 设该环状的宽为 d 则由上分 析知 2 d R <= 如图示 由几何知识 我们可以知道 若血管 的投影不会重叠 在 XOY 上 则 该环状物的 宽度即为血管的半径 即 2 d R = 因为环状物 可以看作为小球轨迹在 XOY 平面 的投影 故 100 幅图叠加后的图中的环状物的中心线 L 就是血管中心轴线在 XOY 平面上的投影
过曲线L做一垂直与XOY平面的曲面Q,由上面的分析知道,血管的中心轴线必将在曲面Q上 曲面Q与每一个切面Z都会有一条交线l,显然O在l2上 在l上,任取一点A(xyz),以半径R做一圆,如果该圆恰好与切面上点黑色图相切(即有且有两 个交点),则该点即为中心轴线上的点 同理,在一百个切面上,可以找到一百个点A0A1,A2…,将该点拟合成一曲线,就是血管中心轴 线,且环宽的一半就是Ra 通过计算机计算,我们可以知道曲线的半径为 R=59.783/2=298915 其点如右图示 在三个垂直面的投影分别如下 125150 第4页〔共14页
第4页 共14页 过曲线 L 做一垂直与 XOY 平面的曲面 Q 由上面的分析知道 血管的中心轴线必将在曲面 Q 上 曲面 Q 与每一个切面 Z 都会有一条交线 z l 显然Oz 在 z l 上 在 z l 上 任取一点 A(x y z),以半径 R 做一圆 如果该圆恰好与切面上点黑色图相切 即有且有两 个交点 则该点即为中心轴线上的点 同理 在一百个切面上 可以找到一百个点 A0,A1,A2 … … ., 将该点拟合成一曲线 就是血管中心轴 线 且环宽的一半就是 R 通过计算机计算 我们可以知道曲线的半径为 R 59.783/2=29.8915 其点如右图示 在三个垂直面的投影分别如下 -150 25 50 75 100 125 150 20 40 60 80 25 50 75 100 125 150 -150 -100 -50 50 100
模型二、断层扫描法 在三维空间内,(p,a,)能唯一决定一个平面,其中,a为平面和xoy面的角度,O为平面和xoz 面的角度。这样我们可以在心血管的边界上随机选取一点,然后在这一点的基础上,和O取不同的角 度,就可以得到不同的平面,每个平面和心血管都有一条封闭的曲线,假如我们能够找到一个圆,那么 这个圆的半径就是心血管的半径,圆心就是心血管的中轴线上的一点。只要我们在心血管的边界上依次 取点,我们就可以找出中轴线。 我们利用计算机对这100幅切面图进行叠加,重建了一个血管的三维立体图。然后从在心血管的边 界上以一定的顺序取点。对于每一个点,搜索角度a和O,使得切割血管所得截面为正圆。 下面是如何判断一个图形是否为正圆 假设我们截得的图形边界上的点为A4(k∈Z,K≤N) 集合P={44|m∈z,n∈Z+,m≤N,n≤N} 则图形长轴为 2a= max 4m4 fA. A, 中心点O即在AnAn的中点 求出中心点O到图形边界上所有点的最小距离b=mn{OAB 设圆系数为p==≤1 ·P=1时图形为正圆 p越小离正圆的偏差越大 我们认为只要p>0.9就可以认为是正圆 上 出了 当断 层不 同时所 截 50175200225250 到的 不同面 通过计算机计算,我们可以知道,血管半径为30a当我们判断出所截图形为正圆时,显然圆的圆心 就是我们所要找的中心轴点。(投影图略) 第5页〔共14页
第5页 共14页 模型二 断层扫描法 在三维空间内 p a q 能唯一决定一个平面 其中 a 为平面和 xoy 面的角度 q 为平面和 xoz 面的角度 这样我们可以在心血管的边界上随机选取一点 然后在这一点的基础上 a 和q取不同的角 度 就可以得到不同的平面 每个平面和心血管都有一条封闭的曲线 假如我们能够找到一个圆 那么 这个圆的半径就是心血管的半径 圆心就是心血管的中轴线上的一点 只要我们在心血管的边界上依次 取点 我们就可以找出中轴线 我们利用计算机对这 100 幅切面图进行叠加 重建了一个血管的三维立体图 然后从在心血管的边 界上以一定的顺序取点 对于每一个点 搜索角度a 和q 使得切割血管所得截面为正圆 下面是如何判断一个图形是否为正圆 假设我们截得的图形边界上的点为 Ak (k Î Z ,K £ N) + 集合 P { A A | m Z ,n Z ,m N,n N} = m n Î Î £ £ + + 则图形长轴为 2 max { } m n A A P a A A m n Î = 中心点O 即在 Am An 的中点 求出中心点O 到图形边界上所有点的最小距离 min{ } b = OAk 设圆系数为 = £ 1 a b r l r = 1时图形为正圆 l r越小离正圆的偏差越大 我们认为只要 r > 0.9 就可以认为是正圆 上 图 给 出 了 当 断 层 不 同 时 所 截 到 的 不同面 通过计算机计算 我们可以知道 血管半径为 30 当我们判断出所截图形为正圆时 显然圆的圆心 就是我们所要找的中心轴点 投影图略 340 360 380 400 420 440 20 40 60 80 100 150 175 200 225 250 275 300 60 80 100 120