Download presentation
Presentation is loading. Please wait.
1
IGSTK Architecture Overview
Luis Ibáñez Kitware, Inc
2
The Toolkit in a Nutshell
Open Source Toolkit BSD-like License Written in C++ Based on ITK and VTK Designed for a Critical Application
3
Layer Architecture IGS - APPLICATION GUI: FLTK / Qt / MFC IGSTK ITK
VTK VNL GDCM Threads, XML,… OpenGL
4
Main Categories of Components
Infrastructure Geometry & Representation Trackers Images & Readers Viewers
5
Infrastructure State Machine Time Stamp Pulse Generator Events
Transforms Logger
6
Trackers Tracker (base class) PolarisTracker AuroraTracker Support
SerialCommunication SerialCommunicationForWindows SerialCommunicationForPosix NDICommandInterpreter
7
Object Representation
SpatialObject Ellipsoid Cylinder Images Mesh Tube TubeGroup Group Box ? Cone ? SpatialObjectRepresentation Ellipsoid Cylinder Images Mesh Tube Box ? Cone ? VascularNetwork SO ?? AirwaysNetwork SO ?? Surgical Tools ??
8
Viewers View View2D View3D VTK Based GUI / VTK hybrid class
9
Images and Readers Image Readers (DICOM) CTImage MRImage
FluoroscopicImage Readers (DICOM) CTImageReader MRImageReader Fluoroscopy (video input)
10
Dynamics Architecture
11
General Interactions Tracker GUI TrackerTool 1 View1 TrackerTool 2
Object Representation View2 TrackerTool 3 View3 Object Representation Spatial Object View4 Object Representation
12
Tracking Interactions
Tracker Tick T TrackerTool 3 Object Representation T Spatial Object Object Representation T Transform Event T =
13
Event Class ITK Event IGSTK Event TransformEvent TimeStampEvent
StringEvent
14
Event Class
15
Transform Class Transform Vector Versor TimeStamp Error
16
Transform Class
17
Transform Event Class
18
Pulse Generator Action Action How not to miss pulses ?
19
Timing Control Tick Tick Tracker GUI TrackerTool 1 View1 TrackerTool 2
Object Representation TrackerTool 3 View2 Object Representation View3 Spatial Object View4 Object Representation
20
Quality Control
21
Testing Platforms Windows Linux Cygwin – Windows Visual Studio 6.0
gcc 3.2 gcc 3.3 gcc 3.4 Cygwin – Windows
22
Testing Goal Current Code Coverage 100 % Code Coverage
100 % State Machine Transitions Testing Current Code Coverage IGSTK % ( untested / lines ) Sandbox % ( untested / lines )
23
Dynamic Testing Platforms
Valgrind on Linux gcc 3.3 gcc 3.4 Valgrind on Cygwin ( setup pending ) Purify (too expensive)
24
End
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.