Chart及C++结合在医学海量信息处理中应用.docVIP

Chart及C++结合在医学海量信息处理中应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chart及C结合在医学海量信息处理中应用

Chart及C++结合在医学海量信息处理中应用  一、Chart与Visual C++的结合的背景 Chart软件同时具有传统记录仪的简易和数字记录仪的分析功能,目前广泛应用于生命科学等专业研究领域。Chart软件虽然具有强大易用性,但仍存在很多不足之处。首先,它在批量处理实验数据方面功能较弱。其次,读取数据的精确度依赖于计算机硬件配置。第三,读取数据的精确度在不同的操作者之间存在个体差异。在处理呼吸动力学研究实验数据时,针对上述情况,本课题借用了现代计算机软件技术来解决Chart软件在处理医学海量信息中存在的不足。 在软件编程环境的选择上,我们选择了Microsoft公司的Visual C++ 6.0。要实现Chart与Visual C++相结合来处理医学数据的功能,首先必须解决两个软件之间的数据接口问题。经参考Chart软件的相关帮助文档可知,Chart软件中的数据可以通过菜单按一定的衰减比率存储到文本文件中,而Visual C++编程环境提供文本文件的访问功能,能从指定的文本文件中读取数据,同时编程通过相应的算法对数据进行处理,并将处理的结果输入到文件中,因此基于数据文件交换可以作为Chart与Visual C++共同协调工作的数据交换方式。 二、实现方法 由于Chart和Visual C++两个不同软件之间的协调工作是以文本类型数据文件为基础实现的,所以文本类型数据文件的生成是一个基础的重要的工作。在成功生成了文本类型数据文件后,就需要对文件中的数据进行处理,此时需要建立数据处理算法,通过编程将算法植入数据分析软件中,从而得到处理结果。 由上可知,数据分析软件的实现需要如下三部分工作:数据文件的生成、数据处理算法的建立和编程软件实现。 (一)数据文件的生成 选定欲读取数值的数据段,将Windows格式波形文件保存为文本文件。(见图1)。Chart有Windows和Macintosh两个版本,若实验数据是以Macintosh格式保存,则需先转换成Windows格式。 图1 数据格式转换过程截图 (二) 数据处理算法的建立 数据处理算法的主要工作目的是通过计算得到每个周期中各个通道数据的平均值或最大值,所以算法必须要包括两个功能部分:周期区的确定和特征值(最大值或平均值)的计算。 1 周期区的确定 图2为某条件下实验数据的一部分,每个周期的起点为数据图像中各个上升沿的 初始点,如图中的A点,而周期的终点为起点后相应周期时间后的点,因此周期块的确定关键在于起点的寻求。 对于一个上升沿的寻求,我们可以通过判断一段时间内数据的变化趋势来的得到。在给定的时间内,这些数据从低水平开始单调上升,则表明一个上升沿已经开始,同时第一数据所在的时刻就是这个上升沿的起点。但是这个处理方法明显只能在理想状态下运用,不适合实际的实验数据。在实际采集到的数据中,存在着很多干扰,这样就会有如下情况发生:在上升沿数据段,数据整体趋势是上升的,但在很多小区域数据可能处于一种混乱的规律中,或是振荡,或是单调上升,或是单调下降。针对这种情况我们采用了如下“扬长避短”的处理方法: 所谓“扬长”就是对长时间段的单调发展予以肯定和保留,而“避短”则是对于短时间内数据非单调上升的变化规律予以质疑和否定,“扬长”与“避短”的有效结合,解决了小范围内干扰问题,从而实现起点的最优寻求。 找到了上升沿的起点,周期块的确定就比较容易了。在Chart进行数据采集时,会有一个采集速率V,一般我们设定为1000,即每秒钟采集1000个数据,在进行数据存储时,需要设定一个参数—-衰减率R(reduction),假定M为存储后数据一秒钟内的个数,则M=V/R,所以两个连续数据间隔时间为1/M秒。如果已知数据周期为T,则需要处理的周期块为上升沿起点到起点后T*M个数据。 2 特征值计算 依照课题研究的需要,计算得到每个周期块的两个特征值:平均值和最大值。在成功确定了周期块后,特征值的计算就相对简单了。 3 编程实现 作为当前主流的计算机编程软件Visual C++ 6.0,不仅具备有C++所有功能,同时其图形化编程环境让编写程序更加方便、快捷。根据数据处理流程,将软件实现分为三个部分:源数据文件读取、算法实现和结果输出。 (1)源数据文件读取 在标准c里面,所有的文件读写操作都要通过文件指针进行,即FILE * fp, 对于文件模式是二进制还是文本模式,每种处理方法都是一样的,比如采用fscanf、fprintf 打开读写二进制文本还是文本模式文本,其效果是一样的。在对文件进行操作前需要打开文件,fopen(filename,文件使用方式)提供这个功能,与之对应,在结束文件操作后,应该关闭文件,则需要调用fopen(filename)函数。打开文

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档