Slicer 3 Architecture Diagram 2006 01 26 Execution

  • Slides: 1
Download presentation
Slicer 3 Architecture Diagram (2006 -01 -26) Execution Model Manager Logic Links to: Base

Slicer 3 Architecture Diagram (2006 -01 -26) Execution Model Manager Logic Links to: Base Logic Auto-Generated GUIs from JSON Descriptions Mediators Base (Managed by Base and communicats like other Modules) GUI Links to: KWWidgets Observe Modified Events Formulates Command Line and possibly stages data Logic Links to: ITK MRML VTK (except Rendering) Edit Mrml Scene/Nodes Mediators GUI Links to: VTK Rendering KWWidgets Provides • Frames for Widgets, • Routing of User Events Observe Modified Events on Application State • Registers GUI Event Observers MRML Describe Input options External Processes (Grid/Pipeline) • Speak MRML (link to libmrml or have data staged by slicer) • Uses the JSON interface Observe Modified Events MRML Aware Processes Can Edit Mrml Scene/Nodes and Observe Modified Events Edit Mrml Scene/Nodes Interactive Module Logic Links to: Base Logic ITK MRML VTK (except Rendering) Mediators GUI Links to: VTK Rendering KWWidgets Notes: • All classes in the Logic directory should be able to run ‘headless’ without Open. GL or window system for scripting and testing • Base/Logic contains transient application state (cursor location, focus, mrml scene connection…) • Interactive Modules are ones which interact with the VTK scene and/or User events • Interactive Modules interact with 3 D scene by creating objects in MRML scene (not by direct manipulation of the Renderer) • Logic classes encapsulate and manage internal vtk/itk pipelines • GUI classes are implemented as KWWidget subclasses • Each Logic class defines a set of Get/Set methods for internal state and Modified Events that GUI classes can Observe