版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
医学(yīxué)图形图像处理识别技术与医学(yīxué)信息分析刘燕E-Mail:lyan@PhoneNo.87331856-811第一页,共四十九页。目录(mùlù)内容序医学信息学简述第一讲医学信号处理概述第二(dìèr)讲医学图形信号的采集、存储与处理第三讲Mathlab与图形信号的处理识别第四讲医学图像信号的采集、存储格式、处理方法第五讲Mathlab、Vtk、Mtk与医学图像的处理第六讲医学信息挖掘第七讲用于教学的医学图片处理技术作业第二页,共四十九页。第三讲Mathlab与图形信号的处理(chǔlǐ)识别MATLAB软件的使用介绍图形信号的处理与识别程序(chéngxù)介绍临床电生理数据分析实验模拟软件介绍实验
第三页,共四十九页。一、MATLAB软件(ruǎnjiàn)的使用介绍1.MATLAB的简介(1)MATLAB—高级交互式软件包(2)MATLAB典型应用数学计算算法推导建模和仿真模拟数据分析和结果的可视化工程图形绘制应用程序开发(包括(bāokuò)用户图形界面的建立)(3)MATLAB产生的历史背景调用EISPACK和LINPACK的FORTRAN子程序库→EISPACK和LINPACK的接口程序→MATLAB→发展成为适合多学科,多种工作平台的功能强大的大型软件。CleveMoler、NewMexico、JohnLittle第四页,共四十九页。MATLAB软件(ruǎnjiàn)_续1(3)MATLAB的语言特点语言简洁紧凑,使用方便灵活(línɡhuó),库函数极其丰富。运算符丰富。MATLAB既具有结构化的控制语句,又有面向对象编程的特性。程序限制不严格,程序设计自由度大。程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。MATLAB的图形功能强大。MATLAB的缺点是程序的执行速度较慢。功能强大的工具箱。源程序的开放性。如:解方程组Ax=bx=A\b第五页,共四十九页。MATLAB软件(ruǎnjiàn)_续2第六页,共四十九页。MATLAB软件(ruǎnjiàn)_续3(5)在提示插入第2张CD时,插入CD2,然后单击[OK],接着在文件扩展名警示对话框内单击[Yestoall]。(6)单击[Next],接着单击[Finish]。(7)如果在单击[Finish]按钮之前,选择了“Start”选项,则此时(cǐshí)进入MATLAB工作环境。第七页,共四十九页。MATLAB软件(ruǎnjiàn)_续43.MATLAB启动与退出启动MATLAB,进入MATLAB工作(gōngzuò)环境启动MATLAB第八页,共四十九页。MATLAB软件(ruǎnjiàn)_续5结束MATLAB,退出MATLAB工作环境键入(jiànrù)exit键入quit直接关闭MATLAB的命令视窗退出MATLAB第九页,共四十九页。MATLAB软件(ruǎnjiàn)_续6-14.MATLAB变量与基本输入输出变量命名的规则:①第一个字母必须是英文字母;②字母间不可留空格;③最多只能(zhīnénɡ)有19个字母,MATLAB会忽略多余字母。变量定义与输入输出向量与标量矩阵——行和列组成的数据表行向量——矩阵只有一行时,称为行向量。列向量——矩阵只有一列时,称为列向量。标量——矩阵只有1个元素时,称为标量。第十页,共四十九页。MATLAB软件(ruǎnjiàn)_续6-2变量定义var=expt;expt可以是数字、变量、操作符和函数等组成。例如:X=7A=[123;456;789]B=[11121314]C=[21;22;23;24]D=X*B注意:用方括号“[]”确定的范围内逐行给定元素(yuánsù),相同行元素(yuánsù)由空格“”或逗号“,”分隔,不同行数据由分号“;”或回车键分隔。语句结尾没有分号的命令在屏幕显示结果;有分号的命令只执行而不显示。第十一页,共四十九页。MATLAB软件(ruǎnjiàn)_续75.MATLAB常用命令(1)MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度sqrt(x):开平方round(x):四舍五入(sìshěwǔrù)至最近整数fix(x):无论正负,舍去小数至最近整数sign(x):符号函数(Signumfunction)exp(x):自然指数pow2(x):2的指数log(x):以e为底的对数log10(x):以10为底的对数举例:4x2+58x-89=0(a=4,b=58,c=89)第十二页,共四十九页。MATLAB软件(ruǎnjiàn)_续8(2)适用于向量的常用(chánɡyònɡ)函数min(x):向量x的元素的最小值max(x):向量x的元素的最大值mean(x):向量x的元素的平均值median(x):向量x的元素的中位数std(x):向量x的元素的标准差diff(x):向量x的相邻元素的差sort(x):对向量x的元素进行排序(Sorting)length(x):向量x的元素个数sum(x):向量x的元素总和举例:对130名正常成年男子红细胞数(RBC,万/mm)的数据进行描述性统计。(x=zeros(130,1))平均、中位数、众数、标准差第十三页,共四十九页。MATLAB软件(ruǎnjiàn)_续9适用于向量的常用(chánɡyònɡ)函数_续prod(x):向量x的元素总乘积cumsum(x):向量x的累计元素总和cumprod(x):向量x的累计元素总乘积dot(x,y):向量x和y的内积cross(x,y):向量x和y的外积第十四页,共四十九页。MATLAB软件(ruǎnjiàn)_续10一些常用的操作函数format语句是控制输出的显示格式,句法如下:format设置默认显示格式5位的定点数formattype设置按指定的type格式输出显示。例如(lìrú):formatratRatioofsmallintegersformat('type')与上面语句一样,但以函数形式出现disp(x)显示矩阵函数%注释语句zeros、ones预先定义矩阵的大小。例如:h=zeros(6);%生成6×6的0矩阵第十五页,共四十九页。MATLAB软件(ruǎnjiàn)_续11(3)重复命令1)for循环(for-loop),其基本形式为:for变量=矩阵;运算式;end变量值会被依次设定为矩阵的每一行,来执行for和end之间的运算式。因此,若中断情况,运算式执行的次数等于矩阵的行数。其中“;”是终结内语句的可抑制的重复显示(xiǎnshì)。举例:产生一个长度为6的调和数列x=zeros(1,6);%x是一个1×6的矩阵fori=1:6,x(i)=1/i;end第十六页,共四十九页。MATLAB软件(ruǎnjiàn)_续122)while循环,其基本形式为:while条件式;运算式;End实现功能:只要条件成立,就会一再执行运算式。举例:用while循环产生一个(yīɡè)长度为6的调和数列x=zeros(1,6);%x是一个1×6的零矩阵i=1;whilei<=6,x(i)=1/i;i=i+1;endformatshort第十七页,共四十九页。MATLAB软件(ruǎnjiàn)_续13(4)逻辑命令if,...,end,其基本形式为:if条件式;运算式;end实现功能:条件成立,执行(zhíxíng)运算式。举例:产生一个随机数ifrand(1,1)>0.5disp('Givenrandomnumberisgreaterthan0.5.');elsedisp('Givenrandomnumberislessthan0.5.');end第十八页,共四十九页。MATLAB软件(ruǎnjiàn)_续14(5)将多个命令写入一个M文件若要一次执行(zhíxíng)大量的MATLAB命令,可将这些命令存于一个文件类型为m的文件中,并在MATLAB提示号下键入此文件名即可执行(zhíxíng)。包含MATLAB命令的文件以m为扩展名,通称M文件(M-files)。举例:名为test.m的M文件有以下内容:%ThisismyfirsttestM-file.%RogerJang,March3,1997fprintf('Startoftest.m!\n');fori=1:3,fprintf('i=%d--->i^3=%d\n',i,i^3);endfprintf('Endoftest.m!\n');第十九页,共四十九页。MATLAB软件(ruǎnjiàn)_续15①建立test.m的M文件进入(jìnrù)MATLAB编辑器File→New→M-File在编辑器内输入以下内容%ThisismyfirsttestM-file.%RogerJang,March3,1997fprintf('Startoftest.m!\n');fori=1:3,fprintf('i=%d--->i^3=%d\n',i,i^3);endfprintf('Endoftest.m!\n');保存文件到指定或默认的目录下File→Save→输入文件名“test.m”第二十页,共四十九页。MATLAB软件(ruǎnjiàn)_续16②执行文件“test.m”进入(jìnrù)文件所在目录或查看文件>>CD>>dir执行test.m>>testStartoftest.m!i=1--->i^3=1i=2--->i^3=8i=3--->i^3=27Endoftest.m!>>第二十一页,共四十九页。MATLAB软件(ruǎnjiàn)_续17注意:M档案可分为命令集(Scripts)及函数(Functions)。前述的test.m即为命令集,其效用和将命令逐一输入完全一样,因此在命令集直接使用工作空间的变量(biànliàng),则在命令集中设定的变量(biànliàng),可在工作空间中看得到。函数则需要用到输入参数(Inputarguments)和输出参数(Outputarguments)来传递资讯。例如:计算一个正整数的阶乘(Factorial),可以写一个如下的MATLAB函数并将之存档于fact.m:functionoutput=fact(n)%FACTCalculatefactorialofagivenpositiveinteger.output=1;fori=1:n,output=output*i;end其中fact是函数名,n是输入参数,output是输出参数,而i则是此函数用到的暂时变量。第二十二页,共四十九页。MATLAB软件(ruǎnjiàn)_续18要使用此函数,直接键入函数名及适当输入参数值即可。>>y=fact(5)y=120注意:在执行(zhíxíng)fact之前,你必须先进入fact.m所在的目录。在执行fact(5)时,MATLAB会进入一个下层的暂时工作空间(Temperaryworkspace),将变量n的值设定为5,然后进行各项函数的内部运算,所有内部运算所产生的变量都存在此暂时工作空间中。运算完毕后,MATLAB会将最后输出参数output的值设定给上层的变量y,并将清除此暂时工作空间及其所含的所有变量。第二十三页,共四十九页。MATLAB软件(ruǎnjiàn)_续19(6)MATLAB的文件、目录等操作(cāozuò)指令显示当前目录pwd显示当前工作目录s=pwd将当前工作目录赋予变量s改变工作目录cd显示当前工作目录w=cd将当前工作目录赋予wcd('directory')设置当前工作目录为directory指定的目录cd('..')将当前工作目录改为它的上级目录cddirectoryorcd..与上面两条指令等同第二十四页,共四十九页。MATLAB软件(ruǎnjiàn)_续20MATLAB的文件、目录等操作指令_续显示目录列表dir列示当前工作目录的文件dirname列示指定的文件files=dir('directory')将指定目录的文件列表信息返回到files中。例如:>>afiles=dir(‘d:/work/*.*')>>afiles(3).name>>afiles(3).date显示文件内容type('filename')typefilenamefilename是要被显示的文件的路径(lùjìng)和名字第二十五页,共四十九页。MATLAB软件(ruǎnjiàn)_续21MATLAB的文件(wénjiàn)、目录等操作指令_续浏览或改变MATLAB目录的搜寻路径path显示当前MATLAB搜索路径。初始搜索路径由toolbox/local/pathdef.m文件定义的。path('newpath')将搜索路径改变为一个新路径,这里新路径是一个目录的字符串数组。path(path,'newpath')将一个新路径增加到当前的搜索路径后。path('newpath',path)将一个新路径加到当前的搜索路径前。p=path(...)将指定的路径返回到一个字符串变量。第二十六页,共四十九页。MATLAB软件(ruǎnjiàn)_续22浏览或改变MATLAB目录的搜寻路径_续举例(jǔlì):>>pathMATLABPATHd:\matlab5\toolbox\matlab\generald:\matlab5\toolbox\matlab\ops┋d:\matlab5\toolbox\simulink\deed:\matlab5\toolbox\local查询某一命令是在搜寻路径的何处,用which命令:>>whichtestc:\data\mlbook\test.m将c:\data\mlbook加入MATLAB的搜寻路径,用path>>path(path,'c:\data\mlbook')第二十七页,共四十九页。MATLAB软件(ruǎnjiàn)_续23(7)资料的储存与载入_续1)将计算所得的储存倒文件的命令savesave将工作空间(kōngjiān)的所有变量储存到名为matlab.mat的二进制文件。savefilename将工作空间的所有变量储存到名为filename.mat的二进制文件。savefilenamexyz将变量x、y、z储存到名为filename.mat的二进制文件。savefilenamex–ascii将变量x以八位数存到名为filename的ASCII文件。savefilenamex-ascii–double将变量x以十六位数存到名为filename的ASCII文件。注意:①命令后不加任何选项时,save会将变量以二进制(Binary)的方式储存至扩展名为mat的文件;②另一个选项是-tab,可将同一列相邻的数目以定位键(tab)隔开。第二十八页,共四十九页。MATLAB软件(ruǎnjiàn)_续24将计算所得的储存倒文件的命令save_续举例:>>who列出工作空间(kōngjiān)的变量Yourvariablesare:Bhjyansixz>>savetestBy将变数B与y储存至test.mat>>dir列出现在目录中的文件.2plotxy.docfact.msimulink.doctest.m~$1basic.doc..3plotxyz.docfirst.doctemp.doctest.mat1basic.docbook.dotgo.mtemplate.doctestfile.dat>>deletetest.mat删除test.mat第二十九页,共四十九页。MATLAB软件(ruǎnjiàn)_续252)将文件载入储存得变量命令loadloadfilename寻找名称为filename.mat的文件,并以二进制格式载入。若找不到filename.mat,则寻找名称为filename的文件,并以ASCII格式载入。loadfilename–ascii寻找名称为filename的文件,并以ASCII格式载入。若以ASCII格式载入,则变量名称即为文件名称(但不包含扩展名)。若以二进制载入,则可保留原有的变量名称。举例:>>clearall;%清除工作空间中的变数>>x=1:10;>>savetestfile.datx-ascii%将x以ASCII格式存至testfile.dat文件>>loadtestfile.dat%载入testfile.dat>>who%列出工作空间中的变量Yourvariablesare:testfilex注意:上述过程由于是以ASCII格式储存与载入,所以(suǒyǐ)产生了一个与文件名称相同的变量testfile,此变量的值和原变量x完全相同。第三十页,共四十九页。MATLAB软件(ruǎnjiàn)_续26(8)基本xy平面绘图命令(mìnglìng)
1)length获得一组数的个数或一个向量的长度>>x=ones(1,8);>>n=length(x)2)linspace产生线性间隔向量y=linspace(a,b)在[a,b]之间产生一组100点的线性间隔的行向量。generatesarowvectoryof100pointslinearlyspacedbetweenandincludingaandb.y=linspace(a,b,n)在[a,b]之间产生一组n点的线性间隔的行向量。generatesarowvectoryofnpointslinearlyspacedbetweenandincludingaandb.举例:t=linspace(0.005,0.005*length(y1),length(y1));第三十一页,共四十九页。MATLAB软件(ruǎnjiàn)_续27基本xy平面绘图命令_续3)plot绘制一维曲线的基本函数,使用此函数之前,需先定义曲线上每一点的x及y座标。举例:画出一条正弦曲线>>closeall;>>x=linspace(0,2*pi,100);%1产生00个点的x座标>>y=sin(x);%生成对应的y座标>>plot(x,y);关于MATLAB基本绘图函数的应用说明(shuōmíng):绘图刻度plot:x轴和y轴均为线性刻度(Linearscale)loglog:x轴和y轴均为对数刻度(Logarithmicscale)semilogx:x轴为对数刻度,y轴为线性刻度semilogy:x轴为线性刻度,y轴为对数刻度第三十二页,共四十九页。MATLAB软件(ruǎnjiàn)_续28关于MATLAB基本绘图函数(hánshù)的应用说明_续画出多条曲线,只需将座标对依次放入plot函数plot(x,sin(x),x,cos(x));若要改变颜色,在座标对後面加上相关字串plot(x,sin(x),'c',x,cos(x),'g');若要同时改变颜色及图线型态(Linestyle),也是在座标对後面加上相关字串plot(x,sin(x),'co',x,cos(x),'g*');第三十三页,共四十九页。MATLAB软件(ruǎnjiàn)_续29关于MATLAB基本绘图函数的应用(yìngyòng)说明_续plot绘图函数的叁数说明在用plot(a,b,s)绘图时,可以使用各类线型、图符、颜色,这里s是由下表中的任一元素或3列中所有元素组合的字符串。第三十四页,共四十九页。MATLAB软件(ruǎnjiàn)_续304)将一图形(túxíng)窗口划分为多个显示区,使之同时画出数个小图形(túxíng)於同一个视窗之中。subplot(m,n,p)实现功能:将图形窗口划分为m×n矩阵的显示区,同时激活第p个显示区。举例:subplot(2,2,1);plot(x,sin(x));subplot(2,2,2);plot(x,cos(x));subplot(2,2,3);plot(x,sinh(x));subplot(2,2,4);plot(x,cosh(x));第三十五页,共四十九页。MATLAB软件(ruǎnjiàn)_续315)其他各种二维绘图函数bar长条图errorbar图形加上误差范围fplot较精确的函数图形polar极座标图hist累计图rose极座标累计图stairs阶梯(jiētī)图stem
针状图fill
实心图第三十六页,共四十九页。二、图形信号(xìnhào)的处理程序介绍1.峰值(fēnɡzhí)程序fori=1:length(u)ifu(i)==max(u)m=i;breakendendp_h=h(m)第三十七页,共四十九页。处理程序_续1求起点和终点(zhōngdiǎn)的程序%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)>0&y2_7s(i+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)<=0j=ibreakendend第三十八页,共四十九页。处理程序_续22.时距程序>>judge_start>>judge_end>>u=y2_7s(k:j);%宫缩单波数据(shùjù)>>h=y1(k:j);%对应单波宫缩的心率数据>>t0=(length(u)-1)*0.005;第三十九页,共四十九页。处理程序_续33.面积程序>>t=linspace(0.005,0.005*length(h),length(h));>>subplot(2,1,1),plot(t,h);%心率(xīnlǜ)-时间图;>>subplot(2,1,2),plot(t,u);%宫缩-时间图;>>area=0.005*sum(u)*15./1024%计算面积第四十页,共四十九页。三、临床电生理数据分析实验模拟软件(ruǎnjiàn)介绍1.实验模拟软件简介(jiǎnjiè)临床电生理数据分析实验模拟软件Med.exe是用于对临床功能类的信号进行初步分析的软件,该软件是用VisualBasic程序语言来编写的。目前具有如下功能:(1)可以浏览医学仪器采集的电生理信号数据,人工干预信号截取,并以二进制格式和文本格式来保存截取的信号数据;(2)可以利用面板按扭工具,对胎心率信号、孕妇的宫缩信号进行人工干预的信号处理和分析,包括:奇异点处理,平均心率、瞬时心率、宫缩峰值、宫缩时距和宫缩面积的计算;(3)可以进行信号数字平滑滤波、基线调整、自动计算部分时域参数。2.软件的使用说明第四十一页,共四十九页。实验(shíyàn)模拟软件介绍_续1(1)原始采样数据回显①“临床信号截取”→“选取数据源位置”→确定位置后,单击[OK]②在输入病历号的输入框内输入:A0012③在选择文件框内选择项目:R0012A_5④单击[开始]→单击[回放](2)进行人工干预操作①在需要截波或人工分析时,单击[冻结]②截取波形,计算时距、面积和平均心率,或去除奇异项时,要用鼠标在视图浏览区内拖出选区,然后分别单击相应的操作按钮注意:如要取消选区,可以单击浏览视图的任意位置即可。③计算峰值或瞬时(shùnshí)心率时,按着[Alt]键,然后单击曲线的选取点,接着单击相应的操作按钮(3)结束软件使用单击窗口的关闭按钮。第四十二页,共四十九页。四、实验(shíyàn)
1.均值计算(jìsuàn)2.时距计算3.峰值计算4.面积计算5.作图平均值:平均幅值:第四十三页,共四十九页。实验(shíyàn)_续11.MatLab实验内容的介绍(1)利用matlab计算宫缩的峰值、宫缩时的平均心率,以及宫缩峰值对应的顺时心率、计算宫缩波的面积、宫缩持续时间实验步骤①启动matlab;②增加路径:>>path(path,'D:\matlab_dat')③导入数据>>clearall;%清除变量心率:>>y1=load('r0012A0h.txt');宫缩:>>y2=load('r0012a0u.txt');④曲线作图建立XY坐标轴与绘图时间数组点>>t=linspace(0.005,0.005*length(y1),length(y1));绘制(huìzhì)心率与宫缩图>>subplot(2,1,1),plot(t,y1);%心率-时间图;>>subplot(2,1,2),plot(t,y2);%宫缩-时间图;第四十四页,共四十九页。实验(shíyàn)_续2宫缩局部加权平滑滤波(七点平滑)>>n=length(y2)fori=4:n-3y2_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;end;y2_7s([123n-2n-1n])=[y2(1)y2(2)y2(3)y2(n-2)y2(n-1)y2(n)]再次绘制心率与宫缩图,观察曲线(qūxiàn)变化的情况>>subplot(2,1,1),plot(t,y1);%心率-时间图;>>subplot(2,1,2),plot(t,y2_7s);%宫缩-时间图;⑤判断宫缩波的起始、终止点>>judge_start>>judge_end%运行文件judge_start.mj和judge_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 44048-2024风能发电系统风力发电机组功率性能测试的数值场标定方法
- 浙教版五年级上册数学第一单元 小数的意义与加减法 测试卷及完整答案【各地真题】
- 2024年购销合同分期付款条款
- 诚信为魂不抄袭作业保证书
- 调峰天然气订购合同
- 货架订购销售协议
- 质量保证书撰写技巧指南汇编设计
- 购买招标文件情况单
- 车辆行驶期间车辆安全行驶保证书
- 软件优化合同模板
- 阀门压力试验报告doc
- (整理)化工企业定量风险评价导则.
- 危险化学品安全周知卡环氧丙烷
- 化粪池报审检验批、
- 国内外卫生陶瓷标准主要技术要求项目
- 应用回归分析-第5章课后习题参考答案
- 单位三重一大事项集体决策制度
- 双氧水脱硫技术介绍
- 《第9课 人物装饰画课件》小学美术苏少版六年级上册4836.ppt
- (完整版)VRV多联机空调工程施工组织设计
- 欧盟RoHS2.0指令附件III及附件IV豁免清单(45页)
评论
0/150
提交评论