




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
医学图形图像处理识别技术与 医学信息分析 目录内容目录内容 序序 医学信息学简述医学信息学简述 第一讲第一讲 医学信号处理概述医学信号处理概述 第二讲第二讲 医学图形信号的采集、存储与处理医学图形信号的采集、存储与处理 第三讲第三讲 mathlabmathlab 与图形信号的处理识别与图形信号的处理识别 第四讲第四讲 医学图像信号的采集、存储格式、处理方法医学图像信号的采集、存储格式、处理方法 第五讲第五讲 mathlabmathlab 、vtkvtk、mtkmtk与医学图像的处理与医学图像的处理 第六讲第六讲 医学信息挖掘医学信息挖掘 第七讲第七讲 用于教学的医学图片处理技术用于教学的医学图片处理技术 作业 第三讲 mathlab 与图形信号的处理 识别 nmatlab软件的使用介绍 n图形信号的处理与识别程序介绍 n临床电生理数据分析实验模拟软件介绍 n实验 一、matlab软件的使用介绍 n1. matlab的简介 (1) matlab高级交互式软件包 (2) matlab典型应用 数学计算 算法推导 建模和仿真模拟 数据分析和结果的可视化 工程图形绘制应用程序开发(包括用户图形界面的建立) (3) matlab产生的历史背景 调用eispack和linpack的fortran子程序库 eispack和linpack的接口程序matlab 发展成 为适合多学科,多种工作平台的功能强大的大型软件。 美国mathworks公司设计的“科学 和工程计算的高级交互式软件包” cleve moler、new mexico、john little matlab软件_续1 (3) matlab的语言特点 n语言简洁紧凑,使用方便灵活,库函数极其丰富。 n运算符丰富。 nmatlab既具有结构化的控制语句,又有面向对象编程的 特性。 n程序限制不严格,程序设计自由度大。 n程序的可移植性很好,基本上不做修改就可以在各种型号 的计算机和操作系统上运行。 nmatlab的图形功能强大。 nmatlab的缺点是程序的执行速度较慢。 n功能强大的工具箱。 n源程序的开放性。 如:解方程组ax=b x=ab matlab软件_续2 n2. matla的安装 进入matlab软件安装程序目录,然后单击“setup” 程序,在安装程序的引导下,逐步完成以下操作: (1)选择“install”安装或”update license”升级许可 证,单击next;然后输入姓名、公司与序列号,单击 next。 (2)选择接受许可证协议,单击“yes”单击next,然 后选择“typical”典型安装,单击next。 (3)选择或输入安装目的路径,单击next,后单击 “yes” (4)单击install,系统开始安装。 matlab软件_续3 (5)在提示插入第2张cd时,插入cd2,然后单 击ok,接着在文件扩展名警示对话框内单击 yes to all。 (6)单击next,接着单击finish。 (7)如果在单击finish按钮之前,选择了 “start”选项,则此时进入matlab工作环境。 matlab软件_续4 n3. matlab启动与退出 启动matlab,进入matlab工作环境 启动matlab matlab软件_续5 结束matlab,退出matlab工作环境 n键入exit n键入quit n直接关闭matlab的命令视窗 退出matlab matlab软件_续6-1 n4. matlab变量与基本输入输出 变量命名的规则:第一个字母必须是英文字 母;字母间不可留空格;最多只能有19个 字母,matlab会忽略多余字母。 变量定义与输入输出 n向量与标量 矩阵行和列组成的数据表 行向量矩阵只有一行时,称为行向量。 列向量矩阵只有一列时,称为列向量。 标量矩阵只有1个元素时,称为标量。 matlab软件_续6-2 n变量定义 var=expt; nexpt可以是数字、变量、操作符和函数等组成。 例如: x=7 a=1 2 3; 4 5 6; 7 8 9 b=11 12 13 14 c=21;22;23;24 d=x*b 注意: n用方括号“ ” 确定的范围内逐行给定元素,相同行元素由空格 “ ”或逗号“,”分隔,不同行数据由分号“;”或回车键分隔。 n语句结尾没有分号的命令在屏幕显示结果;有分号的命令只执 行而不显示。 matlab软件_续7 n5. matlab常用命令 (1) matlab常用的基本数学函数 nabs(x):纯量的绝对值或向量的长度 nsqrt(x):开平方 nround(x):四舍五入至最近整数 nfix(x):无论正负,舍去小数至最近整数 nsign(x):符号函数 (signum function) nexp(x):自然指数 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的相邻元素的差 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(x): 向量x的累计元素总乘积 ndot(x, y): 向量x和y的内积 ncross(x, y): 向量x和y的外积 matlab软件_续10 一些常用的操作函数 nformat语句是控制输出的显示格式,句法如下: format 设置默认显示格式5位的定点数 format type 设置按指定的type格式输出显示。 n例如:format rat ratio of small integers format(type) 与上面语句一样,但以函数形式出现 ndisp(x) 显示矩阵函数 n% 注释语句 nzeros、ones 预先定义矩阵的大小。 例如:h = zeros(6); %生成66的0矩阵 matlab软件_续11 (3) 重复命令 n1)for循环(for-loop),其基本形式为: for 变量 = 矩阵; 运算式; end 变量值会被依次设定为矩阵的每一行,来执行for和end之 间的运算式。因此,若中断情况,运算式执行的次数等于矩 阵的行数。其中“;”是终结内语句的可抑制的重复显示。 n举例:产生一个长度为6的调和数列 x = zeros(1,6); % x是一个16的矩阵 for i = 1:6, x(i) = 1/i; end matlab软件_续12 n2)while循环,其基本形式为: while 条件式; 运算式; end 实现功能:只要条件成立,就会一再执行运算式。 n举例:用while循环产生一个长度为6的调和数列 x = zeros(1,6); % x是一个16的零矩阵 i = 1; while i 0.5 disp(given random number is greater than 0.5.); else disp(given random number is less than 0.5.); end matlab软件_续14 (5)将多个命令写入一个m文件 n若要一次执行大量的matlab命令,可将这些命令 存于一个文件类型为m的文件中,并在matlab提 示号下键入此文件名即可执行。包含matlab命令 的文件以m为扩展名,通称m文件(m-files)。 n举例:名为test.m的m文件有以下内容: % this is my first test m-file. % roger jang, march 3, 1997 fprintf(start of test.m!n); for i = 1:3, fprintf(i = %d - i3 = %dn, i, i3); end fprintf(end of test.m!n); matlab软件_续15 建立test.m的m文件 进入matlab编辑器 nfilenewm-file 在编辑器内输入以下内容 % this is my first test m-file. % roger jang, march 3, 1997 fprintf(start of test.m!n); for i = 1:3, fprintf(i = %d - i3 = %dn, i, i3); end fprintf(end of test.m!n); 保存文件到指定或默认的目录下 nfilesave输入文件名“test.m” matlab软件_续16 执行文件“test.m” n进入文件所在目录或查看文件 cd dir n执行test.m test start of test.m! i = 1 - i3 = 1 i = 2 - i3 = 8 i = 3 - i3 = 27 end of test.m! matlab软件_续17 n注意:m档案可分为命令集(scripts)及函数(functions)。前述 的test.m即为命令集,其效用和将命令逐一输入完全一样,因 此在命令集直接使用工作空间的变量,则在命令集中设定的变 量,可在工作空间中看得到。函数则需要用到输入参数(input arguments)和输出参数(output arguments)来传递资讯。 n例如:计算一个正整数的阶乘(factorial),可以写一个如下 的matlab函数并将之存档于fact.m: function output = fact(n) % fact calculate factorial of a given positive integer. output = 1; for i = 1:n, output = output*i; end 其中fact是函数名,n是输入参数,output是输出参数,而i则是此 函数用到的暂时变量。 matlab软件_续18 要使用此函数,直接键入函数名及适当输入参数值即可。 y = fact(5) y = 120 注意: n在执行fact之前,你必须先进入fact.m所在的目录。 n在执行fact(5)时,matlab会进入一个下层的暂时工作 空间(temperary workspace),将变量n的值设定为 5,然后进行各项函数的内部运算,所有内部运算所产生 的变量都存在此暂时工作空间中。运算完毕后, matlab会将最后输出参数output的值设定给上层的变 量y,并将清除此暂时工作空间及其所含的所有变量。 matlab软件_续19 (6)matlab的文件、目录等操作指令 n显示当前目录 pwd 显示当前工作目录 s = pwd 将当前工作目录赋予变量s n改变工作目录 cd 显示当前工作目录 w = cd 将当前工作目录赋予w cd(directory) 设置当前工作目录为directory指定 的目录 cd() 将当前工作目录改为它的上级目录 cd directory or cd 与上面两条指令等同 matlab软件_续20 matlab的文件、目录等操作指令 _续 n显示目录列表 dir 列示当前工作目录的文件 dir name 列示指定的文件 files = dir(directory) 将指定目录的文件列表信息返回 到files中。 例如: afiles=dir(d:/work/*.*) afiles(3).name afiles(3).date n显示文件内容 type (filename) type filename nfilename是要被显示的文件的路径和名字 matlab软件_续21 matlab的文件、目录等操作指令 _续 n浏览或改变matlab 目录的搜寻路径 path 显示当前matlab 搜索路径。 n初始搜索路径由toolbox/local/pathdef.m文件定义的。 path(newpath) 将搜索路径改变为一个新路径,这里 新路径是一个目录的字符串数组。 path(path,newpath) 将一个新路径增加到当前的搜索路 径后。 path(newpath,path) 将一个新路径加到当前的搜索路径 前。 p = path(.) 将指定的路径返回到一个字符串变量。 matlab软件_续22 n浏览或改变matlab 目录的搜寻路径 _续 举例: path matlabpath d:matlab5toolboxmatlabgeneral d:matlab5toolboxmatlabops d:matlab5toolboxsimulinkdee d:matlab5toolboxlocal n查询某一命令是在搜寻路径的何处,用which命令: which test c:datamlbooktest.m n将c:datamlbook加入matlab的搜寻路径,用path path(path, c:datamlbook) matlab软件_续23 (7)资料的储存与载入 _续 n1) 将计算所得的储存倒文件的命令save save 将工作空间的所有变量储存到名为matlab.mat的 二进制文件。 save filename 将工作空间的所有变量储存到名为 filename.mat的二进制文件。 save filename x y z 将变量x、y、z储存到名为filename.mat 的二进制文件。 save filename x ascii 将变量x以八位数存到名为filename的 ascii文件。 save filename x -ascii double 将变量x以十六位数存到名为 filename的ascii文件。 n注意:命令后不加任何选项时,save会将变量以二进制( binary)的方式储存至扩展名为mat的文件 ;另一个选项是 -tab,可将同一列相邻的数目以定位键(tab)隔开。 matlab软件_续24 n将计算所得的储存倒文件的命令save _续 举例: who 列出工作空间的变量 your variables are: b h j y ans i x z save test b y 将变数b与y储存至test.mat dir 列出现在目录中的文件 . 2plotxy.doc fact.m simulink.doc test.m $1basic.doc 3plotxyz.doc first.doc temp.doc test.mat 1basic.doc book.dot go.m template.doc testfile.dat delete test.mat 删除test.mat matlab软件_续25 n2)将文件载入储存得变量命令load load filename 寻找名称为filename.mat的文件,并以二进制格 式载入。若找不到filename.mat,则寻找名称为filename的文件 ,并以ascii格式载入。 load filename ascii 寻找名称为filename的文件,并以ascii 格式载入。若以ascii格式载入,则变量名称即为文件名称(但不 包含扩展名)。若以二进制载入,则可保留原有的变量名称。 举例: clear all; % 清除工作空间中的变数 x = 1:10; save testfile.dat x -ascii % 将x以ascii格式存至testfile.dat文件 load testfile.dat % 载入testfile.dat who % 列出工作空间中的变量 your variables are: testfile x n注意:上述过程由于是以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点的线性间隔 的行向量。generates a row vector y of 100 points linearly spaced between and including a and b. y = linspace(a,b,n) 在a,b之间产生一组n点的线性间隔的 行向量。generates a row vector y of n points linearly spaced between and including a and b. 举例: t=linspace(0.005,0.005*length(y1), length(y1); matlab软件_续27 基本xy平面绘图命令_续 n3)plot 绘制一维曲线的基本函数,使用此函数之前 ,需先定义曲线上每一点的x及y座标。 举例:画出一条正弦曲线 close all; x=linspace(0, 2*pi, 100); % 1产生00个点的x座标 y=sin(x); %生成对应的y座标 plot(x,y); 关于matlab基本绘图函数的应用说明 : 绘图刻度 nplot: x轴和y轴均为线性刻度(linear scale) nloglog: x轴和y轴均为对数刻度(logarithmic scale) nsemilogx: x轴为对数刻度,y轴为线性刻度 nsemilogy: x轴为线性刻度,y轴为对数刻度 matlab软件_续28 关于matlab基本绘图函数的应用说明 _续 画出多条曲线,只需将座标对依次放入plot函数 nplot(x, sin(x), x, cos(x); 若要改变颜色,在座标对後面加上相关字串 nplot(x, sin(x), c, x, cos(x), g); 若要同时改变颜色及图线型态(line style),也是在座标 对後面加上相关字串 nplot(x, sin(x), co, x, cos(x), g*); matlab软件_续29 关于matlab基本绘图函数的应用说明 _续 plot绘图函数的叁数说明 n在用plot(a,b,s)绘图时,可以使用各类线型、图符、颜 色,这里s是由下表中的任一元素或3列中所有元素组合 的字符串。 matlab软件_续30 n4) 将一图形窗口划分为多个显示区,使之同时画出 数个小图形於同一个视窗之中。 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软件_续31 n5) 其他各种二维绘图函数 bar 长条图 errorbar 图形加上误差范围 fplot 较精确的函数图形 polar 极座标图 hist 累计图 rose 极座标累计图 stairs 阶梯图 stem 针状图 fill 实心图 二、图形信号的处理程序介绍 n1. 峰值程序 nfor i=1:length(u) n if u(i)=max(u) n m=i; n break n end nend np_h=h(m) 处理程序_续1 n求起点和终点的程序 %judge_start for i=5:(length(y2_7s)-5) if y2_7s(i-4)0 %宫缩单波数据 h=y1(k:j); %对应单波宫缩的心率数据 t0=(length(u)-1)*0.005; 处理程序_续3 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是用于对临 床功能类的信号进行初步分析的软件,该软件是用 visual basic程序语言来编写的。目前具有如下功能: n(1)可以浏览医学仪器采集的电生理信号数据,人工干预信号 截取,并以二进制格式和文本格式来保存截取的信号数据; n(2)可以利用面板按扭工具,对胎心率信号、孕妇的宫缩信号 进行人工干预的信号处理和分析,包括:奇异点处理,平均心 率、瞬时心率、宫缩峰值、宫缩时距和宫缩面积的计算; n(3)可以进行信号数字平滑滤波、基线调整、自动计算部分时 域参数。 n2. 软件的使用说明 实验模拟软件介绍_续1 (1)原始采样数据回显 n“临床信号截取”“选取数据源位置”确定位置后,单击ok n在输入病历号的输入框内输入:a0012 n在选择文件框内选择项目:r0012a_5 n单击开始单击回放 (2)进行人工干预操作 n在需要截波或人工分析时,单击冻结 n截取波形,计算时距、面积和平均心率,或去除奇异项时,要用鼠 标在视图浏览区内拖出选区,然后分别单击相应的操作按钮 注意:如要取消选区,可以单击浏览视图的任意位置即可。 n计算峰值或瞬时心率时,按着alt键,然后单击曲线的选取点,接 着单击相应的操作按钮 (3)结束软件使用 n单击窗口的关闭按钮。 四、实验 n1均值计算 n2. 时距计算 n3. 峰值计算 n4. 面积计算 n5. 作图 平均值 : 平均幅值 : 实验_续1 n1. matlab实验内容的介绍 (1)利用matlab计算宫缩的峰值、宫缩时的平均心率,以及宫缩峰值 对应的顺时心率、计算宫缩波的面积、宫缩持续时间 实验步骤 n启动matlab; n增加路径: n path(path,d:matlab_dat) n导入数据 nclear all; %清除变量 n心率: n y1=load(r0012a0h.txt); n宫缩: n y2=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); % 宫缩-时间图; 实验_续2 n宫缩局部加权平滑滤波(七点平滑) n n=length(y2) nfor i=4:n-3 n y2_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; n end; ny2_7s(1 2 3 n-2 n-1 n)=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); % 宫缩-时间图;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论