《医学图形图像处理识别技术与医学信息分析.ppt》由会员分享,可在线阅读,更多相关《医学图形图像处理识别技术与医学信息分析.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、医学图形图像处理识别技术与医学图形图像处理识别技术与医学信息分析医学信息分析目录内容目录内容序序序序医学信息学简述医学信息学简述医学信息学简述医学信息学简述第一讲第一讲第一讲第一讲 医学信号处理概述医学信号处理概述医学信号处理概述医学信号处理概述第二讲第二讲第二讲第二讲 医学图形信号的采集、存储与处理医学图形信号的采集、存储与处理医学图形信号的采集、存储与处理医学图形信号的采集、存储与处理第三讲第三讲第三讲第三讲 MathlabMathlab与图形信号的处理识别与图形信号的处理识别与图形信号的处理识别与图形信号的处理识别第四讲第四讲第四讲第四讲 医学图像信号的采集、存储格式、医学图像信号的采集
2、、存储格式、医学图像信号的采集、存储格式、医学图像信号的采集、存储格式、处理方法处理方法处理方法处理方法第五讲第五讲第五讲第五讲MathlabMathlab、VtkVtk、MtkMtk与医学图像与医学图像与医学图像与医学图像的处理的处理的处理的处理第六讲第六讲第六讲第六讲 医学信息挖掘医学信息挖掘医学信息挖掘医学信息挖掘第七讲第七讲第七讲第七讲 用于教学的医学图片处理技术用于教学的医学图片处理技术用于教学的医学图片处理技术用于教学的医学图片处理技术作业作业第三讲第三讲Mathlab与图形信号的处理与图形信号的处理识别识别nMATLAB软件的使用介绍软件的使用介绍n图形信号的处理与识别程序介绍图
3、形信号的处理与识别程序介绍n临床电生理数据分析实验模拟软件介绍临床电生理数据分析实验模拟软件介绍n实验实验一、一、MATLAB软件的使用介绍软件的使用介绍n1.MATLAB的简介的简介(1)MATLAB高级交互式软件包高级交互式软件包(2)MATLAB典型应用典型应用数学计算数学计算算法推导算法推导建模和仿真模拟建模和仿真模拟数据分析和结果的可视化数据分析和结果的可视化工程图形绘制应用程序开发(包括用户图形界面的建立)工程图形绘制应用程序开发(包括用户图形界面的建立)(3)MATLAB产生的历史背景产生的历史背景调用调用EISPACK和和LINPACK的的FORTRAN子程序库子程序库EISP
4、ACK和和LINPACK的接口程序的接口程序MATLAB发展成发展成为适合多学科,多种工作平台的功能强大的大型软件。为适合多学科,多种工作平台的功能强大的大型软件。美国美国MathWorks公司设计的公司设计的“科学科学和工程计算的高级交互式软件包和工程计算的高级交互式软件包”Cleve Moler、New Mexico、John LittleMATLAB软件软件_续续1(3)MATLAB的语言特点的语言特点n语言简洁紧凑,使用方便灵活,库函数极其丰富。语言简洁紧凑,使用方便灵活,库函数极其丰富。n运算符丰富。运算符丰富。nMATLAB既具有结构化的控制语句,又有面向对象编程的既具有结构化的控
5、制语句,又有面向对象编程的特性。特性。n程序限制不严格,程序设计自由度大。程序限制不严格,程序设计自由度大。n程序的可移植性很好,基本上不做修改就可以在各种型号程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。的计算机和操作系统上运行。nMATLAB的图形功能强大。的图形功能强大。nMATLAB的缺点是程序的执行速度较慢。的缺点是程序的执行速度较慢。n功能强大的工具箱。功能强大的工具箱。n源程序的开放性。源程序的开放性。如:解方程组如:解方程组Ax=bx=AbMATLAB软件软件_续续2n2.MATLA的安装的安装进入进入MATLAB软件安装程序目录,然后单击软件安装
6、程序目录,然后单击“Setup”程序,在安装程序的引导下,逐步完成程序,在安装程序的引导下,逐步完成以下操作以下操作:(1)选择选择“Install”安装或安装或”Updatelicense”升级升级许可证,单击许可证,单击Next;然后输入姓名、公司与序列号,;然后输入姓名、公司与序列号,单击单击Next。(2)选择接受许可证协议,单击选择接受许可证协议,单击“Yes”单击单击Next,然后选择然后选择“Typical”典型安装,单击典型安装,单击Next。(3)选择或输入安装目的路径,单击选择或输入安装目的路径,单击Next,后单击,后单击“Yes”(4)单击单击Install,系统开始安
7、装。,系统开始安装。MATLAB软件软件_续续3(5)在提示插入第在提示插入第2张张CD时,插入时,插入CD2,然后单,然后单击击OK,接着在文件扩展名警示对话框内单击,接着在文件扩展名警示对话框内单击Yestoall。(6)单击单击Next,接着单击,接着单击Finish。(7)如果在单击如果在单击Finish按钮之前,选择了按钮之前,选择了“Start”选项,则此时进入选项,则此时进入MATLAB工作环境。工作环境。MATLAB软件软件_续续4n3.MATLAB启动与退出启动与退出启动启动MATLAB,进入,进入MATLAB工作环境工作环境启动启动MATLABMATLAB软件软件_续续5结
8、束结束MATLAB,退出,退出MATLAB工作环境工作环境n键入键入exitn键入键入quitn直接关闭直接关闭MATLAB的命令视窗的命令视窗退出退出MATLABMATLAB软件软件_续续6-1n4.MATLAB变量与基本输入输出变量与基本输入输出变量命名的规则变量命名的规则:第一个字母必须是英文字第一个字母必须是英文字母;母;字母间不可留空格;字母间不可留空格;最多只能有最多只能有19个个字母,字母,MATLAB会忽略多余字母。会忽略多余字母。变量定义与输入输出变量定义与输入输出n向量与标量向量与标量矩阵矩阵行和列组成的数据表行和列组成的数据表行向量行向量矩阵只有一行时,称为行向量。矩阵只
9、有一行时,称为行向量。列向量列向量矩阵只有一列时,称为列向量。矩阵只有一列时,称为列向量。标量标量矩阵只有矩阵只有1个元素时,称为标量。个元素时,称为标量。MATLAB软件软件_续续6-2n变量定义变量定义var=expt;nexpt可以是数字、变量、操作符和函数等组成。可以是数字、变量、操作符和函数等组成。例如:例如:X=7A=123;456;789B=11121314C=21;22;23;24D=X*B注意:注意:n用方括号用方括号“”确定的范围内逐行给定元素,相同行元素由确定的范围内逐行给定元素,相同行元素由空格空格“”或逗号或逗号“,”分隔,不同行数据由分号分隔,不同行数据由分号“;”
10、或回车键或回车键分隔。分隔。n语句结尾没有分号的命令在屏幕显示结果;有分号的命令只执语句结尾没有分号的命令在屏幕显示结果;有分号的命令只执行而不显示。行而不显示。MATLAB软件软件_续续7n5.MATLAB常用命令常用命令(1)MATLAB常用的基本数学函数常用的基本数学函数nabs(x):纯量的绝对值或向量的长度:纯量的绝对值或向量的长度nsqrt(x):开平方:开平方nround(x):四舍五入至最近整数:四舍五入至最近整数nfix(x):无论正负,舍去小数至最近整数:无论正负,舍去小数至最近整数nsign(x):符号函数:符号函数(Signumfunction)nexp(x):自然指数
11、:自然指数npow2(x):2的指数的指数nlog(x):以:以e为底的对数为底的对数nlog10(x):以:以10为底的对数为底的对数举例举例:4x2+58x-89=0(a=4,b=58,c=89)MATLAB软件软件_续续8(2)适用于向量的常用函数适用于向量的常用函数nmin(x):向量向量x的元素的最小值的元素的最小值nmax(x):向量向量x的元素的最大值的元素的最大值nmean(x):向量向量x的元素的平均值的元素的平均值nmedian(x):向量向量x的元素的中位数的元素的中位数nstd(x):向量向量x的元素的标准差的元素的标准差ndiff(x):向量向量x的相邻元素的差的相邻
12、元素的差nsort(x):对向量对向量x的元素进行排序(的元素进行排序(Sorting)nlength(x):向量向量x的元素个数的元素个数nsum(x):向量向量x的元素总和的元素总和举例举例:对对130名正常成年男子红名正常成年男子红细胞数细胞数(RBC,万万/mm)的数据进行的数据进行描述性统计。描述性统计。(x=zeros(130,1)平均、中位数、众数、标准差平均、中位数、众数、标准差MATLAB软件软件_续续9适用于向量的常用函数适用于向量的常用函数_续续nprod(x):向量向量x的元素总乘积的元素总乘积ncumsum(x):向量向量x的累计元素总和的累计元素总和ncumprod
13、(x):向量向量x的累计元素总乘积的累计元素总乘积ndot(x,y):向量向量x和和y的内积的内积ncross(x,y):向量向量x和和y的外积的外积MATLAB软件软件_续续10一些常用的操作函数一些常用的操作函数nformat语句是控制输出的显示格式,句法如下:语句是控制输出的显示格式,句法如下:format设置默认显示格式设置默认显示格式5位的定点数位的定点数formattype设置按指定的设置按指定的type格式输出显示。格式输出显示。n例如:例如:formatratRatioofsmallintegersformat(type)与上面语句一样,但以函数形式出现与上面语句一样,但以函数
14、形式出现ndisp(x)显示矩阵函数显示矩阵函数n%注释语句注释语句nzeros、ones预先定义矩阵的大小。预先定义矩阵的大小。例如:例如:h=zeros(6);%生成生成66的的0矩阵矩阵MATLAB软件软件_续续11(3)重复命令重复命令n1)for循环(循环(for-loop),其基本形式为:),其基本形式为:for变量变量=矩阵;矩阵;运算式;运算式;end变量值会被依次设定为矩阵的每一行,来执行变量值会被依次设定为矩阵的每一行,来执行for和和end之之间的运算式。因此,若中断情况,运算式执行的次数等于矩间的运算式。因此,若中断情况,运算式执行的次数等于矩阵的行数。其中阵的行数。其
15、中“;”是终结内语句的可抑制的重复显示。是终结内语句的可抑制的重复显示。n举例举例:产生一个长度为产生一个长度为6的调和数列的调和数列x=zeros(1,6);%x是一个是一个16的矩阵的矩阵fori=1:6,x(i)=1/i;endMATLAB软件软件_续续12n2)while循环,其基本形式为:循环,其基本形式为:while条件式;条件式;运算式;运算式;End实现功能:只要条件成立,就会一再执行运算式。实现功能:只要条件成立,就会一再执行运算式。n举例举例:用用while循环产生一个长度为循环产生一个长度为6的调和数列的调和数列x=zeros(1,6);%x是一个是一个16的零矩阵的零矩
16、阵i=1;whilei0.5disp(Givenrandomnumberisgreaterthan0.5.);elsedisp(Givenrandomnumberislessthan0.5.);endMATLAB软件软件_续续14(5)将多个命令写入一个将多个命令写入一个M文件文件n若要一次执行大量的若要一次执行大量的MATLAB命令,可将这些命令命令,可将这些命令存于一个文件类型为存于一个文件类型为m的文件中,并在的文件中,并在MATLAB提提示号下键入此文件名即可执行。包含示号下键入此文件名即可执行。包含MATLAB命令命令的文件以的文件以m为扩展名,通称为扩展名,通称M文件(文件(M-f
17、iles)。)。n举例举例:名为名为test.m的的M文件有以下内容:文件有以下内容:%ThisismyfirsttestM-file.%RogerJang,March3,1997fprintf(Startoftest.m!n);fori=1:3,fprintf(i=%d-i3=%dn,i,i3);endfprintf(Endoftest.m!n);MATLAB软件软件_续续15建立建立test.m的的M文件文件进入进入MATLAB编辑器编辑器nFileNewM-File在编辑器内输入以下内容在编辑器内输入以下内容%ThisismyfirsttestM-file.%RogerJang,Marc
18、h3,1997fprintf(Startoftest.m!n);fori=1:3,fprintf(i=%d-i3=%dn,i,i3);endfprintf(Endoftest.m!n);保存文件到指定或默认的目录下保存文件到指定或默认的目录下nFileSave输入文件名输入文件名“test.m”MATLAB软件软件_续续16执行文件执行文件“test.m”n进入文件所在目录或查看文件进入文件所在目录或查看文件CDdirn执行执行test.mtestStartoftest.m!i=1-i3=1i=2-i3=8i=3-i3=27Endoftest.m!MATLAB软件软件_续续17n注意注意:M档
19、案可分为档案可分为命令集命令集(Scripts)及及函数函数(Functions)。前。前述的述的test.m即为命令集,其效用和将命令逐一输入完全一样,即为命令集,其效用和将命令逐一输入完全一样,因此在命令集直接使用工作空间的变量,则在命令集中设定的因此在命令集直接使用工作空间的变量,则在命令集中设定的变量,可在工作空间中看得到。变量,可在工作空间中看得到。函数则需要用到输入参数函数则需要用到输入参数(Inputarguments)和和输出参数输出参数(Outputarguments)来传递资来传递资讯。讯。n例如:计算一个正整数的阶乘(例如:计算一个正整数的阶乘(Factorial),可以
20、写一个如下),可以写一个如下的的MATLAB函数并将之存档于函数并将之存档于fact.m:functionoutput=fact(n)%FACTCalculatefactorialofagivenpositiveinteger.output=1;fori=1:n,output=output*i;end其中其中fact是函数名,是函数名,n是输入参数,是输入参数,output是输出参数,而是输出参数,而i则是此则是此函数用到的暂时变量。函数用到的暂时变量。MATLAB软件软件_续续18要使用此函数,直接键入函数名及适当输入参数值即可。要使用此函数,直接键入函数名及适当输入参数值即可。y=fact
21、(5)y=120注意:注意:n在执行在执行fact之前,你必须先进入之前,你必须先进入fact.m所在的目录。所在的目录。n在执行在执行fact(5)时,时,MATLAB会进入一个下层的暂时工作会进入一个下层的暂时工作空间(空间(Temperaryworkspace),将变量),将变量n的值设定为的值设定为5,然后进行各项函数的内部运算,所有内部运算所产生,然后进行各项函数的内部运算,所有内部运算所产生的变量都存在此暂时工作空间中。运算完毕后,的变量都存在此暂时工作空间中。运算完毕后,MATLAB会将最后输出参数会将最后输出参数output的值设定给上层的变的值设定给上层的变量量y,并将清除此
22、暂时工作空间及其所含的所有变量。,并将清除此暂时工作空间及其所含的所有变量。MATLAB软件软件_续续19(6)MATLAB的文件、目录等操作指令的文件、目录等操作指令n显示当前目录显示当前目录pwd显示当前工作目录显示当前工作目录s=pwd将当前工作目录赋予变量将当前工作目录赋予变量sn改变工作目录改变工作目录cd显示当前工作目录显示当前工作目录w=cd将当前工作目录赋予将当前工作目录赋予wcd(directory)设置当前工作目录为设置当前工作目录为directory指定指定的目录的目录cd(.)将当前工作目录改为它的上级目录将当前工作目录改为它的上级目录cddirectoryorcd.与
23、上面两条指令等同与上面两条指令等同MATLAB软件软件_续续20MATLAB的文件、目录等操作指令的文件、目录等操作指令_续续n显示目录列表显示目录列表dir列示当前工作目录的文件列示当前工作目录的文件dirname列示指定的文件列示指定的文件files=dir(directory)将指定目录的文件列表信息返回将指定目录的文件列表信息返回到到files中。中。例如:例如:afiles=dir(d:/work/*.*)afiles(3).nameafiles(3).daten显示文件内容显示文件内容type(filename)typefilenamenfilename是要被显示的文件的路径和名字
24、是要被显示的文件的路径和名字MATLAB软件软件_续续21MATLAB的文件、目录等操作指令的文件、目录等操作指令_续续n浏览或改变浏览或改变MATLAB目录的搜寻路径目录的搜寻路径path显示当前显示当前MATLAB搜索路径。搜索路径。n初始搜索路径由初始搜索路径由toolbox/local/pathdef.m文件定义的。文件定义的。path(newpath)将搜索路径改变为一个新路径,这里将搜索路径改变为一个新路径,这里新路径是一个目录的字符串数组。新路径是一个目录的字符串数组。path(path,newpath)将一个新路径增加到当前的搜索路将一个新路径增加到当前的搜索路径后。径后。pa
25、th(newpath,path)将一个新路径加到当前的搜索路径将一个新路径加到当前的搜索路径前。前。p=path(.)将指定的路径返回到一个字符串变量。将指定的路径返回到一个字符串变量。MATLAB软件软件_续续22n浏览或改变浏览或改变MATLAB目录的搜寻路径目录的搜寻路径_续续举例举例:pathMATLABPATHd:matlab5toolboxmatlabgenerald:matlab5toolboxmatlabops d:matlab5toolboxsimulinkdeed:matlab5toolboxlocaln查询某一命令是在搜寻路径的何处,用查询某一命令是在搜寻路径的何处,用w
26、hich命令:命令:whichtestc:datamlbooktest.mn将将c:datamlbook加入加入MATLAB的搜寻路径,用的搜寻路径,用pathpath(path,c:datamlbook)MATLAB软件软件_续续23(7)资料的储存与载入资料的储存与载入_续续n1)将计算所得的储存倒文件的命令将计算所得的储存倒文件的命令savesave将工作空间的所有变量储存到名为将工作空间的所有变量储存到名为matlab.mat的的二进制文件。二进制文件。savefilename将工作空间的所有变量储存到名为将工作空间的所有变量储存到名为filename.mat的二进制文件。的二进制文件
27、。savefilenamexyz将变量将变量x、y、z储存到名为储存到名为filename.mat的二进制文件。的二进制文件。savefilenamexascii将变量将变量x以八位数存到名为以八位数存到名为filename的的ASCII文件。文件。savefilenamex-asciidouble将变量将变量x以十六位数存到名为以十六位数存到名为filename的的ASCII文件。文件。n注意注意:命令后不加任何选项时,命令后不加任何选项时,save会将变量以二进制会将变量以二进制(Binary)的方式储存至扩展名为)的方式储存至扩展名为mat的文件的文件;另一个选项另一个选项是是-tab,
28、可将同一列相邻的数目以定位键(,可将同一列相邻的数目以定位键(tab)隔开。)隔开。MATLAB软件软件_续续24n将计算所得的储存倒文件的命令将计算所得的储存倒文件的命令save_续续举例:举例:who列出工作空间的变量列出工作空间的变量Yourvariablesare:BhjyansixzsavetestBy将变数将变数B与与y储存至储存至test.matdir列出现在目录中的文件列出现在目录中的文件.2plotxy.docfact.msimulink.doctest.m$1basic.doc.3plotxyz.docfirst.doctemp.doctest.mat1basic.docb
29、ook.dotgo.mtemplate.doctestfile.datdeletetest.mat删除删除test.matMATLAB软件软件_续续25n2)将文件载入储存得变量命令将文件载入储存得变量命令loadloadfilename寻找名称为寻找名称为filename.mat的文件,并以二进制格的文件,并以二进制格式载入。若找不到式载入。若找不到filename.mat,则寻找名称为,则寻找名称为filename的文件,的文件,并以并以ASCII格式载入。格式载入。loadfilenameascii寻找名称为寻找名称为filename的文件,并以的文件,并以ASCII格式载入。若以格式载
30、入。若以ASCII格式载入,则变量名称即为文件名称(但不格式载入,则变量名称即为文件名称(但不包含扩展名)。若以二进制载入,则可保留原有的变量名称。包含扩展名)。若以二进制载入,则可保留原有的变量名称。举例:举例:clearall;%清除工作空间中的变数清除工作空间中的变数x=1:10;savetestfile.datx-ascii%将将x以以ASCII格式存至格式存至testfile.dat文件文件loadtestfile.dat%载入载入testfile.datwho%列出工作空间中的变量列出工作空间中的变量Yourvariablesare:testfilexn注意:上述过程由于是以注意:
31、上述过程由于是以ASCII格式储存与载入,所以产生了一个与格式储存与载入,所以产生了一个与文件名称相同的变量文件名称相同的变量testfile,此变量的值和原变量,此变量的值和原变量x完全相同。完全相同。MATLAB软件软件_续续26(8)基本基本xy平面绘图命令平面绘图命令n1)length获得一组数的个数或一个向量的长度获得一组数的个数或一个向量的长度x=ones(1,8);n=length(x)n2)linspace产生线性间隔向量产生线性间隔向量y=linspace(a,b)在在a,b之间产生一组之间产生一组100点的线性间隔点的线性间隔的行向量。的行向量。generatesarowv
32、ectoryof100pointslinearlyspacedbetweenandincludingaandb.y=linspace(a,b,n)在在a,b之间产生一组之间产生一组n点的线性间隔点的线性间隔的行向量。的行向量。generatesarowvectoryofnpointslinearlyspacedbetweenandincludingaandb.举例:举例:t=linspace(0.005,0.005*length(y1),length(y1);MATLAB软件软件_续续27基本基本xy平面绘图命令平面绘图命令_续续n3)plot绘制一维曲线的基本函数,使用此函数之前,绘制一维曲
33、线的基本函数,使用此函数之前,需先定义曲线上每一点的需先定义曲线上每一点的x及及y座标。座标。举例举例:画出一条正弦曲线画出一条正弦曲线closeall;x=linspace(0,2*pi,100);%1产生产生00个点的个点的x座标座标y=sin(x);%生成对应的生成对应的y座标座标plot(x,y);关于关于MATLAB基本绘图函数的应用说明基本绘图函数的应用说明:绘图刻度绘图刻度nplot:x轴和轴和y轴均为线性刻度(轴均为线性刻度(Linearscale)nloglog:x轴和轴和y轴均为对数刻度(轴均为对数刻度(Logarithmicscale)nsemilogx:x轴为对数刻度,
34、轴为对数刻度,y轴为线性刻度轴为线性刻度nsemilogy:x轴为线性刻度,轴为线性刻度,y轴为对数刻度轴为对数刻度MATLAB软件软件_续续28关于关于MATLAB基本绘图函数的应用说明基本绘图函数的应用说明_续续画出多条曲线,只需将座标对依次放入画出多条曲线,只需将座标对依次放入plot函数函数nplot(x,sin(x),x,cos(x);若要改变颜色,在座标对後面加上相关字串若要改变颜色,在座标对後面加上相关字串nplot(x,sin(x),c,x,cos(x),g);若要同时改变颜色及图线型态(若要同时改变颜色及图线型态(Linestyle),也是在座标),也是在座标对後面加上相关字
35、串对後面加上相关字串nplot(x,sin(x),co,x,cos(x),g*);MATLAB软件软件_续续29关于关于MATLAB基本绘图函数的应用说明基本绘图函数的应用说明_续续plot绘图函数的叁数说明绘图函数的叁数说明n在用在用plot(a,b,s)绘图时,可以使用各类线型、图符、颜绘图时,可以使用各类线型、图符、颜色,这里色,这里s是由下表中的任一元素或是由下表中的任一元素或3列中所有元素组合列中所有元素组合的字符串。的字符串。MATLAB软件软件_续续30n4)将一图形窗口划分为多个显示区,使之同时画出将一图形窗口划分为多个显示区,使之同时画出数个小图形於同一个视窗之中。数个小图形
36、於同一个视窗之中。subplot(m,n,p)实现功能:将图形窗口划分为实现功能:将图形窗口划分为mn矩阵的显示区,同时激矩阵的显示区,同时激活第活第p个显示区。个显示区。举例:举例:nsubplot(2,2,1);plot(x,sin(x);nsubplot(2,2,2);plot(x,cos(x);nsubplot(2,2,3);plot(x,sinh(x);nsubplot(2,2,4);plot(x,cosh(x);MATLAB软件软件_续续31n5)其他各种二维绘图函数其他各种二维绘图函数bar长条图长条图errorbar图形加上误差范围图形加上误差范围fplot较精确的函数图形较精
37、确的函数图形polar极座标图极座标图hist累计图累计图rose极座标累计图极座标累计图stairs阶梯图阶梯图stem针状图针状图fill实心图实心图二、图形信号的处理程序介绍二、图形信号的处理程序介绍n1.峰值程序峰值程序nfori=1:length(u)nifu(i)=max(u)nm=i;nbreaknendnendnp_h=h(m)处理程序处理程序_续续1n求起点和终点的程序求起点和终点的程序%judge_startfori=5:(length(y2_7s)-5)ify2_7s(i-4)=0&y2_7s(i-3)=0&y2_7s(i-2)=0&y2_7s(i-1)0&y2_7s(i
38、+1)0&y2_7s(i+2)0&y2_7s(i+3)0&y2_7s(i+4)0y2_7s(i+5)0k=ibreakendend%judge_endfori=1:(length(y2_7s)-6)ify2_7s(i)0&y2_7s(i+1)=0&y2_7s(i+2)=0&y2_7s(i+3)=0&y2_7s(i+4)=0&y2_7s(i+5)=0&y2_7s(i+6)judge_startjudge_endu=y2_7s(k:j);%宫缩单波数据宫缩单波数据h=y1(k:j);%对应单波宫缩的心率数据对应单波宫缩的心率数据t0=(length(u)-1)*0.005;处理程序处理程序_续续3
39、n3.面积程序面积程序t=linspace(0.005,0.005*length(h),length(h);subplot(2,1,1),plot(t,h);%心率心率-时间图时间图;subplot(2,1,2),plot(t,u);%宫缩宫缩-时间图时间图;area=0.005*sum(u)*15./1024%计算面积计算面积三、临床电生理数据分析实验三、临床电生理数据分析实验模拟软件介绍模拟软件介绍n1.实验模拟软件简介实验模拟软件简介临床电生理数据分析实验模拟软件临床电生理数据分析实验模拟软件Med.exe是用于对临是用于对临床功能类的信号进行初步分析的软件,该软件是用床功能类的信号进行
40、初步分析的软件,该软件是用VisualBasic程序语言来编写的。目前具有如下功能:程序语言来编写的。目前具有如下功能:n(1)可以浏览医学仪器采集的电生理信号数据,人工干预信号)可以浏览医学仪器采集的电生理信号数据,人工干预信号截取,并以二进制格式和文本格式来保存截取的信号数据;截取,并以二进制格式和文本格式来保存截取的信号数据;n(2)可以利用面板按扭工具,对胎心率信号、孕妇的宫缩信号)可以利用面板按扭工具,对胎心率信号、孕妇的宫缩信号进行人工干预的信号处理和分析,包括:奇异点处理,平均心进行人工干预的信号处理和分析,包括:奇异点处理,平均心率、瞬时心率、宫缩峰值、宫缩时距和宫缩面积的计算
41、;率、瞬时心率、宫缩峰值、宫缩时距和宫缩面积的计算;n(3)可以进行信号数字平滑滤波、基线调整、自动计算部分时)可以进行信号数字平滑滤波、基线调整、自动计算部分时域参数。域参数。n2.软件的使用说明软件的使用说明实验模拟软件介绍实验模拟软件介绍_续续1(1)原始采样数据回显)原始采样数据回显n“临床信号截取临床信号截取”“选取数据源位置选取数据源位置”确定位置后,单击确定位置后,单击OKn在输入病历号的输入框内输入:在输入病历号的输入框内输入:A0012n在选择文件框内选择项目:在选择文件框内选择项目:R0012A_5n单击单击开始开始单击单击回放回放(2)进行人工干预操作)进行人工干预操作n
42、在需要截波或人工分析时,单击在需要截波或人工分析时,单击冻结冻结n截取波形,计算时距、面积和平均心率,或去除奇异项时,要用鼠截取波形,计算时距、面积和平均心率,或去除奇异项时,要用鼠标在视图浏览区内拖出选区,然后分别单击相应的操作按钮标在视图浏览区内拖出选区,然后分别单击相应的操作按钮注意注意:如要取消选区,可以单击浏览视图的任意位置即可。:如要取消选区,可以单击浏览视图的任意位置即可。n计算峰值或瞬时心率时,按着计算峰值或瞬时心率时,按着Alt键,然后单击曲线的选取点,接键,然后单击曲线的选取点,接着单击相应的操作按钮着单击相应的操作按钮(3)结束软件使用)结束软件使用n单击窗口的关闭按钮。
43、单击窗口的关闭按钮。四、实验四、实验n1均值计算均值计算n2.时距计算时距计算n3.峰值计算峰值计算n4.面积计算面积计算n5.作图作图平均值平均值:平均幅值平均幅值 :实验实验_续续1n1.MatLab实验内容的介绍实验内容的介绍(1)利用)利用matlab计算宫缩的峰值、宫缩时的平均心率,以及宫缩峰值计算宫缩的峰值、宫缩时的平均心率,以及宫缩峰值对应的顺时心率、计算宫缩波的面积、宫缩持续时间对应的顺时心率、计算宫缩波的面积、宫缩持续时间实验步骤实验步骤n启动启动matlab;n增加路径:增加路径:npath(path,D:matlab_dat)n导入数据导入数据nclearall;%清除变
44、量清除变量n心率:心率:ny1=load(r0012A0h.txt);n宫缩:宫缩:ny2=load(r0012a0u.txt);n曲线作图曲线作图n建立建立XY坐标轴与绘图时间数组点坐标轴与绘图时间数组点nt=linspace(0.005,0.005*length(y1),length(y1);n绘制心率与宫缩图绘制心率与宫缩图nsubplot(2,1,1),plot(t,y1);%心率心率-时间图时间图;nsubplot(2,1,2),plot(t,y2);%宫缩宫缩-时间图;时间图;实验实验_续续2n宫缩局部加权平滑滤波宫缩局部加权平滑滤波(七点平滑七点平滑)nn=length(y2)n
45、fori=4:n-3ny2_7s(i)=(-2*y2(i-3)+3*y2(i-2)+6*y2(i-1)+7*y2(i)-2*y2(i+3)+3*y2(i+2)+6*y2(i+1)/21;nend;ny2_7s(123n-2n-1n)=y2(1)y2(2)y2(3)y2(n-2)y2(n-1)y2(n)n再次绘制心率与宫缩图,观察曲线变化的情况再次绘制心率与宫缩图,观察曲线变化的情况nsubplot(2,1,1),plot(t,y1);%心率心率-时间图时间图;nsubplot(2,1,2),plot(t,y2_7s);%宫缩宫缩-时间图;时间图;n判断宫缩波的起始、终止点判断宫缩波的起始、终止
46、点njudge_startnjudge_end%运行文件运行文件judge_start.mj和和judge_end.mkn取宫缩单波数据以及对应单波宫缩的心率数据取宫缩单波数据以及对应单波宫缩的心率数据nu=y2_7s(k:j);nh=y1(k:j);实验实验_续续3n计算宫缩峰值:计算宫缩峰值:nPu=max(u)n建立时间坐标建立时间坐标nt=linspace(0.005,0.005*length(h),length(h);nsubplot(2,1,1),plot(t,h);%心率心率-时间图时间图;nsubplot(2,1,2),plot(t,u);%宫缩宫缩-时间图时间图;n计算宫缩面
47、积计算宫缩面积narea=0.005*sum(u)*15./1024%n计算对应的平均心率计算对应的平均心率nmean_p=sum(h)./length(h)n判断宫缩最强时对应的瞬时心率判断宫缩最强时对应的瞬时心率np_h%宫缩最强时的瞬时心率用宫缩最强时的瞬时心率用p_h表示,运行文件表示,运行文件p_h.mn计算持续时间计算持续时间nt0=(length(u)-1)*0.005;实验实验_续续4(2)单击)单击MATLAB程序窗口左边窗格的程序窗口左边窗格的Workspace(工作空间)卡片,浏览该卡片窗格内的所有变量,并(工作空间)卡片,浏览该卡片窗格内的所有变量,并执行以下命令:执行
48、以下命令:nclearalln然后再浏览该卡片窗格内的所有变量,你有何结论?然后再浏览该卡片窗格内的所有变量,你有何结论?(3)建立)建立M-文件,输入以下内容,保存为文件,输入以下内容,保存为“original_dat.m”文件,并执行该文件,并执行该M-文件。观察其文件。观察其与前面单步执行的结果是否一致,给出你的结论。与前面单步执行的结果是否一致,给出你的结论。npath(path,D:matlab_dat)ny1=load(r0012A0h.txt);ny2=load(r0012a0u.txt);nt=linspace(0.005,0.005*length(y1),length(y1)
49、;nsubplot(2,1,1),plot(t,y1);nsubplot(2,1,2),plot(t,y2);实验实验_续续5n2.Med.exe实验内容的简要介绍实验内容的简要介绍(1)启动临床电生理数据分析实验模拟软件,)启动临床电生理数据分析实验模拟软件,(2)在输入病历号的输入框内输入:)在输入病历号的输入框内输入:A0012(3)在选择文件框内选择项目:)在选择文件框内选择项目:R0012A_5(4)对对回回放放的的第第一一个个宫宫缩缩波波曲曲线线对对应应的的心心率率曲曲线线去去除除奇奇异异点点,然然后后通通过过菜菜单单命命令令“保保存存截截取取波波形形数数据据”将将数数据据保保存存为为txt类类型型文文件件。(记记下下你你在在保保存存文文件件提提示示输输入入的的序序号号n,保保存存后后你你的的文文件件的的名名字字应应为为R0012Anh.txt和和R0012Anh.txt。)。)(5)再再对对上上述述选选定定区区域域的的数数据据求求取取平平均均心心率率、时时距距、面积,然后人工选取峰值点,计算峰值和瞬时心率。面积,然后人工选取峰值点,计算峰值和瞬时心率。(6)尝尝试试进进入入MATLAB,对对上上面面截截取取的的数数据据文文件件重重复复上面实验一的操作。比较其结果。上面实验一的操作。比较其结果。