APP下载

医学图像处理远程虚拟实验教学平台的设计与实现

2011-01-25周苏娟蒋世忠黄展鹏刘金裕

中国医学教育技术 2011年5期
关键词:图像处理医学实验教学

周苏娟,蒋世忠,黄展鹏,刘金裕

广东药学院医药信息工程学院,广州510006

医学图像处理课程是一门综合医学、数字图像处理和计算机科学的综合性学科。实验教学在这门课程中占有非常重要的地位。学生只有通过足够的验证性实验和一定数量的综合设计性实验,才能真正理解和掌握该学科的理论知识及医学图像处理的算法原理[1]。

随着计算机技术和网络技术的发展,虚拟实验室作为推动教育模式改革的一种有效方法,逐渐成为近几年来国内外实验教学和远程教学研究、应用的热点[2]。基于Internet的“网上虚拟实验室”可以为学生提供一种不受时间、地点、实验设备限制的实验环境,可以有效地发挥现有各种教育资源优势,优化资源配置,实现实验教学资源的广泛共享[3,4]。

1 需求分析

系统设计目标是开发一个面向教学、基于网络的医学图像处理远程虚拟实验教学平台[5]。使学生能够不限时间、地点、自主选择实验项目进行虚拟实验,在简单输入某些参数查看算法演示或自行编写M文件交由后台处理后,即可查看实验结果,查询实验成绩等;使教师能够在线进行实验管理、批改实验报告等。

2 系统框架

该平台主要包含三大功能模块,分别为管理员模块、教师模块、学生模块。具体的系统框架如图1所示。

其中:①管理员模块实现管理员对人员的管理,学院班级等的系统管理;②教师模块实现教师对实验题目的增删改操作及实验报告成绩的在线评定、反馈;③学生模块可以实现学生登录后选择某个实验进行相应的实验操作。可以选择一种或者多种经典算法对图片进行处理,这些经典算法都提供参数接口,只需改变相关的参数就可以到达不同的处理效果。或者自行编写算法M文件通过Matlab Web Server实现Web应用程序和Matlab之间的通信[6],得到处理后的医学图像。还可以对实验结果进行保存、提交以及查看自己的实验成绩。

图1 系统框架图

3 系统开发工具

该系统以.NET 2005作为开发平台,借助Matlab强大的图像处理功能和.NET平台易于进行网络程序开发的特点进行结合[7],一方面通过Matlab的图像处理工具,有效地避免了需要学生使用开发工具来实现复杂的医学图像处理算法;另一方面基于.NET平台,采用B/S结构[8],使用C#语言开发的虚拟实验教学平台更适应于远程实验的要求。

4 系统实现

用户按不同身份登录后进入对应的操作主界面。

以学生身份登录为例,学生登录成功后可以选择修改个人信息,查看最新公告、虚拟实验操作、查询实验成绩等操作。图2是学生进入虚拟实验操作的处理流程。

图2 虚拟实验操作流程框图

下面以图像增强中的直方图规定化为例,说明远程虚拟实验的实现过程。

4.1 Matlab Web服务器配置

Matlab Web服务器配置按以下步骤进行[9]:①创建一个新的网站,根目录为wsdemos,这个目录原来在<matlab> oolboxwebserver下,也可以把它拷贝到其他地方;②在wsdemos下创建cgi-bin目录,将matweb.exe和matweb.conf拷贝到里面,并设定此目录权限为可以执行脚本和应用程序;③在IIS设置的Web服务扩展中增加一个允许的Web服务扩展,指定要求的文件为matweb.exe,扩展名随便取一个;④在wsdemos下创建icons目录,并设定此目录拥有写权限,用来存放处理后的图像。

4.2 Matlab Web Server工作原理

在编写Matlab Web Server应用程序之前先要了解Matlab Web Server工作原理。其工作原理图如图3所示[10]。

图3 Matlab Web Server工作原理图

其中,每增加一个Matlab Web应用,都需要在matweb.conf中增加一项配置[11]。形式如下:

[文件名]/*M文件名*/

mlserver=169.254.112.207/*服务器IP地址*/

mldir=c:/matlab6p1/toolbox/webserver/wsdemos/*MATLAB程序及图片保存的目录*/

该例中是每执行一个Matlab Web应用,通过代码动态修改matweb.conf内容。

if(sign.Trim()=="exec")//为执行M文件,需要修改matweb.conf内容

{

string matweb=Server.MapPath("cgi-bin/matweb.conf");

FileInfo fm=new FileInfo(matweb);

if(fm.Exists)

{

StreamWriter sw=new StreamWriter(matweb,true,Encoding.Default);

sw.WriteLine("");

sw.WriteLine("");

sw.WriteLine("["+strPath.Substring(strPath.LastIndexOf("")+1)+"]");

sw.WriteLine("mlserver=localhost");

sw.WriteLine(@"mldir=d:MATLAB6p1shiyanshiicons");

sw.Close();

}}

4.3 实现直方图规定化的M文件

