首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

CT图像重建算法的FPGA实现之六

CT图像重建算法的FPGA实现之六

第三章 Matlab下模型的建立
3.1 Simulink简介

由于Matlab具有语法筒单、易学、好写以及有强大的运算及绘图能力和强大且多样化的各种工具箱可供使用的优点,我们决定在Matlab下面进行模型的建立,对比m文件和simulink的优缺点,我们采用较为直观的Simulink仿真形式进行仿真。


Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样频率的系统。在Simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。Simulink包含有SINKS(输入方式)、SOURCE(输入源)、LINEAR(线性环节)、NONLINEAR(非线性环节)、CONNECTIONS(连接与接口)和EXTRA(其他环节)子模型库,而且每个子模型库中包含有相应的功能模块。用户也可以定制和创建用户自己的模块。
用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。在定义完一个模型后,用户可以通过Simulink的菜单或Matlab的命令窗口键入命令来对它进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。采用SCOPE模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。除此之外,用户还可以在改变参数后来迅速观看系统中发生的变化情况。仿真的结果还可以存放到Matlab的工作空间里做事后处理。

模型分析工具包括线性化和平衡点分析工具、Matlab的许多工具及Matlab的应用工具箱。由于Matlab和Simulink的集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改。


3.2 模块划分
图3.1为Simulink下建立的FBP算法模型:



图3.1 FBP算法模型

模型共分3部分,第一部分是counters,主要是确定图像的大小;第二部分是filtering,完成数据的滤波过程;最后是back projection对数据进行反投影运算。

滤波器模块采用斜滤波器的模型,如图3.2所示:


图3.2 斜滤波器模型

反投影算法的理论依据是“中心切片定理”,该定理指出:线性衰减系数函数在某一方向上的投影函数的一维傅立叶变换函数是此衰减系数函数的二维傅立叶变换函数或其在平面上沿同一方向且过原点的直线上的值,根据这个原理,我们很容易得出反投影算法的理论公式,并可以得出仿真模型,如图3.3所示:

图3.3 反投影算法模型


3.3功能介绍与仿真设置
整个模型实现的就是FBP算法,其中的每一个模块采用的都是定点算法,对于运算过程中的数据精度需要提前设置。

定点模型数据按照功能的不同划分为七个部分,每部分的精度设置如下:
  • fpw_cos = 12       正弦与余弦函数的位宽;
  • fpw_prj  = 18       投影数据的位宽;
  • fps_prj = fpw_prj – 1 – nextpow2(max(max(abs(R))))    投影数据的比例;
  • fpw_fil  = 16       滤波器的位宽;
  • fps_fil = fpw_fil – 1 – nextpow2(max(abs(h1))))         l滤波器的比例;
  • fpw_out  = 18       输出数据的位宽;
  • fps_out = fps_prj –(fpw_prj – fpw_out)                输出数据的比例。

3.4仿真结果

仿真图像采用120像素点的S-L头像,如下图3.4所示:


图3.4 120像素点的S-L头像模型

对于头像模型经过Radon变换之后所得到的正弦曲线图如图3.5所示:


图3.5 投影所得曲线

滤波器采用121抽头的FIR滤波器,仿真结果如图3.6所示:

图3.6 滤波器仿真结果

最后所得到的重建图像与原始头像的对比图如图3.7所示:

图3.7 重建图像与原始头像对比图

因为采集的头像仅为120个像素点,并且投影间隔较短,所以重建效果并不是非常理想,但是当采集点数上升和加密投影间隔之后,重建效果就会趋于理想,此结果已经可以证明算法的正确性。



第四章 FPGA的实现
4.1Modelsim仿真
4.1.1 Modelsim简介
Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比Quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。

4.1.2 仿真结果

通过Modelsim仿真工具,可以得到滤波反投影重建的仿真结果如图4.1所示:

图4.1 仿真结果


4.2ISE仿真
4.2.1Xilinx ISE开发平台简介
Xilinx ISE是Xilinx公司的EDA软件开发系统,是一个集成化环境,主要由项目导航工具、设计输入工具、逻辑综合工具、设计实现工具、设计约束图形编辑接口等组成一个软件平台[13]。①项目导航工具是基本窗口界面,用来访问ISE软件系统的各种各种工具箱;②设计输入工具包括:电路逻辑输入工具—电路图编辑器、硬件描述语言输入工具—硬件描述语言编辑器(HDL Editor)、状态机编辑器、硬件描述语言测试生成器;③逻辑综合工具将硬件描述语言代码经过综合优化后输出EDIT格式电路逻辑连接(网表);④设计实现工具用于面向FPGA的设计实现中的布局布线,并且可以对网表反标注以便提供给仿真工具进行后仿真验证;⑤设计约束图像编辑接口包含图像化的设计约束编辑接口,实现控制逻辑块的位置约束和时间约束。ISE软件界面如图4.2所示:     


图4.2 ISE软件界面

