Chart与C++结合在医学海量信息处理中的应用-2016年最新医学论文

上传人:豆浆 文档编号:1820125 上传时间:2017-07-15 格式:DOC 页数:12 大小:32KB
返回 下载 相关 举报
Chart与C++结合在医学海量信息处理中的应用-2016年最新医学论文_第1页
第1页 / 共12页
Chart与C++结合在医学海量信息处理中的应用-2016年最新医学论文_第2页
第2页 / 共12页
Chart与C++结合在医学海量信息处理中的应用-2016年最新医学论文_第3页
第3页 / 共12页
Chart与C++结合在医学海量信息处理中的应用-2016年最新医学论文_第4页
第4页 / 共12页
Chart与C++结合在医学海量信息处理中的应用-2016年最新医学论文_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Chart与C++结合在医学海量信息处理中的应用-2016年最新医学论文》由会员分享,可在线阅读,更多相关《Chart与C++结合在医学海量信息处理中的应用-2016年最新医学论文(12页珍藏版)》请在金锄头文库上搜索。

1、精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询Chart 与 C+结合在医学海量信息处理中的应用一、Chart 与 Visual C+的结合的背景 Chart 软件同时具有传统记录仪的简易和数字记录仪的分析功能,目前广泛应用于生命科学等专业研究领域。Chart 软件虽然具有强大易用性,但仍存在很多不足之处。首先,它在批量处理实验数据方面功能较弱。其次,读取数据的精确度依赖于计算机硬件配置。第三,读取数据的精确度在不同的操作者之间存在个体差异。在处理呼吸动力学研究实验数据时,针对上述情况,本课题借用了现代计算机软件技术来解决 Chart 软件在处理医学海量信息中存在的不足。 在软件编程环境

2、的选择上,我们选择了 Microsoft 公司的 Visual C+ 6.0。要实现 Chart 与 Visual C+相结合来处理医学数据的功能,首先必须解决两个软件之间的数据接口问题。经参考 Chart 软件的相关帮助文档可知,Chart 软件中的数据可以通过菜单按一定的衰减比率存储到文本文件中,而 Visual C+编程环境提供文本文件的访问功能,能从指定的文本文件中读取数据,同时编程通过相应的算法对数据进行处理,并将处理的结果输入到文件中,因此基于数据文件交换可以作为 Chart 与 Visual C+共同协调工作的数据交换方式。 二、实现方法 由于 Chart 和 Visual C+

3、两个不同软件之间的协调工作是以文本类型数据文件为基础实现的,所以文本类型数据文件的生成是一个精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询基础的重要的工作。在成功生成了文本类型数据文件后,就需要对文件中的数据进行处理,此时需要建立数据处理算法,通过编程将算法植入数据分析软件中,从而得到处理结果。 由上可知,数据分析软件的实现需要如下三部分工作:数据文件的生成、数据处理算法的建立和编程软件实现。 (一)数据文件的生成 选定欲读取数值的数据段,将 Windows 格式波形文件保存为文本文件。 (见图 1) 。Chart 有 Windows 和 Macintosh 两个版本,若实验数据是以 M

4、acintosh 格式保存,则需先转换成 Windows 格式。 图 1 数据格式转换过程截图 (二) 数据处理算法的建立 数据处理算法的主要工作目的是通过计算得到每个周期中各个通道数据的平均值或最大值,所以算法必须要包括两个功能部分:周期区的确定和特征值(最大值或平均值)的计算。 1 周期区的确定 图 2 为某条件下实验数据的一部分,每个周期的起点为数据图像中各个上升沿的初始点,如图中的 A 点,而周期的终点为起点后相应周期时间后的点,因此周期块的确定关键在于起点的寻求。 精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询对于一个上升沿的寻求,我们可以通过判断一段时间内数据的变化趋势来的得

5、到。在给定的时间内,这些数据从低水平开始单调上升,则表明一个上升沿已经开始,同时第一数据所在的时刻就是这个上升沿的起点。但是这个处理方法明显只能在理想状态下运用,不适合实际的实验数据。在实际采集到的数据中,存在着很多干扰,这样就会有如下情况发生:在上升沿数据段,数据整体趋势是上升的,但在很多小区域数据可能处于一种混乱的规律中,或是振荡,或是单调上升,或是单调下降。针对这种情况我们采用了如下“扬长避短”的处理方法: 所谓“扬长”就是对长时间段的单调发展予以肯定和保留,而“避短”则是对于短时间内数据非单调上升的变化规律予以质疑和否定, “扬长”与“避短”的有效结合,解决了小范围内干扰问题,从而实现

6、起点的最优寻求。 找到了上升沿的起点,周期块的确定就比较容易了。在 Chart 进行数据采集时,会有一个采集速率 V,一般我们设定为 1000,即每秒钟采集 1000 个数据,在进行数据存储时,需要设定一个参数-衰减率 R(reduction),假定 M 为存储后数据一秒钟内的个数,则M=V/R,所以两个连续数据间隔时间为 1/M 秒。如果已知数据周期为T,则需要处理的周期块为上升沿起点到起点后 T*M 个数据。 2 特征值计算 依照课题研究的需要,计算得到每个周期块的两个特征值:平均值和最大值。在成功确定了周期块后,特征值的计算就相对简单了。精品文档欢迎来主页查询更多精品文档,欢迎来我主页查

