Atamai 手术导航软件开发包

Atamai是完全基于VTK及脚本语言Python,面向计算机辅助医疗特别是手术导航的应用系统的中间平台。Atamai的所处在医疗系统框架的位置如下:

Atamai类层次结构如下:

Atamai以事件为主线,以事件为驱动,EventHandler是所有类的根类。其三个核心类是:ActorFactory、RenderPane、PaneFrame,它们与VTK对应的关系如下:

Atamai架构主要类介绍:

(1 )EventHandler 解析
主要功能,一是定义事件Event类及EventHandler类。定义EventHandler类的相关常量EventModifier /EventType;二定义EventHandler类的事件绑定BindEvent()方法 ,将事件eventDescriptor解析成Type-Modifier-Keysym与事件处理函数func做成键值对,记录在其self.__EventDict中;三是事件处理HandleEvent(),接受一个Event对象,解析成 Type-Modifier-Keysym,然后从 __EventDict中找到其对应的回调函数,并调用之。定义Event是利用了 Python 语言对象动态属性的概念。以Type-Modifier-Keysym 层次化记录事件,加速事件查找过程。

(2 )ActorFactory解析
ActorFactory代表VTK的Pipeline结构中从 vtkSource到vtkActor 整个过程,ActorFactory与vtkActor形成一对多关系,即一个ActorFactory中可以有多个vtkActor 与之对应。实现一个ActorFactory可显示在多个RenderPane 当中的做法为通过AddToRender()函数为每个RenderPane 创建一套新的actor副本(通过该方法_MakeActors来创建新的actors副本)。如果更新了ActorFactory的actor信息,通过设置ActorFactory的Modified()方法来通知其Render()方法,需要重新绘制。

(3 )RenderPane 解析
RenderPane 在Atamai 中处于核心地位,它与vtkRenderer 一一对应。它的主要功能是RenderPane 主要功能有:一是处理大部分事件,通过 BindModeToButton() ,HandeleEvent(),Do......()等函数;二是模拟 Cursor :ConnectCursor() ,HandeleEvent(),DosmartPick() 等函数;拾取处理:DosmartPick(), DoPickActor(), DoActorInteraction()等函数。

(4 )PaneFrame 解析
PaneFrame 是事件中枢,PaneFrame 与vtkRenderWindow 一一对应。同时包括了vtkRenderWindowInteractor。PaneFrame 的主要功能有:VTK事件获取:通过_BindInteractor() ,_On…...(),HandleEvent() 等函数;GUI 事件获取,与具体GUI 相关(wxWindow/tk)。它的功能是将从 vtk 和GUI 获取的事件翻译成为 Atamin 定义的Event 类,向当前 RenderPane 传递

转载于:https://www.cnblogs.com/ankier/archive/2012/10/20/2732132.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值