4.2.2ISE的仿真
通过ISE的平台操作,可以得出以下Counters RTL级仿真和滤波器RTL级电路图:

图4.2 Counters RTL级仿真电路图


图4.3 滤波器RTL级电路仿真结果(部分图)



从而可以仿真出反投影算法RTL级仿真电路图:

图4.4 反投影算法RTL级仿真电路图


4.3系统联调
系统联调时,首先在Matlab里面建立好Shepp-Logan的模型,并且通过雷登变换计算出头像的投影数据,通过USB口发送至开发板,数据在板上运行完毕后,再将数据发送回PC机,送到Matlab中进行图像的现实处理,即可完成整个过程,下图为最终所得到的重建图形,结果证实整个过程是可行的。

最终得到的重建图像



第五章 总结
5.1 研究过程中所遇到的问题
在整个项目过程中所遇到的问题都与滤波反投影FBP算法有关,一是,计算过程中的数据量较大;二是,对于要产生高分辨率的重建图像,那么就需要高像素的投影数据和较小的投影间隔,这些数据提升的同时会加大计算的数据量;还有就是高精度的重建工作是非常困难的,因为在浮点转定点运算的过程中,要考虑到量化的影响,所以我们要正确的选择位宽来实现定点运算,保证浮点转定点之后的误差最小。

5.2 FBP算法所面临的挑战

FBP 算法的运算时间约99 %消耗在加权反投影阶段。因此,要提高FBP 重建的速度,须减少卷积反投影阶段的三角函数和浮点乘除的运算。国内外学者做过这方面的研究。如文献所提出的查表法,事先将固定的反投影的加权值和反投影的位置以参数表的形式储存起来,计算时再从表中查取。由于这两个值都与投影角成函数关系,因此,随着投影数量增大,参数表的规模将显著增大,既消耗大量内存,查表又需要用很多时间。


5.3 课题的研究前景
目前,市场上虽然已有商品化的CT三维重建软件,但是国内外各CT厂家的图像数据格式不同,并且格式不公开;另外文件格式经过加密处理,图像格式转换极为困难。西方主要发达国家的CT、MRI等医学成像设备和医学处理软件远远超过了我国。除了通用电气、西门子、东芝等医学成像设备制造商开发的配套软件产品外,比较成熟的医学图像处理软件还包括美国宾州大学开发的3D VIEWNIX系统、美国生物动力学研究中心开发的ANALYSE系统和德国汉堡大学开发的Voxel-Man系统等。这些系统各有长短,但大都在UNIX工作站上开发,其设备价格昂贵,不适合中国国情,并且其模型无法根据手术需要进行编辑,进而无法开展进一步手术计划和模拟等。目前,在我国各大医院以进口CT机型为主,而在软件的使用上,受到一定的限制。针对以上情况,从二维的算法研究入手,并在此基础上研制自己的三维重建系统,并为进一步的分析诊断、手术预测和模拟服务,具有一定的学术价值和实用意义。

5.4 下一步计划
目前绝大多数情况是通过观察人体的每一切片图像来进行诊断的。由于人体器官构造的复杂性和形态多样性以及病变位置与形态的不可预知性,没有相当的专业知识和实践经验,很难读懂这种二维切片图像,更难从这种二维切片构想出组织器官的立体型态和相互关系,所以仅仅从二维图像难以满足医疗诊断的要求。

随着断层投影(CT)、核磁共振(MRI)、超声等医学成像技术的产生和发展,人们可以得到人体内部器官的二维数字断层图像序列或三维数据(称为医学体数据)。作为科学计算可视化的一个重要研究分支,医学体数据的三维重建是要在计算机上对这些离散数据进行拟合,将其转变成为具有直观三维效果的图像,利用人类视觉系统特性来展示人体器官的三维形态,从而提供若干用传统手段无法获得的解剖结构信息,并为进一步模拟操作提供可视交互手段。

所以下一步计划实现三维空间的CT图像重建算法,同时要在算法本身上面实现理论上的突破,在浮点转定点的过程中,进一步合理的设置位宽,保证重建结果的精度。


结论语

本文针对CT图像重建方法进行了研究,提出了二维图像重建的滤波反投影FBP算法。该算法具有重建速度快、空间和密度分辨率高等优点,缺点是对投影数据的完备性要求较高,从数学上讲,只有获得被检试件所有的Radon变换数据(完全投影数据)后才能精确重建其切片图像。接着采用计算机仿真对算法进行了验证。仿真实验表明,当投影数据较完备时,滤波反投影算法能获得较好的重建质量。需要指出的是上述算法是基于平行束投影数据的,对于扇形束投影数据,可采用数据重排或直接扇形束重建方法。尽管滤波反投影算法与其他图像重建算法相比具有较高的运算速度,但由于CT重建的数据量庞大,使得图像重建的计算非常耗时,尤其是对于高分辨率图像重建。因此,提高该算法的重建速度仍是今后的研究方向。

记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表