(计算机应用技术专业论文)多层螺旋调强放疗装置控制系统的研制.pdf_第1页
(计算机应用技术专业论文)多层螺旋调强放疗装置控制系统的研制.pdf_第2页
(计算机应用技术专业论文)多层螺旋调强放疗装置控制系统的研制.pdf_第3页
(计算机应用技术专业论文)多层螺旋调强放疗装置控制系统的研制.pdf_第4页
(计算机应用技术专业论文)多层螺旋调强放疗装置控制系统的研制.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)多层螺旋调强放疗装置控制系统的研制.pdf.pdf 免费下载

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

文档简介

西南交遁大学焉士研究生拳位论文蔓! 蔓 摘要 乏星堡筮翊强放痘装黑是一种用于治疗肿瘤的越射性医痘遮釜,运用了 多断层非共面螺旋技术,( 是中国医疗器械工业界的一大创举,代表了世界放 射医疗发展的方向。该装置是在肿瘤放射治疗领域自从1 9 5 0 年发展c 0 6 0 放 疗以来最有意义的进步之一。夕彳 该医疗设备控制系统的研究开发,在吸收和借鉴国内外研究成果的基础 上,充分采用多种成熟的软、硬件技术,结合软件工程思想的指导,完成对 整个装置的定位及治疗过程的控制。 底层控制子系统采用l o n w o r k s 现场总线技术,具有结构简单,可靠性高, 很好的系统集成性,便于安装与维护等特点,能满足治疗设备的控制和安全 要求。顶层控制子系统是一个基于w i n d o w s 的应用程序,该程序用执行效率 高的面向对象编程语言v i s u a lc + + 编写,提供了友好的界面和完备的功能, 能满足操作者对整个装置和医疗过程的监控要求。底层控制子系统和顶层控 制子系统以动态链接库为纽带,通过初始化、数据下传、数据上传三个过程 来完成数据交换,实现控制功能。 整个控制系统可实现文件操作、治疗文件编辑、调试、参数设置、故障 处理、帮助等功能。还可通过友好的人机界面,完成动态图形显示、动态数 字显示、治疗状态指示灯显示、主界砸动态转换等功能。 在软件的开发过程中,遵循软件工程设计思想,按照工程的方法进行软 件设计。( 对软件功能进行模块化功能细分,尽量做到各模块之间功能相互独 立,模块接口尽量简单。并且在编码过程中,对一些可重复利用的代码进行 封装,封装成一些基本函数,从而使程序结构简洁易读,修改灵活方便。并 应用面向对象编程方法,来改善程序的复用性,减少软件维护的复杂性和开 销。) f 从 发过程中,作者参于了系统的分析与设计,主要 关诩:控制系统:l o n w o r k 现场总线:动态链接库 西南交通大学硕士研究生学位论文第1 i 页 a b s t r a c t t h ei n t e n s i t ym o d u l a t e ds p i r a l - m u l t i - t o m o t h e r a p ye q u i p m e n ti s ak i n do f r a d i o a c :t i v em e d i c a lt r e a t m e n td e v i c e ,w h i c hi su s e dt ot r e a tt h ek n u ba n de x e r t s t h em u l t i f a u l t a g ea n dn o n c o p l a n a r i t yt e c h n o l o g y i ti sag r e a tp i o n e e r i n gw o r ko f c h i n e s ei n d u s t r yf i e l d so fm e d i c a lt r e a t m e n td e v i c e sa n dr e p r e s e n t st h ed i r e c t i o n o fw o r l d sr a d i c a t i v em e d i c a lt r e a t m e n t t h i sd e v i c eh a sb e e no n eo ft h eg r e a t e s t p r o g r e s s e s i nk n u b r a d i o a c t i v i t y f i e l d ss i n c e d e v e l o p i n g c 0 6 0r a d i o a c t i v i t y t r e a t m e n ti n1 9 5 0 t h ee x p l o i t a t i o no ft h i sd e v i c e sc o n t r o ls y s t e mi so nt h eb a s eo ft h ei n t e m a l a n de x t e r n a l e x p e r i e n c e s a n da c h i e v e m e n t s i t a d o p t sm a n yk i n d s o fm a t u r e t e c h n i q u e so fs o f t w a r ea n dh a r d w a r e ,c o m b i n gt h es o f t w a r e e n g i n e e r i n gr u l e i t h a sa c c o m p l i s h e dt h ec o n t r o lo ft h eo r i e n t a t i o no fa l lt h ed e v i c e sa n dt r e a t m e n t c o u r s e t h eb o t t o mc o n t r o ls u b s y s t e ma d o p t st h et e c h n o l o g yo fl o n w o r k sf i e l d b u s , w h i c hh a st h ec h a r a c t e r so ft h es i m p l ys t r u c t u r e ,h i g hr e l i a b i l i t y , g o o ds y s t e m i n t e g r a t i o na n db e i n ge a s yt of i t t i n ga n dm a i n t e n a n c e ,s oi ti sa b l et ob ec o n t e n tt o t h ed e m a n d so ft h et r e a t m e n td e v i c e sc o n t r o la n d s a f e t y t h et o p c o n t r o l s u b s y s t e m i sa n a p p l i c a t i o np r o g r a mb a s i n go n t h ew i n d o w s o p e r a t i n gs y s t e m 、h i sw r i t t e nb yt h ev i s u a lc + + l a n g u a g ew h i c hi se f f i c i e n ta n dak i n do fo o p l a n g u a g e t h ea p p l i c a t i o np r o g r a mp r o v i d e su saf r i e n d l yi n t e r f a c ea n dr i c hf u n c t i o n s , w h i c hi sa b l et oc o n t e n tt h ed e m a n d so ft h ec o n t r 0 1 t h eb o t t o mc o n t r o ls u b s y s t e m i sc o n n e c t e dt ot h e t o pc o n t r o ls u b s y s t e mb yt h ed y n a m i cl i n kl i b r a r y t h e y c o m p l e t et h ec o n t r o lf u n c t i o n sb yt h r e ep r o c e s s e sw h i c ha r et h ei n i t i a l i z a t i o na n d d o w n s e n d i n ga n du ps e n d i n go f d a t a t h ee n t i r ec o n t r o ls y s t e mc a na c h i e v em a n yf u n c t i o n sw h i c ha r et h eo p e r a t i n g o f t h ef i l e s ,t h ec o m p i l i n go f t h e t r e a t i n gf i l e s ,d e b u g g i n g ,s e t t i n go f t h ep a r a m e t e r s d i s p o s i n go f t r o u b l ea n dh e l p i n g a n ds oo n i ta l s oc a nc o m p l e t et h ef u n c t i o n so f t h ed y n a m i c d i s p l a y i n go f t h eg r a p h sa n dt h ef i g u r e sa n dt h ei n d i c a t o rl i g h t so ft h e t r e a t m e n ts t a t e s f o l l o w i n gt h es o f t w a r e e n g i n e e r i n gr u l et od e v e l o pt h ep r o j e c t ,w ed i v i d e d t h et a s ki n t om a n y s i m p l ea n di n d e p e n d e n tf u n c t i o nu n i t s t h ei n t e r f a c eo f a l lt h e 西膏交迸大学焉士研究生学位论文簟i il 页 u n i t si sa sb e t t e ra ss i m p l ea n di n d e p e n d e n t d u r i n gt h ec o g r s eo fc o d i n g ,w e e n c a p s u l a t et h ec o d e si n t os o m ef u n c t i o n sw h i c h c 8 nb eu s e dr e p e a f l y , s ow ec a n r e d u c et h ec o m p l e x i t ya n dt h es p e n d i n go f t h em a i n t e n a n c eo f o u rs o f t w a r e i nt h ec o u r c eo ft h ee x p l o i t u t i o no ft h ee n t i r ec o n t r o ls y s t e m ,ij o i n e dt h e a n a l y s ea n dd e s i g no f t h es y s t e m ,b u tw a s m o s t l ye n g a g e d i nt h ee x p l o i t u r eo ft h e s o f t w a r e p a r t k e yw o r d = :c o n t r o ls y s t e m ;l o n w o r k sf i e l d b u s ;d y n a m i cl i n kl i b r a r y ; 西南交通大学硕士研究生学位论文第1 页 第1 章概述 多层螺旋调强放疗装置是一种用于治疗肿瘤的放射性医疗设备。通过治 疗床把患者送入装有放射源的旋转体中,经过治疗床x 、y 、z 三个方向的 定位,打开旋转体中的放射源,对患者进行放射性治疗。该装置集中体现了 近几年放射肿瘤治疗技术的发展,对肿瘤防治事业有巨大和深远的影响。 该装置控制系统的主要目标是完成对整个装置的定位及治疗过程的控 制。控制系统采用l o n w o r k s 现场总线技术,结构简单、可靠性高,能满足治 疗设备的控制和安全要求。 1 1 多层螺旋调强放疗装置简介 多层螺旋调强放疗装置是运用首创的多断层非共面螺旋技术研制成功的 一种新型放疗装置,是中国医疗器械工业界的一大创举,代表了世界放射医 械发展的方向,标志着我国大型精密医疗设备的独立研发和生产制造能力达 到一个更高的水平。多层螺旋调强放疗装置是在肿瘤放射治疗领域自从1 9 5 0 年发展c 0 6 0 放疗以来最有意义的进步之一。 多层螺旋调强放疗装置的研发得到了我国资深核物理科学家、科学院士 李整武教授及著名物理学家黄锦华教授、理论核物理学家罗正有教授的高度 评价和指导。它集中体现了近几年世界放射肿瘤治疗技术发展的最新概念与 最新思想,并创建了多断层非共面螺旋调强放射治疗的全新理论。 1 2 多层曩旋调强放疗装置的主要特点 1 多层螺旋调强放疗装置集x 刀、头颈部伽码刀、全身伽码刀、远距离 治疗机、数控摸拟一位机、兆伏级剂量监测系统、高能断层验证装置、三维 全数字自动床等设备功能于一身,开创了多层螺旋调强技术在世界肿瘤放射 治疗设备中应用的先河,将对世界肿瘤防治事业产生巨大和深远的影响。 2 多层螺旋调强放疗装置将方案设计、模拟定位、摆位重建、调强放疗、 剂量监控、处方修改等合为一体。使患者无需移动,一次完成治疗全过程, 既提高了疗效,又为患者节约了治疗的时间和费用,同时免去了常规手术后 较长的康复期。 3 多层螺旋调强放疗装置将螺旋断层调强放疗技术与立体显微聚焦技术 西南交通大学硕士研究生学位论文第2 页 有机地结合为一体,使非侵入性手术治疗的监定应用范围,从传统的恶性肿 瘤疾病扩大到神经学领域的颅脑病变。其良好的经济和社会效益将会大大提 高医院在社会中的地位。 4 多层螺旋调强放疗装置通过其独特的多断层螺旋结构,使病灶区的有 效剂量更高、分布更合理,非病灶区损伤更小、治疗边界更锐利,使既不是 广泛扩散、又不是很好界定的肿瘤完全适形,为过去不可救治的疾病和患者, 提供了康复和生存的可能。 5 多层螺旋调强放疗装置与不断变化的临床需要同步,提供了一系列完 备的准直器和数控钨铅合金准直器系统及可控放射源机构,从而为临床医务 和科技工作者提供了一个开展临床和亚临床、开野和聚野综合治疗的二次开 发平台。它将推进我国放射肿瘤、放射生物、神经外科学领域的临床水平。 6 多层螺旋调强放疗装置将医学影像和放射治疗有机地结合起来。在实 现适殂调强放疗的同时实现投射成像,提供了在治疗时对病菌治疗部位的x 射线影像监督手段,并且完成逆向计划、照射和验证。 7 多层螺旋调强放疗装置提供了在治疗时对病人治疗剂量的动态跟踪监 测及兆伏级断层的硬件装置,该探测器对光子直接计数,具有探测效率高、 精密度高、全数字成像、电子化图像处理等先进特点,它将为进行放疗的生 物学研究、改进和修补放疗处方提供机会,也将为传统放疗方法及临床应用 带来更深层影响。 8 多层螺旋调强放疗装置主机架及多个非共面钴6 0 放射源储存铅罐的 设计,均采用大型计算机进行三维结构动平衡计算而确定的,将整个重达十 几吨的治疗主机作为一个围绕患者3 6 0 度自如旋转的电动芯体,其螺旋扫描 速度高达5 秒层,而且运转十分平稳。 9 多层螺旋调强放疗装置治疗主机是高精度全数控特大型加工中心整体 一次性加工而成。该设备的等中, 6 , n i 精度高达0 1 m m ,其制造的高精密性 为开展从神经显微外科到全身性肿瘤疾病放射治疗和研究提供了可靠的保 证。 1 0 多层螺旋调强放疗装置选用能量适中、技术成熟、维护容易的钴6 0 作为放射源,其超强装源强度增加了使用的期限和剂量强度,一次换源使用 期高达2 0 年以上,非常适合我国及发展中国家推广应用。 西南交通大学硕士研究生学位论文第3 页 1 3 多层螺旋调强放疗装置的主要用途 多层螺旋调强放疗装置以最小的损伤、不开刀、不流血、无痛苦为患者 解除疾患。为临床非侵入治疗提供了一个真正价廉物美的放疗工具。它是一 种融立体定向技术和放射外科技术于一体,以治疗全身恶性肿瘤为主,兼备 治疗颅脑疾病的立体定向放射外科治疗的大型综合医疗设备。 一 要查壅堕查堂塑主受塞竺堂堡丝塞 篁! 夏 第2 章控制系统的总体设计 2 1 控制系统的设计目标 由于医疗设备有可靠性要求高、操作人员设备使用素质低、医院维修人 员对设备不熟悉、故障恢复要求时间短、设备故障不允许引发医疗事故等特 点,控制系统必须达到以下设计目标: 1 高度的可靠性 控制系统中的上位工控机、下位的电机控制器、以及上下位机的通讯部 件,均需选用经过各种环境下大量应用验证稳定可靠的产品,通讯方式及部 件的选择尤其重要。由于设备长期使用过程中大量的故障是由接触不良引发 的,所以系统中应尽量减少按钮、开关、插接件、继电器等接触器件的使用, 必须使用接触器件时,须选用优质产品。 2 系统环境适应能力强 由于各医院治疗室环境有差异,院方人员对设备的养护程度不同,因此 要求控制系统对安装环境的温度、湿度、灰尘、电源波动、电磁干扰等具有 很强的适应能力。 3 系统容错能力强 对操作人员的误操作、越界参数设置等,系统须具有完备的甄别能力, 并且能够给出相应的提示。 4 提示信息丰富 在系统的各个工作状态下,工控机显示器和治疗室内的电机状态指示器 应能通过图形、数值、指示灯等方式显示出系统的全部工作状态。 5 操作简便 系统操作必须简便、操作提示明确,尽可能减少出现误操作的可能性。 6 系统扩展性能好 控制系统硬件及软件须模块化,预留足够数量的输入输出接口,便于设 备功能升级。 7 便于安装、调试、维修 控制系统所选用的零部件必须在市场上容易购买,并有十年以上的产品 生命期,易损器件必须便于更换,并且能够找到代换器件。 西南交通大学硕士研究生学位论文 第5 页 2 2 控制系统分布圈 整个控制系统的位置分布如图2 - 1 所示: 图2 - 1控制系统分布图 通讯电缆通过穿线地沟连接控制台与治疗室内的治疗床和回转体。回转 体内置a 、b 、c 、d 、e 、f 六个放射源铅罐及x 线球管和x 线影象增强器。 2 3 控制对象的运动及控制要求 ( 1 ) 治疗床 1 治疗床升降运动 治疗床升降由电机经减速比为4 的减速器驱动螺距为5 m m 的丝杆控制, 升降运动行程为+ _ 2 5 0 m r n ,速度为2 0 m m s ,要求电机的转速为9 6 6 r p m ,输 出力矩 6 5 n m ,并设置上下两个位置检测开关。 2 治疗床左右平动 治疗床左右平动由电机直接驱动螺距为5 m m 的丝杆控制,左右平动行程 1 5 0 m m ,速度为3 0 m m s ,要求电机的转速为3 6 0 r p m ,输出力矩 3 5 n m , 并设置上下两个位置检测开关。 3 治疗床前后平动 治疗床前后平动由电机直接驱动螺距为5 m m 的丝杆控制,前后平动行程 2 4 0 0 m m ,速度为6 0 m m s ,要求电机的转速为7 2 0 r p m 。输出力矩 4 8 n m 并设置上下两个位置检测开关。 西南交通大学硕士研究生学位论文 第8 页 治疗床的三个运动方向都要设置电磁铁制动,系统开电时电磁铁吸合 治疗床的运动由电机控制。 ( 2 ) 回转体 回转体自身有主回转运动,同时回转体内的六个放射源铅罐上分别有放 射源气动控制和准直器水平、垂直方向的运动。每个放射源铅罐内置光野指 示灯。 1 回转体的主回转运动 回转体的主回转由电机经减速比为2 5 5 的减速器驱动,主回转运动为 o - 3 6 0 度、3 6 0 o 度往复回转方式或单向旋转方式,最大转速为2 r p m ,要求电 机的最大转速为5 1 0 r p m ,输出力矩 2 0 n m ,并设置0 度和3 6 0 度两个位置检 测开关。 2 铅罐准直器水平和垂赢方向运动 铅罐准直器水平和垂直方向运动为相同的控制方式。电机经减速比为2 的减速器驱动螺距为2 m m 的丝杆控制准直器的运动,运动行程8 5 m m ,速度 为5 m m s ,要求电机的转速为3 0 0 r p m ,输出力矩 6 5 n m ,并设置两个位置 检测丌关。 3 放射源平动 放射源在治疗位置和铅罐中心位置间的平动为气动控制,气缸行程为 2 7 0 m m ,气缸由一个电磁阀控制,并设置罐中心和治疗位两个位置检测开关。 f 3 ) x 线准直器 x 线准直器内置光野指示灯。 1 x 线准直器水平和垂直方向运动 x 线准直器水平和垂直方向运动为相同的控制方式。电机经减速比为2 的减速器驱动螺距为2 m m 的丝杆控制准直器的运动,运动行程8 5 m m ,速度 为5 m m s ,要求电机的转速为3 0 0 r p m ,输出力矩 2 5 n m ,并设置两个位置 检测开关。 2 x 线野井条水平和垂直方向运动 x 线野井条水平和垂直方向运动为相同的控制方式。电机经减速比为2 的减速器驱动螺距为2 m m 的丝杆控制准直器的运动,运动行程8 5 m m ,速度 为5 m m s ,要求电机的转速为3 0 0 r p m ,输出力矩 1 0 n m ,并设置两个位置 检测开关。 堕塑壅塑查兰塑主塑塞生堂垡迨塞 篁! 夏 _ - _ 。_ 。_ _ _ _ _ _ _ _ _ _ _ 。_ _ _ _ _ _ _ _ 。_ _ _ 。_ _ - - - 。_ _ - 。_ 。_ 。1 。1 以上运动控制要求如下: 1 电机控制运动 电机控制运动共2 0 个,可能处于同时运动状态,但相互之间没有连锁关 系。因此上位工控机对电机的控制可以采用命令轮询方式,轮询时间片 e l l i p s e ( i n t ( a - r ) ,i n t ( b - r ) ,i n t ( a + r ) ,i m ( b + r ) ) ;p 画圆盘+ c b r u s hm y g r e e n b r u s h ; p 创建画刷+ c b r u s hm y r e d b r u s h ; m y g r e e n b m s h c r e a t e s o l i d b m s h ( r o b ( 0 ,2 5 5 ,0 ) ) ; m y r e d b r u s h c r e a t e s o l i d b m s h ( r o b ( 2 5 5 ,0 ,o ) ) ; c b m s h + p o r i g i n a l b r u s h ; p o r i g i n a l b r u s h = p d c - s e l e c t o b j e c t ( & m y g r e e n b r u s h ) ; f o r ( i n ti = l ;i s e l e e t o b j e c t ( & m y r e d b r u s h ) ; e l s e p d c - s e l e c t o b j e c t ( & m y g r e e n b r u s h ) ; 选择画刷+ p d c - e l l i p s e ( i n t ( a + r + c o s ( 2 + 3 1 4 1 5 9 + a n g 3 6 0 ) - r a d ) ,i n t ( b - r s i n ( 2 + 3 1 4 1 5 9 + a n g 3 6 0 ) 一r a d ) ,i n t ( a + r + c o s ( 2 + 3 1 4 1 5 9 + a n g 3 6 0 ) + r a d ) i n t f b r + s i n ( 2 + 3 1 4 1 5 9 + a n g 3 6 0 ) + r a d ) ) ; a n g + = 6 0 ;r a d - = l ; ) p d c 一 s e l e c t o b j e c t ( p o r i g i n a l p e n ) ; 选择最初的蕊笔l , 西南交通大学硕士研究生学位论文第墨! 翼 p d c s e l e c t o b j e c t ( p o r i g i n a l b r u s h ) ; 选择最初的画刷+ 在y 刀准直器图形的动态实现过程中,主要用到绘图方法中的画圆函数 e l l i p s e ( ) 。通过i n v a l i d a t e r e c t ( ) 函数作废原图形区,并通过i n v a l i d a t e r e c t ( ) 调用o n d r a w ( ) 函数,o n d r a w ( ) 调用e i l l i p s e ( ) 来绘制图形,从而达到用绘图 法实现图形动态显示的目的。 4 2 治疗床动态圈形的实现 w i n d o w s 位图是存放内存或文件中图形表示方法的数据结构,位图存放 特定设备( 如监视器或打印机) 上生成图形所需的每个象素的颜色,生成的位图 可以在屏幕上或打印机之类的设备上显示图形。 本软件中治疗床的动态图形显示通过位图的方法实现。虽然治疗床图形 较为规则,用绘图的方法也可以实现,但用绘图函数来画治疗床比用绘图工 具( 如w i n d o w s 自带的画图板) 来画治疗床复杂得多。而且治疗床的运动主要 是x 、y 、z 三个方向上的平移运动,非常适合采用位图方法。 在采用位图方法中,主要应用b i t b l t ( ) 函数。b i t b l t ( ) 函数结合s r c c o p y 光栅操作代码可以很方便的将图形数据块从一个位置复制到另一位置,从而 实现图形的平移运动。b i t b l t ( ) 函数经常用于游戏或应用程序中实现图形平移 运动的动画效果。 用位图来实现图形动态移动时,必须生成两个源位图:蒙板位图和图形 位图。在蒙板位图中,图形为黑色,背景为白色,而在图形位图中,图形为 正常色,背景为黑色。蒙板位图的作用主要是用自己的白色背景中和图形位 图中实际图形外的黑色背景,从而产生实际图形移动而不是位图图片移动的 动画效果。 结合b i t b i t ( ) 和s r c c o p y 来编写自己的位图显示函数d i s p l a y b i t m a p ( ) , 此函数用于在屏幕指定位置把位图显示出来。 位图显示函数d i s p l a y b i t m a p ( ) 原形如下: v o i dd i s p l a y b i t m a p ( c d c + p d c ,c b i t m a p + p b i t m a p l , c b i t m a p + p b i t m a p 2 ,i n tx ,i n t ”; 其中p d c 为指向设备描述表的指针,p b i t m a p l 为指向图形位图的指针, p b i t m a p 2 为指向蒙板位图的指针,x 和y 表示位图的定位坐标,即位图左上 角的客户坐标。 函数d i s p l a y b i t m a p ( ) 的实现如下: 西南交通大学硕士研究生学位论文第筋页 v o i d d i s p l a y b i t m a p ( c d c p d c ,c b i t m a p p b i t r n a p l , c b i t m a p + p b i t m a p 2 ,i n tx ,i n ty ) b i t m a pb m l :产创建位圈对象+ b i t m a pb m 2 ;产创建位图对象+ c d c m e m d c ;p 创建内存设备描述表+ m e m d c c r e a t e c o m p a t i b l e d c ( n u l l ) ; + 用来装位图+ m e m d c s e l e c t o b j e c t ( p b i t m a p 2 ) ; + 选择蒙板位图+ p b i t m a p 2 一 g c t o b j e c t ( s i z e o f ( b m 2 ) ,& b m 2 ) ;产获得蒙板位图参数 p d c b i t b l t ( x ,y ,b m 2 b m w i d t h ,b m 2 b m h e i g h t ,& m e m d c , 0 ,0 ,s r c a n d ) ;产绘制蒙板位图到指定位置- m e m d c s e l e c t o b j e c t ( p b i t m a p l ) ; ,+ 选择图形位图+ p b i t m a p l 一 g e t o b j e c t ( s i z e o f ( b m l ) ,b m l ) ; 获得图形位图参数+ p d c 一 b i t b l t ( x ,y b m l b m w i d t h ,b m l b m h e i g h t ,& m e m d c , 0 , 0 ,s r c i n v e r t ) ; p 绘制图形位图到指定位置+ 有了位图显示函数,我们就可以实现治疗床运动的动态显示。 首先,调用w i n d o w s 自带的画图板画出图形位图( 即治疗床) 和蒙板位图。 在画图板菜单项图象属性对话框中设置位图的宽度和高度,单位为象素。画 完图后,存为两个b m p 文件。 其次,把位图装入v c + + 资源中。打开应用程序工作区,从i n s e r t r e s o u r c e 对话框中的b i t m a p 和i m p o r t 项,把位图加入资源,再在d r a w v i e w h 文件中 加入两个位图对象。 c b i t m a pm _ b i t m a p l ; c b i t m a pm _ b i t m a p 2 ; 在d r a w v i e w c p p 中的构造函数或o n l n i t i a l u p d a t e ( ) 中装入位图。 m _ b i t m a p l l o a d b i t m a p ( i d b _ b i t m a p l ) ; m b i t m a p 2 l o a d b i t m a p ( i d b _ b i t m a p 2 ) ; 然后,在o n d r a w ( ) 函数中显示位图。 v o i dc d r a w v i e w :o n d r a w ( c d c + p d c ) d i s p l a yb i t m a p ( p d c ,mb i t m a p l ,b i t m a p 2 ,n 1 _ p o s x ,m _ p o s y ) ; ) 西南交通大掌预士研究生学位论文照2 6 页 mp o s x mp o s y 为c d r a w v i e w 类的成员变量,用来放显示位图的坐标。 最后,动态显示位图。在消息函数中改变mp o s x ,r e _ p o s y 的值,并取得 作废区调用i n v a l i d a t e r e c t ( ) 来作废原位图区,i n v a l i d a t e r e c t ( ) 再调用 o n d r a w ( ) 函数,o n d r a w ( ) 函数再调用d i s p l a y b i t m a p ( ) ,从而在新的指定位置 重新复制位图,实现治疗床位图的动态平移运动。 其中有一点值得注意,就是获得作废区,调用函数 g e t d | g l t e m ( i d cp i c ) g e t w i n d o w r e c t ( & m 。并且还须把获得的作废区_rect) 从屏幕坐标转变为客户坐标,调用函数s c r e e n t o c l i e n t ( & mr e c t ) 。其中, i d cp i c 为p i c t u r e 控件的i d 号,mr e c t 为作废区。 屏幕坐标指某坐标点相对于屏幕左上角的坐标( 单位为象素) ,客户坐标指 某坐标点相对于应用程序界面客户区( 界面除菜单栏和工具栏以外的部分) 左 上角的坐标,而窗口坐标指某坐标点相对于应用程序主界面左上角的坐标。 另外,注意图形的移动是否出边界。只要在程序中加一条i f 语句作边界 判断即可。如果图形在边界内,则动态显示位图,如果图形出边界,则产生 “治疗床已到极限位”的提示。 4 3 治疗文件编辑功能模块的实现 治疗文件编辑功能模块主要用来对治疗文件进行读、写、修改和存盘等 操作。此模块是外部治疗数据和控制软件的主通道。控制软件通过它读入事 先设定好的治疗参数,传给应用程序,再通过应用程序传给底层控制子系统, 按预定的治疗步骤完成整个治疗过程。在实际治疗过程中,可能要根据具体 情况对某些治疗参数进行修改,修改后的参数还必须存盘供下一次治疗参考, 故此模块还具备修改、存盘的功能。 治疗文件包含许多治疗参数,这些参数必须遵守统一的格式。因为应用 程序从治疗文件中读取治疗参数时,必须从每一行字符串中的相应位置来读 取。每行字符串中除治疗参数外,还有一些参数说明,所以只有统一的格式, 应用程序才能判断哪些是数据,哪些是说明。 现取出治疗文件的小部分进行格式说明,如下所示: h j 3 0 治疗参数文件标识符 r p m :0 2 3 0 8 设置主回转电机转速为2 3 0 8 r p m 亘查窒婆查兰塑主堡塞皇兰篁迨塞 篁! ! 蔓 a n g l e :0 0 0 5 7 5回转体旋转到5 7 5 度 p o s i t i o n b 一1 :0 4 0 2 铅罐b 水平方向准直器位置4 0 2 s t a r t s t 0 p :0 0 1 0 0 ,土同转体旋转,治疗开始 主回转体转动停止,驻留1 0 秒 b e d u p :0 0 5 5 ,治疗床下降5 5 r a m p o s i t i o ne :3,铅罐e 伽玛刀准直器为3 号位置 e n d治疗结束主回转停止,放射源回罐 以上格式中,有些特定标识符如s t a r t 、s t o p 、e n d ,用来完成一些 动作,不带参数。而另外一些带参数的标识符的行首为治疗参数名字,“:” 后紧接治疗参数,“”后为参数说明。遵循以上的治疗文件格式,应用程序 可以很方便地实现数据的提取。 治疗文件编辑功能模块对文件进行读写操作,设计思路如图4 - 3 所示: 显示控件:可用“文本编辑框”或“列表框” 缓冲区:可设定“变量”或“数组” 史件:a r :读操作a r ( ( :写操作 【读操作j 写操作中的变置须保持一致,即存入与取出的格式必须保持一致) 图4 - 3 治疗文件编辑功能模块的设计 以下就文件写操作、读操作、文件读出后的显示、数据的提取与修改及 字符串与实型的转化几部分,简单介绍软件的实现。 1 文件写操作 定义如下几个字符串类型数组分别用来存放参数名、参数值及参数说明 并定义一个m _ r e t u m l i n e 变量来存放回车换行“”。 c s t r i n gm _ p a r a m n a m e 4 9 1 ; 西南交通大学硕士研究生学位论文第2 8 页 c s t r i n gm _ p a r a m v a l u e 4 9 ; c s t r i n gm _ p a r a m r e m 4 9 ; c s t r i n gm _ r e t u m l i n e ; 定义写操作函数o n s a v e ( ) ,实现治疗文件的存盘操作。 v o i do n s a v e ( ) ( c f i l e d i a l o gd i g ( f a l s e ) ;p 创建公用对话框一存盘对话框+ i f ( d i g d o m o d a l = = i d o k ) c s t r i n gp a t h = d i g g e t p a t h n a m e ( ) ;+ 获得文件的存盘路径+ c f i l e f l ( p a t h ,c f i l e :m o d e c r e a t e l c f i l e :m o d e r e a d w r i t e ) ; p 创建待存文件,若存在,则w r i t e ;若无则c r e a t e ;* c a r c h i v e a r ( & f l ,c a r c h i v e :s t o r e ) ;幸创建序列化对象用于文件写操作+ , f o r ( i n tj 。0 0 4 9 0 + + ) a r m _ p a r a m r e m j m _ p a r a m v a l u e j m _ p a r a m r e m j m _ p a r a m v a l u e j m _ r e t u m l i n e ; p ( 1 ) + + 对文件进行写操作+ a r c l o s e ( ) ; 严关闭文件,否则会出错+ + ( 2 ) + 3 文件读出后的显示 若显示控件为列表框m _ l i s t ( c l i s t b o xm _ l i s t ) ,在严( 1 ) + 处加入以下语句: m l i s t a d d s t r i n g ( m _ p a r a m n a m e j + m _ p a r a m v a l u e i ) ; 若显示控件为文本编辑框m _ e d i t ( c s t r i n gm _ e d i t ) ,在p ( 2 ) + 处加入以下 语句: f 1 s e e k t o b e g i n ( ) ; l o n gl e n g t h 2 f 1 g e t l e n g t h ( ) ; s t a t i cc h a rf i l e b u f f 6 4 0 0 0 ; f 1 r e a d ( f i l e b u f f , l e n g t h ) ; m _ e d i t = f i l e b u f f ; u p d a t e d a t a ( f a l s e ) ; p 文件指针移至开始处+ 产获得文件长度+ p 定义缓冲区+ p 文件读入缓冲区+ + 用文本编辑框显示缓冲区的内容+ + 变量值传给控件+ 4 数据的提取与修改 双击列表框中某行数据便可对它进行修改。列表框m _ l i s t 的双击消息函数 如下: v o i do n d b l i c k l i s t ( ) 西南交通大学硕士研究生学位论文簟璺壁翼 c c h a n g d i a l o gd i g ; p 提取数据+ i n ti n d e x = r e _ l i s t g e t c u r s e l ( ) ; c s t r i n gm s e l e c t e d ; i f ( i n d e

温馨提示

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

评论

0/150

提交评论