光栅软硬件环境
软硬件环境 时间:2021-04-02 阅读:(
)
2010年第19卷第10期计算机系统应用ApplicationCase实用案例163一种多线程的光栅转动训练软件的设计与实现①张燕林1邱飞岳2陈宏3(1.
浙江工业大学信息学院浙江杭州310014;2.
浙江工业大学教育技术研究所浙江杭州310014;3.
浙江工业大学经贸管理学院浙江杭州310014)摘要:在弱视治疗方法中,光栅转动训练(又称CAM训练)已被验证是一种有效的治疗方法,能缩短儿童弱视治疗周期.
传统的CAM训练采用机械或电子式方法,存在转速可调范围小、空间频率只有固定几种、趣味性低等缺点,基于多媒体的CAM训练软件存在资源消耗大的问题.
由于数字化同视机采用嵌入式微型计算机,有存储空间有限、内存小等不足,针对这些不足与要求,采用多线程技术对内存使用进行调度,并通过加入有趣的高缩率JPEG格式图片提高其趣味性,运用程序控制解决转速调节和空间频率改变的问题.
经试用,该软件占用资源少,兼容性好,在有限的硬件环境下转动速度平滑,运行稳定,为治疗儿童弱视提供了重要的辅助工具.
关键词:光栅转动;训练软件;多线程;数字化同视机;弱视DesignandImplementationofAmblyopiaTreatmentSoftwarewithRotatingGratingBasedonMulti-ThreadedZHANGYan-Lin1,QIUFei-Yue2,CHENHong3(1.
CollegeofInformationEngineering,ZhejiangUniversityofTechnology,Hangzhou310014,China;2.
EducationalTechnologyInstitute,ZhejiangUniversityofTechnology,Hangzhou310014,China;3.
CollegeofBusinessAdministration,ZhejiangUniversityofTechnology,Hangzhou310014,China)Abstract:Inthetreatmentofamblyopiainchildren,gratingrotationtraining(alsoknownasCAMtraining)hasbeendemonstratedtobeaneffectivewayofshorteningtreatmenttime.
HoweverthetraditionalCAMtrainingbasedmechanicalwayislimitedintheadjustmentofrotatingspeedandspatialfrequency.
Ontheotherhand,multimediabasedCAMtrainingisneededforhardware.
Duetolimitedmemoryspuce,thereneedstobeanewwayofachievingthisfunctioninadigitalsynoptophore.
Inthispaper,thetechnologyofmulti-ThreadprogrammingisusedtosolvethisproblemundertheuseofVC++6.
0.
Itisprovethatthissoftwareusefewresources,haslowcost,hasgoodcompatibility,andasmoothraotatinggratinginadigitalsynoptophore.
Itprovidesaconvenientwayoftreatingchildrenwithamblyopia.
Keywords:grating;trainingsoftware;multi-threaded;digitalsynoptophore;amblyopia1引言弱视是一种由视觉系统发育障碍引起的且不能通过光学途径以及手术加以矫正的视觉缺损.
国外研究调查表明(L.
B.
Nelson,G.
K.
VonNoorden),1.
3%~3%的学龄前儿童[1]、2.
5%的一般人群患有弱视[2];中国的弱视发病率约为3%[3,4],有呈上升的态势.
从弱视①基金项目:浙江省自然科学基金(R2080100);浙江省科技计划(2008C23076)收稿时间:2010-02-26;收到修改稿时间:2010-03-31计算机系统应用2010年第19卷第10期164实用案例ApplicationCase的发病机制以及临床分析,越早发现越早治疗效果越好.
目前弱视治疗的传统方法是采用遮盖法,这种方法治疗周期长,在日常生活中需佩戴眼罩,影响美观,对儿童顺从性差.
早于1978由Compbell[5]提出利用不同空间频率下的光栅转动进行治疗,临床验证是一种比较有效的治疗方法,配合遮盖疗法可以较快地提高弱视儿童的视力,缩短治疗的周期.
这种传统的治疗方法是先制作不同空间频率的光栅板,然后利用电机带动光栅板转动,儿童使用不方便,趣味性低.
王丽萍等[6]在2005年利用JAVA实现了CAM训练功能,解决了上述几个缺陷,但要将这一功能移植到嵌入式数字化医疗设备——数字化同视机中,要求在数字化同视机上运行的软件占用CPU资源少且运行要稳定.
既要在医学原理上达到CAM训练的要求又要符合现有嵌入式设备的硬件条件,这对CAM训练在嵌入式系统中的应用提出了新的要求.
本文在VC++6.
0环境下,利用多线程技术,设计并实现了一种光栅转动弱视训练软件.
提出了一种在硬件资源有限条件下的光栅转动算法,该算法使光栅转动平滑,占用资源少,系统兼容性好,运行稳定,能方便地将其集成到数字化同视机中.
该训练软件对辅助治疗儿童弱视具有重要的作用.
2医学原理与相关技术2.
1CAM医学原理Compbell[5]等人的研究证明,脑皮层视细胞对不同空间频率的光有很好的刺激反应,神经元可对空间频率能作敏感的调整.
而由于视觉朝向柱的存在,旋转的光栅可以在各个方向上均匀地对视网膜节细胞形成刺激.
经过临床验证,CAM训练是一种比较有效的治疗方法,配合遮盖疗法可以较快地提高弱视儿童的视力,达到治疗弱视的目的.
2.
2多线程技术在本软件中,为合理分配有限的内存资源,特引入多线程技术,开辟两个独立线程完成程序运行.
其中光栅转动、图像显示与按键响应是独立的运行区间.
因此,主线程响应小图像定时显示、用户按键、设定参数等操作,另一个线程响应不同空间频率下面光栅的匀速转动显示操作.
使用多线程技术具有如下优点[7]:①提高程序响应速度,这对本程序中光栅转动图形界面的程序运行尤其重要.
程序运行过程中,光栅一直转动,将使整个程序等待这个操作,此时程序不会响应其他的操作.
而使用多线程技术,将耗时长的操作置于一个新的线程,可以解决此问题.
②使多CPU系统的效率更高.
操作系统可以保证当线程的数目小于CPU数目时,不同的线程运行于不同的CPU上.
使用多线程技术能够更加合理的利用内存资源.
③改善程序的结构.
将一个长的进程划分成为几个独立或半独立的运行部分,这样的程序便于理解,也方便优化.
3方案设计3.
1软硬件环境本系统软件以VC6.
0为开发工具,通过MFC设计用户界面,后台数据库采用SQLServer2000DesktopEngine(MSDE2000),软件在VISTION数字化同视机(见图6)上运行,软件运行平台为WindowsXPE裁剪系统.
本软件的硬件环境受限于VISTION数字化同视机的硬件环境.
它采用MINI-945主板,存储硬盘为1G的DOM电子硬盘,内存512M.
显示部分主显示器为普通17寸液晶显示器用于显示用户管理界面,两镜筒采用3.
5英寸微型显视器,分辨率800*600,颜色32位色,用于显示患者看到的刺激图像.
数字化同视机由于自身条件所限,硬件配置明显低于普通计算机,占用内存资源大的程序在此平台上运行时会产生反应迟缓、甚至崩溃等问题,严重影响其运行稳定性和功能.
3.
2功能设计本软件主要实现CAM训练功能,可具体分为CAM训练模块设计和数据管理两部分,功能结构图如图1.
图1功能结构图2010年第19卷第10期计算机系统应用ApplicationCase实用案例1653.
2.
1CAM训练功能CAM训练功能是软件主体部分,其刺激背景为一个具有固定空间频率的光栅圆盘.
程序运行时,圆盘以相应的速度匀速转动.
圆盘的上方为吸引儿童注意力的目标.
其目的是吸引弱视儿童患者注视圆盘,完成相关精细操作任务.
根据训练的任务不同可细分为:画片辨别任务、字母识别任务、精细连线任务等模块.
①画片辨别任务:训练开始,圆盘中央前500ms显示一幅大图像,接着显示4幅小图片.
患者辨别4个小图片中哪个与大图片为同类(如同为水果、文具等).
显示过程中光栅匀速转动.
小图片显示直至患者作出判断并按下相应图片所对应的按键为止.
②字母识别任务:训练开始,圆盘四周显示四个卡通字母.
患者根据出现的卡通字母判断字母的顺序,并按下对应的按键.
③精细连线任务:训练开始,圆盘中出现一幅由点绘制成的简单卡通图.
患者通过按键将卡通图连接完成.
3.
2.
2数据管理功能数据管理包括对用户个人信息进行查询、修改以及对用户训练时间等数据进行记录和保存.
3.
3光栅转动算法生成一定空间频率下的光栅,需确定一定空间频率下黑白条纹的宽度.
光栅的空间频率为f(单位为c/d,周/度,对应单位视角下含有黑白条纹数),于是:nfθ=(1)ldnlD22tan*==θ(2)其中,θ为在注视距离为lm时的视角,D为圆盘的直径,n为圆盘中黑白条纹的重复周期,d为条纹宽度.
具体如图二所示,根据(1)式空间频率为f时条纹间隔为:2tan2nfnld=(3)图2注视状态示意图在VC中,光栅圆盘转动的实现可分三步:(1)根据空间频率绘出光栅;(2)利用圆形矩阵进行滤波;(3)图形转动.
生成刺激图过程如图3所示.
图3生成的刺激图过程示意图第三步实现刺激图的转动.
可使黑色圆盘是保持不动,白色矩形长条以匀速的速率进行转动,实现光栅转动的效果.
假设白色长条的四个顶点分别为pts[0]、pts[1]、pts[2]、pts[3],四个顶点的坐标可以表示为:x,y为点的横轴和纵轴坐标,r为光栅的半径,l为白色长条的宽度,A为当前位置与纵轴夹角,(x1,y1)和(x2,y2)分别是白色长条矩形与纵轴重合时所对应的在显示屏中的左上角和右下角坐标,是白色长条的转动角度变量,以点pts[0]为例,如图4所示.
图4条形框转动示意图计算机系统应用2010年第19卷第10期166实用案例ApplicationCase转动角度变量以后,四顶点的新坐标为:我们在以上算法基础上使用双缓冲技术并创建了一个独立的线程来实现这一部分功能,最终实现光栅的无闪烁平滑匀速转动.
如图5所示,左侧为主线程任务,右侧为另一个线程,两线程独立运行.
图5程序流程图4软件实现在VisualC++中的使用CwinThread类来创建线程[8].
线程启动代码:voidCCAMView::OnThread(){AfxBeginThread(RUNTIME_CLASS(MyThread));}利用回调函数实现光栅的转动实现代码:UINTAFX_CDECLCallbackThread(LPVOIDpParam){CCAM*pCAM=NULL;pCAM=(CCAM*)pParam;ASSERT(pCAM);while(WaitForSingleObject(pCAM->m_hEventThrdQuit,0)!
=WAIT_OBJECT_0){//在此加光栅转动算法实现代码.
……pCAM->pThread->SuspendThread();//挂起}程序运行平台为数字化同视机,如图6部件1为镜筒和左右两个微型显示器相连,部件3为连接主显示器.
图6VISTION数字化同视机1镜筒2患者操作小键盘317寸主显示器程序运行时的效果如图7和图8所示,图7中界面在主显示器中显示(图6部件3).
CAM训练为单眼训练,故选择左眼训练时,右眼黑屏(对应部件1中的右镜筒,显示效果如图8右).
图7主显示器界面图8左、右镜筒中微显示器显示刺激图5结论本文利用多线程技术在数字化同视机上实现了一2010年第19卷第10期计算机系统应用ApplicationCase实用案例167种光栅转动训练软件.
程序使用方便,光栅训练转动速度平稳,边缘平滑,趣味性强,占用资源少,兼容性好,在数字化同视机上运行稳定.
它可以有效辅助治疗儿童弱视,加快弱视儿童视力的提高,为治疗儿童弱视提供了重要的辅助工具,对于现阶段治疗儿童弱视具有重要的意义.
参考文献1NelsonLB.
Amblyopia:DiagnosisandTreatment.
JournalofOphthalmicNursingandTechnology,1983,2(4):157-158.
2VonNoordenGK.
BinocularVisionandOcularMotility.
St.
Louis,Mosby,1996:246.
(上接第125页)ReferenceModel(TC00-1003).
1995.
2范玉顺.
工作流管理技术基础.
北京:清华大学出版社,2002.
211-220.
3董福壮,罗伟其.
基于CORBA的分布式工作流管理系统的设计.
计算机工程,2005,31(14):107-110.
4褚红伟,葛玮.
基于WebServices的分布式工作流的研究与实现.
计算机应用研究,2005,8(15):49-52.
5王勇.
一种基于服务的跨组织工作流管理系统的研究与实现.
计算机工程与应用,2004,29(28):90-93.
3朱莉.
儿童弱视调查分析.
眼科研究,2008,4(26):312.
4陆莉.
10004名学龄前儿童弱视调查.
浙江预防医学,2007,12(19):50-53.
5CampbellFW,etal.
Preliminary-resultsofAPhysiologicallyBasedTreatmentofAmblyopia.
BritishJournalofOphthalmology,1978,62:748-755.
6王丽萍.
基于多媒体的弱视治疗系统研制.
浙江大学学报(工学版),2005,39(7):967-970.
7DavidSW,KruglinskiJ.
ProgrammingVisualC++6.
0技术内幕(第五版).
北京:北京希望电子出版社,2001.
253-260.
8孙鑫,于安萍.
VC++深入详解.
北京:电子工业出版社,2007:562-574.
6辛鹏,王少锋.
可自管理的分布式工作流引擎的设计与实现.
计算机集成制造系统,2005,11(11):1544-1550.
7GammaE,HelmR,JohnsonR,VlissidesJ.
设计模式-可复用面向对象软件的基础.
北京:机械工业出版社,2009.
8李政伟,夏士熊.
CORBA与web服务在动态电子商务中的集成.
计算机工程与设计,2007,28(21):5228-5233.
virmach这是第二波出这种一次性周期的VPS了,只需要缴费1一次即可,用完即抛,也不允许你在后面续费。本次促销的是美国西海岸的圣何塞和美国东海岸的水牛城,周期为6个月,过后VPS会被自动且是强制性取消。需要临时玩玩的,又不想多花钱的用户,可以考虑下!官方网站:https://www.virmach.comTemporary Length Service Specials圣何塞VPS-一次性6个...
legionbox怎么样?legionbox是一家来自于澳大利亚的主机销售商,成立时间在2014年,属于比较老牌商家。主要提供VPS和独立服务器产品,数据中心包括美国洛杉矶、瑞士、德国和俄罗斯。其中VPS采用KVM和Xen架构虚拟技术,硬盘分机械硬盘和固态硬盘,系统支持Windows。当前商家有几款大硬盘的独立服务器,可选美国、德国和瑞士机房,有兴趣的可以看一下,付款方式有PAYPAL、BTC等。...
这不端午节和大家一样回家休息几天,也没有照顾网站的更新。今天又出去忙一天没有时间更新,这里简单搜集看看是不是有一些商家促销活动,因为我看到电商平台各种推送活动今天又开始一波,所以说现在的各种促销让人真的很累。比如在前面我们也有看到PacificRack 商家发布过年中活动,这不在端午节(昨天)又发布一款闪购活动,有些朋友姑且较多是端午节活动,刚才有看到活动还在的,如果有需要的朋友可以看看。第一、端...
软硬件环境为你推荐
杨紫别祝我生日快乐祝我生日快乐的歌词地图应用手机地图软件那么多,都不知道用哪个好了?kaixin.com开心网。www.kaixin.com是什么时间出来的。access数据库Access数据库对象的操作包括哪五种?lunwenjiancewritecheck论文检测准吗?冯媛甑冯媛甄详细资料同ip域名不同的几个ip怎样和同一个域名对应上同一ip网站最近我们网站老是出现同一个IP无数次的进我们网站,而且是在同一时刻,是不是被人刷了?为什么呀?长尾关键词挖掘工具怎么挖掘长尾关键词,可以批量操作的那种www.228gg.comwww.a8tb.com这个网站该如何改善
linuxvps 中国域名网 hawkhost 国外bt 免费博客空间 大容量存储 最好看的qq空间 网通ip 本网站服务器在美国 美国十次啦服务器 asp免费空间申请 免费dns解析 电信托管 免费私人服务器 服务器是干什么用的 双线asp空间 东莞主机托管 阿里云手机官网 空间服务器 攻击服务器 更多