7、询3 编程实现 作为当前主流的计算机编程软件 Visual C+ 6.0,不仅具备有C+所有功能,同时其图形化编程环境让编写程序更加方便、快捷。根据数据处理流程,将软件实现分为三个部分:源数据文件读取、算法实现和结果输出。 (1)源数据文件读取 在标准 c 里面,所有的文件读写操作都要通过文件指针进行,即FILE * fp, 对于文件模式是二进制还是文本模式,每种处理方法都是一样的,比如采用 fscanf、fprintf 打开读写二进制文本还是文本模式文本,其效果是一样的。在对文件进行操作前需要打开文件,fopen(filename,文件使用方式)提供这个功能,与之对应,在结束文件操作后,应该

8、关闭文件,则需要调用 fopen(filename)函数。打开文件的程序段如下: FILE *fp_data = fopen(“data.txt”,”r”); if(fp_data=NULL) AfxMessageBox(“数据文件打开错误,请检查!n 提示:文件名为 data;存储路径为该软件所在目录!”); return; AfxMessageBox(“成功打开数据文件!”); 精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询其中,data.txt 为源数据文件名, ”r”表示以只读方式打开文件,避免误操作对文件数据的破坏,在执行 fopen 函数打开文件后需要对执行结果进行处理,当文

9、件指针 fp_data 为空 NULL 时,表明文件打开错误,则提醒用户“数据文件打开错误,请检查!提示:文件名为 data;存储路径为该软件所在目录!” ,同时程序将中断运行,在用户检查问题并解决问题后,再重新启动程序,如果弹出”成功打开数据文件!”信息,则表明数据库文件已经成功打开,可以进行下一步工作了。 上一页 1 2 下一页关闭文件的程序段如下: fclose(fp_data); 以三通道数据为例,读取文件数据程序段如下: fscanf(fp_data,”%f %f %fn”, list1_data, list2_data, list3_data); 如果打开文件后,是第一次执行上述

10、fscanf 程序段,则代码执行后 list1_data、list1_data 和 list1_data 三变量中分别存储的是第一时刻各通道的数据。循环执行 fscanf 函数直到将所有数据读取完毕。 (2 )算法实现 算法程序实现包括两个部分:周期块的确定和特征值的计算,限于篇幅只给出特征值计算的程序段。 精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询result =0;for(int i=0;i (T*M);i+) /对一个周期内所有数据进行计算CString s;GetDlgItem(IDC_COMBO)- GetWindowText(s); /取得特征值信息if(s=“A”) /

11、取平均值精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询result = result+ datai;else if(s=“M”) /取最大值if(datai =result) /数据比较result = datai;精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询if(i= T*M-1) /生成结果if(s=“A”) /取平均值result = result/(T*M);精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询3 )结果输出 为了方便对计算结果的分析处理,我们把结果输出到了文本文件中,这样不仅可以与源数据进行对应,同时方便拷贝到 excel 中进行处理。程序段如下: FI

12、LE *fp_result = fopen(“result.txt”,”w”); if(fp_result=NULL) 精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询AfxMessageBox(“结果文件打开错误,请检查!n 提示:文件名为 result;存储路径为该软件所在目录!”);return;AfxMessageBox(“成功打开结果文件!”);for(i=0;i i+)fprintf(fp_result,”%f %f %fn”,result1,result2,result3);精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询fclose(fp_result);其中 resu

13、lt.txt 为结果数据文件名,Num 为源数据中存在的完整周期个数。 三、结果与分析讨论 (一) 软件运行界面 图 3 为数据处理软件 ChartHelper 运行界面,简洁,便于操作。ChartHelper 提供与用户的接口,包括第一通道高水平平均值、第一通道低水平平均值、吸气时间(周期)、通道设定,对于前三个参数的设定,用户可以在对应的输入框中输入相应的数值,值得注意的是吸气时间的单位为毫秒,而通道的设置稍微复杂一些。 在“请选取总通道数目”字样右边有一个下拉框,鼠标点击下拉框右边的下拉箭头,将出现 210 的通道选择,用户可以根据实际情况选择相应的通道数,然后鼠标点击右边的“设置通道”

14、按钮,则激活相应通道数的通道设置接口 C2-10,同时相应通道下面的下拉框的状态将由不可编辑变为可编辑设定,如图 4 所示,鼠标点击需要设定通道的下拉箭头,则出现两个选择“A”和“M” ,A 表示该通精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询道求取的特征值为平均值,M 表示该通道求取的特征值为最大值,这样可设置各个通道的特征值类型。 在设置好所有接口参数后,点击“参数设置”按钮进行参数设置,同时启动数据处理程序,此时状态栏将显示当前软件运行的状态,在计算过程中,状态栏将显示“软件运算中,请等待.” ,当计算结束后状态栏将显示“运算已结束,请进行数据存储操作!” ,此时用户可以关闭程序

15、,按照软件下方的提示,打开软件所在目录下的结果文件“result.txt” ,进行下一步的结果存储和分析。 (二)计算结果分析 在呼吸动力学实验所得数据中,随机选取 20 个呼吸周期,分别用手工操作鼠标选取波形读取数据和借助于 Charthelper 软件批量选取波形读取肺内压 Palv 最大值和呼吸机送气流量 F 平均值,用两组间配对 t 检验比较两种数据读取方法所得结果差异,以 P 0.05 为具有显著性差异。手工法和软件批量法两种方法读取所得的 Palv 最大值完全一致,均为 34.590.15 cm H2O (P 0.05),F 的平均值略有差异,所得结果分别为 458.93.6 mL 和 459.64.3 mL(P 0.05) ,两组间差异无显著性。 (三)结论和展望 依照本课题需求所开发的数据处理软件 ChartHelper 有效地解决了人工处理数据的种种弊端,节省数据处理时间,加快时间进度,同时大大降低了因人为因素干扰所带来的误差率,是处理有关医学精品文档欢迎来主页查询更多精品文档,欢迎来我主页查询研究海量数据的实用工具。 上一页 1 2 下一页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号