计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

Chart与C++结合在医学海量信息处理中的应用

2015-04-16 01:00
导读:医学论文毕业论文,Chart与C++结合在医学海量信息处理中的应用怎么写,格式要求,写法技巧,科教论文网展示的这篇论文是很好的参考:毕业 Chart与C++结合在医学海量信息处理中的应用
毕业

Chart与C++结合在医学海量信息处理中的应用
岑燕遗1 陈荣昌2
1 广州医学院第1附属医院麻醉科
2 广州医学院第1附属医院广州呼吸疾病研究所
1,Chart与Visual C++的结合的背景
Chart软件同时具有传统记录仪的简易和数字记录仪的分析功能,目前广泛应用
于生命科学等专业研究领域.Chart软件虽然具有强大易用性,但仍存在很多不足
之处.首先,它在批量处理实验数据方面功能较弱.其次,读取数据的精确度依赖于
计算机硬件配置.第3,读取数据的精确度在不同的操作者之间存在个体差异.在处
理呼吸动力学研究实验数据时,针对上述情况,本课题借用了现代计算机软件技术来
解决Chart软件在处理医学海量信息中存在的不足.
在软件编程环境的选择上,我们选择了Microsoft公司的Visual C++ 6.0.要实
现Chart与Visual C++相结合来处理医学数据的功能,首先必须解决两个软件之间的
数据接口问题.经参考Chart软件的相关帮助文档可知,Chart软件中的数据可以通
过菜单按1定的衰减比率存储到文本文件中,而Visual C++编程环境提供文本文件的
访问功能,能从指定的文本文件中读取数据,同时编程通过相应的算法对数据进行处
理,并将处理的结果输入到文件中,因此基于数据文件交换可以作为Chart与Visual
C++共同协调工作的数据交换方式.
2,实现方法
由于Chart和Visual C++两个不同软件之间的协调工作是以文本类型数据文件为
基础实现的,所以文本类型数据文件的生成是1个基础的重要的工作.在成功生成了
文本类型数据文件后,就需要对文件中的数据进行处理,此时需要建立数据处理算法,
通过编程将算法植入数据分析软件中,从而得到处理结果.

(科教论文网 lw.nSeAc.com编辑发布)


