Download presentation
Presentation is loading. Please wait.
Published byPierce Franklin Modified over 8 years ago
1
Luis Ibáñez, Julien Jomier, David Gobbi, Rick Avila, Brian Blake, Hee-Su Kim, Kevin Gary, Stephen Aylward, Kevin Cleary Kitware, Inc.; ISIS-Center, Georgetown University; CADDLab UNC; Atamai Inc; Arizona State University IGSTK: Image Guided Surgery Toolkit A State Machine Architecture
2
Open Source BSD License www.igstk.org Reinforced Software Development Process
3
Why the State Machine ? Deterministic Behaviour Preclude wrong use Robustness to misuse Traceability Documentation Image Guided Surgery is a critical task Software must protect patient from harm by enforcing:
4
State Machine State 1 State 2 State 3 …. State N Input 1 Input 2 Input 3 …. Input M Action 1 Action 2 Action 3 …. Action K (State 1,Input 1)->(State 7, Action 4) (State 1,Input 2)->(State 3, Action 2) (State 1,Input 3)->(State 5, Action 6) (State 2,Input 1)->(State 4, Action 9) (State 3,Input 4)->(State 9, Action 2) State K
5
State Machine Set of States Set of Inputs Set of Actions Set of Transitions
6
State Machine Diagram State 0 State 1 State 2 State 3 Input 2 Action 5 Input 4 Action 3 Input 7 Action 9 Action 7 Input 4 Input 3 Action 1 Input 2 Action 2 Input 3 Action 1
7
State Machine Integration State Machine<> IGSTK Component RequestAction1() PerformAction1() public: private: RequestAction2() PerformAction2()
8
State Machine Integration State Machine<> RequestAction3() PerformAction3() ProcessInput() State AState B Input 3 PushInput(“Input3”) Input Queue
9
State Machine Integration IGSTK Component RequestAction1()PerformAction1() public:private: RequestAction2()PerformAction2() RequestAction3() RequestAction4() PerformAction3() PerformAction4()
10
Request Action Methods Request Action( argument list ) ArgumentValidation() ProcessInput() PerformAction4() Input 4( Input categories ) A B D C State Machine
11
Request Action Methods RequestSelectSlice( int N ) ArgumentValidation()ProcessInput() RejectSliceNumber() ( slice < 0 ) : Input0 : (out of range) B State Machine ( slice > N-1) : Input2 : (out of range) Otherwise : Input1 : (valid value) B RequestSetSlice(int) AcceptSliceNumber() B
12
Examples of IGSTK State Machine Diagrams
13
Tracker Base Class
14
Pulse Generator
15
Spatial Object
16
Using the State Machine
17
Interaction of Multiple Components Images Geometrical Objects Graphical Representation Visualization Tracking
18
GUI General Interactions View1 View2 View3 View4 Object Representation Spatial Object Tracker TrackerTool 1 TrackerTool 2 TrackerTool 3 Object Representation
19
Event Class ITK Event TransformEvent TimeStampEvent RefreshSceneEvent IGSTK Event
20
GUI Timing Controls Scene (view1,repr7) (view3,repr9) View1 View2 View3 View4 Object Representation Spatial Object Tracker TrackerTool 1 TrackerTool 2 TrackerTool 3 Object Representation Tick
21
IGSTK
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.