医学图形图像处理识别技术与医学信息_第1页
医学图形图像处理识别技术与医学信息_第2页
医学图形图像处理识别技术与医学信息_第3页
医学图形图像处理识别技术与医学信息_第4页
医学图形图像处理识别技术与医学信息_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

医学图形图像处理识别技术与医学信息分析刘燕E-Mail:lyan@PhoneNo.87331856-811目录内容序医学信息学简述第一讲医学信号处理概述第二讲医学图形信号的采集、存储与处理第三讲Mathlab与图形信号的处理识别第四讲医学图像信号的采集、存储格式、处理方法第五讲Mathlab、Vtk、Mtk与医学图像的处理第六讲医学信息挖掘第七讲用于教学的医学图片处理技术作业第三讲Mathlab与图形信号的处理识别MATLAB软件的使用介绍图形信号的处理与识别程序介绍临床电生理数据分析实验模拟软件介绍实验

一、MATLAB软件的使用介绍1.MATLAB的简介(1)MATLAB—高级交互式软件包(2)MATLAB典型应用数学计算算法推导建模和仿真模拟数据分析和结果的可视化工程图形绘制应用程序开发(包括用户图形界面的建立)(3)MATLAB产生的历史背景调用EISPACK和LINPACK的FORTRAN子程序库→EISPACK和LINPACK的接口程序→MATLAB→发展成为适合多学科,多种工作平台的功能强大的大型软件。美国MathWorks公司设计的“科学和工程计算的高级交互式软件包”CleveMoler、NewMexico、JohnLittleMATLAB软件_续1(3)MATLAB的语言特点语言简洁紧凑,使用方便灵活,库函数极其丰富。运算符丰富。MATLAB既具有结构化的控制语句,又有面向对象编程的特性。程序限制不严格,程序设计自由度大。程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。MATLAB的图形功能强大。MATLAB的缺点是程序的执行速度较慢。功能强大的工具箱。源程序的开放性。如:解方程组Ax=bx=A\bMATLAB软件_续22.MATLA的安装进入MATLAB软件安装程序目录,然后单击“Setup”程序,在安装程序的引导下,逐步完成以下操作:(1)选择“Install”安装或”Updatelicense…”升级许可证,单击[Next];然后输入姓名、公司与序列号,单击[Next]。(2)选择接受许可证协议,单击“Yes”→单击[Next],然后选择“Typical”典型安装,单击[Next]。(3)选择或输入安装目的路径,单击[Next],后单击“Yes”(4)单击[Install],系统开始安装。MATLAB软件_续3(5)在提示插入第2张CD时,插入CD2,然后单击[OK],接着在文件扩展名警示对话框内单击[Yestoall]。(6)单击[Next],接着单击[Finish]。(7)如果在单击[Finish]按钮之前,选择了“Start”选项,则此时进入MATLAB工作环境。MATLAB软件_续43.MATLAB启动与退出启动MATLAB,进入MATLAB工作环境启动MATLABMATLAB软件_续5结束MATLAB,退出MATLAB工作环境键入exit键入quit直接关闭MATLAB的命令视窗退出MATLABMATLAB软件_续6-14.MATLAB变量与基本输入输出变量命名的规则:①第一个字母必须是英文字母;②字母间不可留空格;③最多只能有19个字母,MATLAB会忽略多余字母。变量定义与输入输出向量与标量矩阵——行和列组成的数据表行向量——矩阵只有一行时,称为行向量。列向量——矩阵只有一列时,称为列向量。标量——矩阵只有1个元素时,称为标量。MATLAB软件_续6-2变量定义var=expt;expt可可以是数字字、变量、、操作符和和函数等组组成。例如:X=7A=[123;456;789]B=[11121314]C=[21;22;23;24]D=X*B注意:用方括号““[]””确定的的范围内逐逐行给定元元素,相同同行元素由由空格“””或逗号号“,”分分隔,不同同行数据由由分号“;”或回车车键分隔。。语句结尾没没有分号的的命令在屏屏幕显示结结果;有分分号的命令令只执行而而不显示。。MATLAB软件_续75.MATLAB常用命令令(1)MATLAB常用的的基本数学学函数abs(x):纯量量的绝对值值或向量的的长度sqrt(x):开开平方round(x)::四舍五入入至最近整整数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软件_续8(2)适适用于向量量的常用函函数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软件_续9适用于向量量的常用函函数_续prod(x):向向量x的的元素总乘乘积cumsum(x):向量量x的累计计元素总和和cumprod(x):向向量x的累累计元素总总乘积dot(x,y):向量量x和y的的内积cross(x,y):向向量x和和y的外积积MATLAB软件_续10一些常用的的操作函数数format语句是是控制输出出的显示格格式,句法法如下:format设设置置默认显示示格式5位位的定点数数formattype设设置按指定定的type格式输输出显示。。例如:formatratRatioofsmallintegersformat('type')与与上面语语句一样,,但以函数数形式出现现disp(x)显显示矩阵阵函数%注注释语语句zeros、ones预先先定义矩矩阵的大大小。例如:h=zeros(6);%生成6×6的0矩阵MATLAB软软件_续11(3)重重复命命令1)for循环环(for-loop),其其基本形形式为::for变变量=矩矩阵;运算式;;end变量值会会被依次次设定为为矩阵的的每一行行,来执执行for和end之之间的运运算式。。因此,,若中断断情况,,运算式式执行的的次数等等于矩阵阵的行数数。其中中“;””是终结结内语句句的可抑抑制的重重复显示示。举例:产生生一个长度度为6的调调和数列x=zeros(1,6);%x是是一个1××6的矩阵阵fori=1:6,x(i)=1/i;endMATLAB软件_续122)while循环环,其基本本形式为::while条件式式;运算式;End实现功能::只要条件件成立,就就会一再执执行运算式式。举例:用while循环产生生一个长度度为6的调调和数列x=zeros(1,6);%x是一一个1×6的零矩阵阵i=1;whilei<=6,x(i)=1/i;i=i+1;endformatshortMATLAB软件_续13(4)逻辑命命令if,...,end,,其基本形形式为:if条件件式;运算式;end实现功能::条件成立立,执行运运算式。举例:产生生一个随机机数ifrand(1,1)>0.5disp('Givenrandomnumberisgreaterthan0.5.');elsedisp('Givenrandomnumberislessthan0.5.');endMATLAB软软件件_续续14(5)将将多多个个命命令令写写入入一一个个M文文件件若要要一一次次执执行行大大量量的的MATLAB命命令令,,可可将将这这些些命命令令存存于于一一个个文文件件类类型型为为m的的文文件件中中,,并并在在MATLAB提提示示号号下下键键入入此此文文件件名名即即可可执执行行。。包包含含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软软件件_续续15①建建立立test.m的的M文文件件进入入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软软件_续16②执行文文件“test.m””进入文件件所在目目录或查查看文件件>>CD>>dir执行test.m>>testStartoftest.m!i=1--->i^3=1i=2--->i^3=8i=3--->i^3=27Endoftest.m!>>MATLAB软软件_续17注意:M档案案可分为为命令集(Scripts)及及函数(Functions)。前前述的test.m即即为命令令集,其其效用和和将命令令逐一输输入完全全一样,,因此在在命令集集直接使使用工作作空间的的变量,,则在命命令集中中设定的的变量,,可在工工作空间间中看得得到。函数则需需要用到到输入参参数(Inputarguments)和输出参数数(Outputarguments)来来传递资资讯。例如:计计算一个个正整数数的阶乘乘(Factorial),,可以写写一个如如下的MATLAB函函数并将将之存档档于fact.m:functionoutput=fact(n)%FACTCalculatefactorialofagivenpositiveinteger.output=1;fori=1:n,output=output*i;end其中fact是函数数名,n是是输入参数数,output是是输出参数数,而i则则是此函数数用到的暂暂时变量。。MATLAB软件_续18要使用此函函数,直接接键入函数数名及适当当输入参数数值即可。。>>y=fact(5)y=120注意:在执行fact之前前,你必须须先进入fact.m所在的的目录。在执行fact(5)时,MATLAB会进入入一个下层层的暂时工工作空间((Temperaryworkspace)),将变量量n的值设设定为5,,然后进行行各项函数数的内部运运算,所有有内部运算算所产生的的变量都存存在此暂时时工作空间间中。运算算完毕后,,MATLAB会将将最后输出出参数output的值设定定给上层的的变量y,,并将清除除此暂时工工作空间及及其所含的的所有变量量。MATLAB软件_续19(6)MATLAB的文件、、目录等操操作指令显示当前目目录pwd显显示当前工工作目录s=pwd将将当前前工作目录录赋予变量量s改变工作目目录cd显显示当前前工作目录录w=cd将将当前前工作目录录赋予wcd('directory')设设置当前前工作目录录为directory指定定的目录cd('..')将将当前工作作目录改为为它的上级级目录cddirectoryorcd..与与上面面两条指令令等同MATLAB软件_续20MATLAB的文件件、目录等等操作指令令_续显示目录列列表dir列列示当前工工作目录的的文件dirname列列示指定的的文件files=dir('directory')将将指定目目录的文件件列表信息息返回到files中。例如如::>>afiles=dir(‘‘d:/work/*.*')>>afiles(3).name>>afiles(3).date显示示文文件件内内容容type('filename')typefilenamefilename是是要要被被显显示示的的文文件件的的路路径径和和名名字字MATLAB软软件件_续续21MATLAB的的文文件件、、目目录录等等操操作作指指令令_续续浏览览或或改改变变MATLAB目目录录的的搜搜寻寻路路径径path显显示示当当前前MATLAB搜搜索索路路径径。。初始始搜搜索索路路径径由由toolbox/local/pathdef.m文文件件定定义义的的。。path('newpath')将将搜搜索索路路径径改改变变为为一一个个新新路路径径,,这这里里新新路路径径是是一一个个目目录录的的字字符符串串数数组组。。path(path,'newpath')将将一一个个新新路路径径增增加加到到当当前前的的搜搜索索路路径径后后。。path('newpath',path)将将一一个个新新路路径径加加到到当当前前的的搜搜索索路路径径前前。。p=path(...)将将指指定定的的路路径径返返回回到到一一个个字字符符串串变变量量。。MATLAB软软件件_续续22浏览览或或改改变变MATLAB目目录录的的搜搜寻寻路路径径_续续举例例:>>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软软件件_续续23(7)资资料料的的储储存存与与载载入入_续续1)将将计计算算所所得得的的储储存存倒倒文文件件的的命命令令savesave将将工工作作空空间间的的所所有有变变量量储储存存到到名名为为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软件_续24将计算所得的的储存倒文件件的命令save_续举例:>>who列列出工作空空间的变量Yourvariablesare:Bhjyansixz>>savetestBy将将变数B与与y储存至test.mat>>dir列列出出现在目录中中的文件.2plotxy.docfact.msimulink.doctest.m~$1basic.doc1basic.docbook.dotgo.mtemplate.doctestfile.dat>>deletetest.mat删删除除test.matMATLAB软件_续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格式储存与与载入,所以以产生了一个个与文件名称称相同的变量量testfile,此此变量的值和和原变量x完完全相同。MATLAB软件_续26(8)基本xy平面绘图图命令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软件_续27基本xy平平面绘图命命令_续3)plot绘绘制一维曲曲线的基本本函数,使使用此函数数之前,需需先定义曲曲线上每一一点的x及及y座标。。举例:画出出一条正弦弦曲线>>closeall;>>x=linspace(0,2*pi,100);%1产产生00个个点的x座座标>>y=sin(x);%生成对应应的y座标标>>plot(x,y);关于MATLAB基基本绘图函函数的应用用说明:绘图刻度plot:x轴和和y轴均为为线性刻度度(Linearscale)loglog:x轴和y轴轴均为对数数刻度(Logarithmicscale)semilogx:x轴为为对数刻度度,y轴为为线性刻度度semilogy:x轴为为线性刻度度,y轴为为对数刻度度MATLAB软件_续28关于MATLAB基基本绘图函函数的应用用说明_续画出多条曲曲线,只需需将座标对对依次放入入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软件_续29关于MATLAB基基本绘图函函数的应用用说明_续plot绘绘图函数的的叁数说明明在用plot(a,b,s)绘图时,,可以使用用各类线型型、图符、、颜色,这这里s是由由下表中的的任一元素素或3列中中所有元素素组合的字字符串。MATLAB软件_续304)将一一图形窗口口划分为多多个显示区区,使之同同时画出数数个小图形形於同一个个视窗之中中。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软件_续315)其他他各种二维维绘图函数数bar长长条图errorbar图图形加加上误差范范围fplot较精精确的函数数图形polar极座座标图hist累累计图图rose极极座标标累计图stairs阶阶梯图stem针针状图图fill实实心图图二、图形信信号的处理理程序介绍绍1.峰值值程序fori=1:length(u)ifu(i)==max(u)m=i;breakendendp_h=h(m)处理程序_续1求起点和终终点的程序序%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);%宫宫缩单波数数据>>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);%心率率-时间图;>>subplot(2,1,2),plot(t,u);%宫宫缩-时间间图;>>area=0.005*sum(u)*15./1024%计算算面积三、临床电生生理数据分析析实验模拟软软件介绍1.实验模拟拟软件简介临床电生理数数据分析实验验模拟软件Med.exe是用于对对临床功能类类的信号进行行初步分析的的软件,该软软件是用VisualBasic程序语言来来编写的。目目前具有如下下功能:(1)可以浏浏览医学仪器器采集的电生生理信号数据据,人工干预预信号截取,,并以二进制制格式和文本本格式来保存存截取的信号号数据;(2)可以利利用面板按扭扭工具,对胎胎心率信号、、孕妇的宫缩缩信号进行人人工干预的信信号处理和分分析,包括::奇异点处理理,平均心率率、瞬时心率率、宫缩峰值值、宫缩时距距和宫缩面积积的计算;(3)可以进进行信号数字字平滑滤波、、基线调整、、自动计算部部分时域参数数。2.软件的的使用说明实验模拟软件件介绍_续1(1)原始采采样数据回显显①“临床信号号截取”→““选取数据源源位置”→确确定位置后,,单击[OK]②在输入病历历号的输入框框内输入:A0012③在选择文件件框内选择项项目:R0012A_5④单击[开始始]→单击[回放](2)进行人人工干预操作作①在需要截波波或人工分析析时,单击[冻结]②截取波形,,计算时距、、面积和平均均心率,或去去除奇异项时时,要用鼠标标在视图浏览览区内拖出选选区,然后分分别单击相应应的操作按钮钮注意:如要取消选选区,可以单单击浏览视图图的任意位置置即可。③计算峰值或或瞬时心率时时,按着[Alt]键,,然后单击曲曲线的选取点点,接着单击击相应的操作作按钮(3)结束软软件使用单击窗口的关关闭按钮。四、实验1.均值计算算2.时距计计算3.峰值计计算4.面积计计算5.作图平均值:平均幅幅值:实验_续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));绘制心心率与与宫缩缩图>>subplot(2,1,1),plot(t,y1);%心率率-时时间图图;>>subplot(2,1,2),plot(t,y2);%宫宫缩-时间间图;;实验_续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)]再次绘绘制心心率与与宫缩缩图,,观察察曲线线变化化的情情况>>subplot(2,1,1),plot(t,y1);%心率率-时时间图图;>>subplot(2,1,2),plot(t,y2_7s);%宫宫

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论