由上可知,数据分析软件的实现需要如下3部分工作:数据文件的生成,数据处
理算法的建立和编程软件实现.
(1)数据文件的生成
选定欲读取数值的数据段,将Windows格式波形文件保存为
文本文件.(见图1).Chart有Windows和Macintosh两个版本,
若实验数据是以Macintosh格式保存,则需先转换成Windows格式.
中华麻醉在线 http://www.csaol.cn 2007年9月
图1 数据格式转换过程截图
(2) 数据处理算法的建立
数据处理算法的主要工作目的是通过计算得到每个周期中各个通道数据的平均值
或最大值,所以算法必须要包括两个功能部分:周期区的确定和特征值(最大值或平均
值)的计算.
1 周期区的确定
图2为某条件下实验数据的1部分,每个周期的起点为数据图像中各个上升沿的
初始点,如图中的A点,而周期的终点为起点后相应周期时间后的点,因此周期块的
确定关键在于起点的寻求.
对于1个上升沿的寻求,我们可以通过判断1段时间内数据的变化趋势来的得到.
在给定的时间内,这些数据从低水平开始单调上升,则表明1个上升沿已经开始,同
时第1数据所在的时刻就是这个上升沿的起点.但是这个处理方法明显只能在理想状
图2 源数据
态下运用,不适合实际的实验数据.在实际采集到的数据中,存在着很多干扰,这样
就会有如下情况发生:在上升沿数据段,数据整体趋势是上升的,但在很多小区域数
据可能处于1种混乱的规律中,或是振荡,或是单调上升,或是单调下降.针对这种
情况我们采用了如下"扬长避短"的处理方法:
所谓"扬长"就是对长时间段的单调发展予以肯定和保留,而"避短"则是对于短时间
内数据非单调上升的变化规律予以质疑和否定,"扬长"与"避短"的有效结合,解决了
小范围内干扰问题,从而实现起点的最优寻求.
找到了上升沿的起点,周期块的确定就比较容易了.在Chart进行数据采集时,会 (科教论文网 Lw.nsEAc.com编辑整理)
有1个采集速率V,1般我们设定为1000,即每秒钟采集1000个数据,在进行数据
存储时,需要设定1个参数—-衰减率R(reduction),假定M为存储后数据1秒钟内的
个数,则M=V/R,所以两个连续数据间隔时间为1/M秒.如果已知数据周期为T,
则需要处理的周期块为上升沿起点到起点后T*M个数据.
2 特征值计算
照课题研究的需要,计算得到每个周期块的两个特征值:平均值和最大值.在成
功确定了周期块后,特征值的计算就相对简单了.
3 编程实现
作为当前主流的计算机编程软件Visual C++ 6.0,不仅具备有C++所有功能,同时
其图形化编程环境让编写程序更加方便,快捷.根据数据处理流程,将软件实现分为
3个部分:源数据文件读取,算法实现和结果输出.
(1)源数据文件读取
在标准c里面,所有的文件读写操作都要通过文件指针进行,即FILE * fp, 对
于文件模式是2进制还是文本模式,每种处理方法都是1样的,比如采用fscanf,fprintf
打开读写2进制文本还是文本模式文本,其效果是1样的.在对文件进行操作前需要
打开文件,fopen(filename,文件使用方式)提供这个功能,与之对应,在结束文件操作
后,应该关闭文件,则需要调用fopen(filename)函数.打开文件的程序段如下:
FILE *fp_data = fopen("data.txt","r");
if(fp_data==NULL)
{
AfxMessageBox("数据文件打开错误,请检查!\n提示:文件名为data;存储路径
为该软件所在目录!");
return;
}
AfxMessageBox("成功打开数据文件!");
其中,data.txt为源数据文件名,"r"表示以只读方式打开文件,避免误操作对文件
数据的破坏,在执行fopen函数打开文件后需要对执行结果进行处理,当文件指针
fp_data为空NULL时,表明文件打开错误,则提醒用户"数据文件打开错误,请检查!
提示:文件名为data;存储路径为该软件所在目录!",同时程序将中断运行,在用户
检查问题并解决问题后,再重新启动程序,如果弹出"成功打开数据文件!"信息,则
表明数据库文件已经成功打开,可以进行下1步工作了.
关闭文件的程序段如下:
fclose(fp_data);
以3通道数据为例,读取文件数据程序段如下:
fscanf(fp_data,"%f %f %f\n",&list1_data,&list2_data,&list3_data);
如果打开文件后,是第1次执行上述fscanf程序段,则代码执行后list1_data,
list1_data和list1_data3变量中分别存储的是第1时刻各通道的数据.循环执行fscanf
函数直到将所有数据读取完毕.
(2 )算法实现
算法程序实现包括两个部分:周期块的确定和特征值的计算,限于篇幅只给出特征
值计算的程序段.
result =0;
for(int i=0;iGetWindowText(s); //取得特征值信息
if(s=="A") //取平均值
{
result = result+ data[i];
}
else if(s=="M") //取最大值
{
if(data[i]>=result) //数据比较
{
result = data[i];
}
}
if(i== T*M-1) //生成结果
{
if(s=="A") //取平均值
{
result = result/(T*M);
}
}
}
(3 )结果输出
为了方便对计算结果的分析处理,我们把结果输出到了文本文件中,这样不仅可以
与源数据进行对应,同时方便拷贝到excel中进行处理.程序段如下:
FILE *fp_result = fopen("result.txt","w");
if(fp_result==NULL)
{
AfxMessageBox("结果文件打开错误,请检查!\n提示:文件名为result;存储路
径为该软件所在目录!");
return;
}
AfxMessageBox("成功打开结果文件!");
for(i=0;i{
fprintf(fp_result,"%f %f %f\n",result1,result2,result3);
}
fclose(fp_result);
其中result.txt为结果数据文件名,Num为源数据中存在的完整周期个数.
3,结果与分析讨论
(1) 软件运行界面
图3为数据处理软件ChartHelper运行界面,简洁,便于操作.ChartHelper提供与用
户的接口,包括第1通道高水平平均值,第1通道低水平平均值,吸气时间(周期), (转载自中国科教评价网www.nseac.com )
通道设定,对于前3个参数的设定,用户可以在对应的输入框中输入相应的数值,值
得注意的是吸气时间的单位为毫秒,而通道的设置稍微复杂1些.
图3 软件运行界面
在"请选取总通道数目"字样右边有1个下拉框,鼠标点击下拉框右边的下拉箭
头,将出现2~10的通道选择,用户可以根据实际情况选择相应的通道数,然后鼠标
点击右边的"设置通道"按钮,则激活相应通道数的通道设置接口C2-10,同时相应通
图4 通道设置界面
道下面的下拉框的状态将由不可编辑变为可编辑设定,如图4所示,鼠标点击需要设
定通道的下拉箭头,则出现两个选择"A"和"M",A表示该通道求取的特征值为平均值,
M表示该通道求取的特征值为最大值,这样可设置各个通道的特征值类型.
在设置好所有接口参数后,点
击"参数设置"按钮进行参数设置,
同时启动数据处理程序,此时状
态栏将显示当前软件运行的状
态,在计算过程中,状态栏将显
示"软件运算中,请等待...",当计
算结束后状态栏将显示"运算已结
束,请进行数据存储操作!",此
时用户可以关闭程序,按照软件
下方的提示,打开软件所在目录
下的结果文件"result.txt",进行下
1步的结果存储和分析.
(2)计算结果分析
在呼吸动力学实验所得数据中,随机选取20个呼吸周期,分
别用手工操作鼠标选取波形读取数据和借助于Charthelper软件
批量选取波形读取肺内压Palv最大值和呼吸机送气流量F平均
值,用两组间配对t 检验比较两种数据读取方法所得结果差异,
以 P<0.05为具有显著性差异.手工法和软件批量法两种方法读
取所得的Palv最大值完全1致,均为34.59±0.15 cm H2O
(P0.05),两组间差异无显著性.
(3)结论和展望
照本课题需求所开发的数据处理软件ChartHelper有效地解决了人工处理数据的
种种弊端,节省数据处理时间,加快时间进度,同时大大降低了因人为因素干扰所带
(科教作文网http://zw.nseAc.com)

来的误差率,是处理有关医学研究海量数据的实用工具.

    上一篇:病人的安全是麻醉管理的核心 下一篇:没有了