数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 3012|回复: 8

血管三维重建的算法

[复制链接]
发表于 2003-6-30 04:18:27 | 显示全部楼层 |阅读模式
  对此问题我们提出的是一个搜索模型,从而求出原始球(形成包络的球)的半径,以及中轴线。
  首先我们把每一个切片图的bmp文件转化为一个512×512的0,1矩阵(0代表无象素,1代表有)。再求切片的轮廓线,也存为0,1矩阵。
  然后在题设条件下证明了以下几个结论:1.能够被切片包含的半径最大的圆的半径等于原始球(形成包络的球)的半径;2.可以被切片包含的圆的半径一定小于等于原始球的半径;3.不能被包含于切片的圆的半径一定大于原始球的半径。
  根据上述结论,对每一个切片,只要找到能够被切片包含的半径最大的圆就能求出原始球的半径。我们设计了一个二分搜索算法求该半径,再根据半径搜索求出每个切片和中轴线相交的点的坐标。
  其中读入bmp文件,用matlab的imgread函数,不用参考bmp文件格式了。这个算法,当年搜索全部结果用了几个小时,可能是由于算法没有优化的结果。
发表于 2003-6-30 21:37:33 | 显示全部楼层

能具体谈谈你是如何用二分搜索求球的半径的?
 楼主| 发表于 2003-7-1 02:06:33 | 显示全部楼层

首先确定一个半径r,然后在一定范围内遍历圆心,看以r为半径的圆能否包含在切片内。如果可以,就增大半径,如果不行,则减小半径。
 楼主| 发表于 2003-7-1 02:07:06 | 显示全部楼层

算法概要:1.求粗略的rmax(原始球半径上限);2.求粗略的rmin(原始球半径下限);3.切片内所含的标准圆(以原始球的半径为半径的圆)的圆心O不可能在离切片边缘距离小于rmin的点。则在切片上去掉这些点后,就得到了O可能存在的位置区域;4.用二分法不断缩小原始球半径r0可能的取值范围,从而求出r0;5.求出切片内所含的标准圆的圆心的坐标,这就是为切片和中轴线相交的点的坐标。
发表于 2003-7-8 04:36:41 | 显示全部楼层

能否说一下 怎样证明 1.能够被切片包含的半径最大的圆的半径等于原始球(形成包络的球)的半径;?
 楼主| 发表于 2003-7-9 01:57:13 | 显示全部楼层

这个,这个,很难证呀,等我查查
发表于 2003-7-11 09:55:04 | 显示全部楼层

  在假设中轴线与切片平面有且仅有一个交点的前提下,直观理解到:任一切片平面与一族运动球之交线为两个点、众多小圆与一个大圆,此交线集合就是切片轮廓(详细证明较麻烦,不详述)。即可由运动的连续性证明被切片包含的半径最大的圆的半径等于球半径。
  具体证明详见向为等的论文《血管的三维重建》的附录(本网站可下载)。

[此帖子已被 下天 在 2003-7-11 1:56:50 编辑过]
发表于 2003-7-11 16:22:16 | 显示全部楼层

多谢多谢!
发表于 2004-5-30 21:24:18 | 显示全部楼层
一堆坚壁
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-28 06:32 , Processed in 0.069170 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表