function g=vhisteq(f,varargin)

%第一个参数为图片,第二个参数判断是否是直方图规定化单峰还是双峰

method=varargin{1};

switch method

case'singleleft'%单左

h=logspace(2,1,256);

g=histeq(f,h);

…其余是考虑单中、单右及双山峰状的情况

otherwise

error('未知的参数!');

end

4.4 输入、输出问题

编写MatlabWeb应用程序关键在于解决两个问题:Matlab程序如何通过html页面获取输入参数以及Matlab程序如何生成包含输出数据和图片的html文件[12,13]。

参数的提交是通过html页面中的表单来完成的。例如:

<form action="cgi-bin/matweb.exe"method="POST"target="jdrd"name="form1"id="form1"><!-表示把输入表单form1的数据发给虚拟目录/cgi-bin下的CGI程序->

<input type="hidden"name="mlmfile"value="vhisteq"><!-表示输入表单有一个隐藏的名为mlmfile的变量,现设其值为"vhisteq",表示执行计算的M文件是vhisteq.m->

另外,要解决图片的输出问题,输出的动态html文件中,要事先写好<img>标记:

<img border=0 src="icons/$GraphFileName$">'修改输出图片的路径

4.5 运行界面

在左边算法导航栏选择图像增强→直方图规定化→参数选择“左单山峰”→添加图像处理步骤→选择待处理图片,如图4所示。

点击“运行”,名为bone_can_GE.jpg的图像经过处理的前后对比效果图输出如图5所示。

图4 图像处理前操作界面

图5 图像处理运行结果

医学图像处理远程实验教学平台结合了Web应用程序和Matlab Web应用的优点,实现了教师在线发布实验题目、实时批改实验报告、发布实验成绩及反馈意见,学生不限时间、地点、自主选择实验项目进行虚拟实验,查看实验结果,查询实验成绩等功能,达到了学生自主学习、师生交互、资源共享、提高实验效率等。该实验平台在2007、2008级《医学图像处理》课程教学中起到了良好的辅助教学作用。广东药学院《医学图像处理》课程同时在中山和大学城两个校区开设,不同校区的学生在不受时间、地点及实验设备的限制下自主选择实验项目进行虚拟实验,收到了较好的实验效果。大部分学生反映,通过查看经典算法演示,使他们对这些算法有了更直观的了解,并有兴趣进一步自行编写M文件实现这些算法。但也有学生反映,算法演示只看到图像最后的处理结果,还不够清晰明了,要是能把一些重要步骤的结果分阶段显示就更好了;另外,如果在系统中能将学生的浏览信息保存在访问日志中,并有效地对这些日志进行定量分析,揭示出学生的兴趣路径等,也可以为教育者制定更有效的教学内容提供依据。这些都是该系统需要进一步完善的地方。

[1]何昭青,刘琳.基于建构主义的网络虚拟实验教学平台的设计与实现[J].计算技术与自动化,2008,27(3):107

[2]许丹.虚拟实验室平台相关技术的研究与实现[D].湖南:国防科学技术大学,2007:4-5

[3]Massimiliano de Magistris.A Matlab-based virtual laboratory for teaching introductory quasi-stationary electromagnetics[J].IEEE Transactions on Education,2005,48(1):81-88

[4]Chen M,Chen S H.Virtual and Remote Control Laboratory Development[J].IEEE Control Systems Magazine,2005,(2):35-39

[5]安平,王朔中.建立在Matlab平台上的数字图像处理教学实验系统[J].实验室研究与探索,2001,20(1):61-62

[6]李健,于清华,郑颖.基于Matlab的数字图像处理Web实验室平台的开发[J].实验技术与管理,2006,23(10):80-84

[7]全星慧,范武君,张华.基于MATLAB的数字图像处理课件设计[J].计算机与现代化,2008,155(7):71-73

[8]李春报,姚震.心脏听诊网络虚拟实验系统的设计与实现[J].中国医学教育技术,2008,22(6):562-563

[9]十年磨一剑.Matlab Web Server配置[EB/OL].http://blog.sina.com.cn/s/blog_4c1b0785010080h4.html.2007(12)

[10]AI俱乐部.基于Matlab web Server实现混合编程[EB/OL].http://www.2nsoft.cn/cms/view.php?tid=1844&cid=17&page=5.2009(10)

[11]Gonzalez R C,Woods R E,Eddins S L.Digital Image Processing Using MATLAB[M].北京:电子工业出版社,2009:387-392

[12]董长虹.Matlab接口技术与应用[M].北京:国防工业出版社,2004:101-106

[13]李书成,石良武,雷道仲.基于Matlab的B/S模式虚拟实践教学系统研究[J].计算机教育,2009,60(12):60-61

猜你喜欢

图像处理医学实验教学
本刊可直接使用的医学缩略语(二)
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
医学的进步
小议初中化学演示实验教学
电容器的实验教学
对初中化学实验教学的认识和体会
预防新型冠状病毒, 你必须知道的事
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用