基于Nios II的MRI脊柱图像分割系统
时间:01-13
来源:互联网
点击:
三. 性能参数
系统性能参数:
脊柱核磁共振图像对于诊断脊骨的疾病方面扮演着非常重要的角色,例如对于退化椎间盘的描述比其他形式的图像有更好的效果,并且能够对脊椎外科手术的治疗进行评估。对脊椎核磁共振图像进行分析处理可以辅助诊断更加精确,节省时间和花费。因此对于本系统来说,最重要的就是要将脊椎准确而清晰从图像中分割和识别出来,在保证图像分割的准确性的同时,通过优化代码、使用C2H工具及自定义用户外设等方法加块运算速度。
下图是系统工程编译之后各种资源的占用情况:
算法各个步骤运行时间如下:(以下是经过代码优化后的运行时间)
图像预处理:4128.77ms ms
脊髓的提取(Spinal Cord extraction): 24208.14ms
椎间盘的探测(Disks Detection): 6.03ms
图像存入sd卡时间:15881.59 ms
图像从sd卡读入时间:5730.02ms
算法分割的准确性从系统运行后生成的最终处理图像可以看出,系统能够比较准确的将脊椎标注出来,并且在平台上将各个脊椎按照编号标注出来。医疗仪器的具体性能还需要长期的临床实验来得到验证,并通过这些数据改善我们的算法。
下图是直接拍摄作品显示的处理效果,在后面章节显示的图片是系统通过网络将图片传输到计算机上得到的。
四. 设计结构
软件流程如下:
1. 系统硬件设计
SOPC Builder设置如下图
Quartus II 软件下模块示意图如下
系统实物图片:
2. 实现步骤及实现方法
1). LCD图像显示及人机交互模块
(1) LCD及鼠标硬件部分
LCD控制器芯片采用TCB8000C,控制5.7寸TFT65000色LCD显示屏。控制器接口与MCU接口图如下,通过编写了硬件程序以Avalon总线从设备的方式连接到Avalon总线上,实现 Nios直接访问LCD控制器的功能,利于驱动程序编写,简化后续的GUI移植中有关LCD驱动部分。
系统采用PS/2接口鼠标,PS/2鼠标接口采用一种双向同步串行协议。即每在时钟线上发一个脉冲,就在数据线上发送一位数据。与nios的连接仍然采用verilog语言编写Avolon从设备,实现PS/2鼠标的传输协议。程序包括mouse_avalon_interFace.v,mouse_register_file.v , ps2_mouse_interface.v 。其中mouse_avalon_interface.v 是avalon总线从设备接口,mouse_register_file.v,ps2_mouse_interface.v完成PS/2鼠标协议的数据转换和传输。编写对应的GUI下的驱动程序,实现GUI的鼠标操作功能。
(2) μc/gui移植
μC/GUI是一款针对嵌入式系统的优秀图形软件,它具有源码公开、可移植、可裁减、稳定性和可靠性高的特点。μC/GUI提供了丰富的界面元素,例如按钮、编辑框、滑动条等控件,同时支持高效的窗口会调机制,为界面与应用函数之间提供了良好的接口机制。多功能数字小相框系统的人机交互界面正是利用这个工具进行开发的。
μC/GUI软件体系结构如下:
μC/GUI函数库为用户程序提供GUI接口,包含的函数有文本、数值、二维图形、输入设备以及各种窗口对象。其中,输入设备可以是键盘、鼠标或触摸屏;二维图形包括图片、直线、多边形、园、椭圆、圆弧等;窗口对象包括按钮、编辑框、进度条、复选框等。
μC/GUI函数库可以通过GUIConf.h文件进行配置,配置的内容包括是否采用内存设备,是否采用窗口管理器,是否支持操作系统、触摸屏,以及配置动态内存的大小等。
在LCDConf.h文件中定义了与硬件有关的各种属性,如液晶的大小、颜色以及与液晶的接口函数。而LCD驱动文件则负责把μC/GUI的各种函数解释成LCDConf.h文件中定义的液晶接口函数,这个文件与具体的硬件连接无关。
μC/GUI与LCD的硬件接口通过驱动文件把硬件接口函数转化为LCDConf.h中定义的LCD读写函数。
2)μC/GUI移植过程:
1. 配置文件的移植
移植工作首先需要完成的是对配置文件的GUIConf.h, LCDConf.h移植,根据数字相册系统的显示模块的要求,对配置文件的相关的参数进行配置。
2. LCD驱动的移植
μC/GUI针对不同的液晶控制器提供了多种驱动程序,如KS0713、SEDl335、T6963等控制器都有对应的液晶驱动程序。但是由于在本系统中,采用的显示模块为TOPWAY TCB8000A LCD控制器和TFT、 65000色、LCD屏。而μC/GUI没有提供相关控制器的驱动,并且与μC/GUI提供驱动支持的LCD控制器相比较,TCB8000A控制器拥有自己独立的屏幕控制指令体系,这给μC/GUI在TCB8000A控制器的移植工作带来了很大的难度。
在移植的过程中,我们首先运用TCB8000A的指令体系,实现了μC/GUI为上层应用函数提供的大部分API函数,接着对于TCB8000A控制器不能在硬件支持的API函数,我们采用软件实现的方法对驱动进行了修补,最后通过对大量控件显示测试实验,调整了在LCD驱动中运用的TCB8000A显示指令中的参数,使得LCD驱动的性能达到最优。最终实现了μC/GUI在TCB8000A控制器上的无缝移植。
系统性能参数:
脊柱核磁共振图像对于诊断脊骨的疾病方面扮演着非常重要的角色,例如对于退化椎间盘的描述比其他形式的图像有更好的效果,并且能够对脊椎外科手术的治疗进行评估。对脊椎核磁共振图像进行分析处理可以辅助诊断更加精确,节省时间和花费。因此对于本系统来说,最重要的就是要将脊椎准确而清晰从图像中分割和识别出来,在保证图像分割的准确性的同时,通过优化代码、使用C2H工具及自定义用户外设等方法加块运算速度。
下图是系统工程编译之后各种资源的占用情况:
算法各个步骤运行时间如下:(以下是经过代码优化后的运行时间)
图像预处理:4128.77ms ms
脊髓的提取(Spinal Cord extraction): 24208.14ms
椎间盘的探测(Disks Detection): 6.03ms
图像存入sd卡时间:15881.59 ms
图像从sd卡读入时间:5730.02ms
算法分割的准确性从系统运行后生成的最终处理图像可以看出,系统能够比较准确的将脊椎标注出来,并且在平台上将各个脊椎按照编号标注出来。医疗仪器的具体性能还需要长期的临床实验来得到验证,并通过这些数据改善我们的算法。
下图是直接拍摄作品显示的处理效果,在后面章节显示的图片是系统通过网络将图片传输到计算机上得到的。
四. 设计结构
基于Nios II的MRI脊柱图像分割系统硬件结构图
软件流程如下:
五. 设计方法
1. 系统硬件设计
SOPC Builder设置如下图
Quartus II 软件下模块示意图如下
系统实物图片:
2. 实现步骤及实现方法
1). LCD图像显示及人机交互模块
(1) LCD及鼠标硬件部分
LCD控制器芯片采用TCB8000C,控制5.7寸TFT65000色LCD显示屏。控制器接口与MCU接口图如下,通过编写了硬件程序以Avalon总线从设备的方式连接到Avalon总线上,实现 Nios直接访问LCD控制器的功能,利于驱动程序编写,简化后续的GUI移植中有关LCD驱动部分。
系统采用PS/2接口鼠标,PS/2鼠标接口采用一种双向同步串行协议。即每在时钟线上发一个脉冲,就在数据线上发送一位数据。与nios的连接仍然采用verilog语言编写Avolon从设备,实现PS/2鼠标的传输协议。程序包括mouse_avalon_interFace.v,mouse_register_file.v , ps2_mouse_interface.v 。其中mouse_avalon_interface.v 是avalon总线从设备接口,mouse_register_file.v,ps2_mouse_interface.v完成PS/2鼠标协议的数据转换和传输。编写对应的GUI下的驱动程序,实现GUI的鼠标操作功能。
(2) μc/gui移植
μC/GUI是一款针对嵌入式系统的优秀图形软件,它具有源码公开、可移植、可裁减、稳定性和可靠性高的特点。μC/GUI提供了丰富的界面元素,例如按钮、编辑框、滑动条等控件,同时支持高效的窗口会调机制,为界面与应用函数之间提供了良好的接口机制。多功能数字小相框系统的人机交互界面正是利用这个工具进行开发的。
μC/GUI软件体系结构如下:
μC/GUI函数库为用户程序提供GUI接口,包含的函数有文本、数值、二维图形、输入设备以及各种窗口对象。其中,输入设备可以是键盘、鼠标或触摸屏;二维图形包括图片、直线、多边形、园、椭圆、圆弧等;窗口对象包括按钮、编辑框、进度条、复选框等。
μC/GUI函数库可以通过GUIConf.h文件进行配置,配置的内容包括是否采用内存设备,是否采用窗口管理器,是否支持操作系统、触摸屏,以及配置动态内存的大小等。
在LCDConf.h文件中定义了与硬件有关的各种属性,如液晶的大小、颜色以及与液晶的接口函数。而LCD驱动文件则负责把μC/GUI的各种函数解释成LCDConf.h文件中定义的液晶接口函数,这个文件与具体的硬件连接无关。
μC/GUI与LCD的硬件接口通过驱动文件把硬件接口函数转化为LCDConf.h中定义的LCD读写函数。
2)μC/GUI移植过程:
1. 配置文件的移植
移植工作首先需要完成的是对配置文件的GUIConf.h, LCDConf.h移植,根据数字相册系统的显示模块的要求,对配置文件的相关的参数进行配置。
2. LCD驱动的移植
μC/GUI针对不同的液晶控制器提供了多种驱动程序,如KS0713、SEDl335、T6963等控制器都有对应的液晶驱动程序。但是由于在本系统中,采用的显示模块为TOPWAY TCB8000A LCD控制器和TFT、 65000色、LCD屏。而μC/GUI没有提供相关控制器的驱动,并且与μC/GUI提供驱动支持的LCD控制器相比较,TCB8000A控制器拥有自己独立的屏幕控制指令体系,这给μC/GUI在TCB8000A控制器的移植工作带来了很大的难度。
在移植的过程中,我们首先运用TCB8000A的指令体系,实现了μC/GUI为上层应用函数提供的大部分API函数,接着对于TCB8000A控制器不能在硬件支持的API函数,我们采用软件实现的方法对驱动进行了修补,最后通过对大量控件显示测试实验,调整了在LCD驱动中运用的TCB8000A显示指令中的参数,使得LCD驱动的性能达到最优。最终实现了μC/GUI在TCB8000A控制器上的无缝移植。
仿真 Altera FPGA DSP Quartus 嵌入式 C语言 LCD MCU 总线 触摸屏 电子 相关文章:
- 虚拟心电监护系统软件设计(10-27)
- 一种心电信号采集放大电路的简单设计方法(03-08)
- 神经模糊控制在SAW压力传感器温度补偿中的应用(08-03)
- 基于ARM9的无线多床位心电监护仪的设计(04-09)
- 光谱灯光刺激近视治疗仪灯光控制器的设计(08-10)
- 基于ARM7的心电采集与远程传输系统设计(08-10)