1 / 24

IGSTK Architecture Overview

IGSTK Architecture Overview. Luis Ib áñ ez Kitware, Inc. The Toolkit in a Nutshell. Open Source Toolkit BSD-like License Written in C++ Based on ITK and VTK Designed for a Critical Application. Layer Architecture. IGS - APPLICATION. GUI: FLTK / Qt / MFC. IGSTK. ITK. VTK. VNL. GDCM.

amiel
Télécharger la présentation

IGSTK Architecture Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IGSTKArchitecture 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 • 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 TrackerTool 3 View2 Object Representation View3 Spatial Object View4 Object Representation

  12. Tracking Interactions T 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 • Visual Studio 6.0 • Visual Studio 7.1 • Linux • gcc 3.2 • gcc 3.3 • gcc 3.4 • Cygwin – Windows • gcc 3.4 • gcc 3.3

  22. Testing • Goal • 100 % Code Coverage • 100 % State Machine Transitions Testing • Current Code Coverage • IGSTK 93.6 % ( untested 321 / 4714 lines ) • Sandbox 92.4 % ( untested 4 / 49 lines )

  23. Dynamic Testing Platforms • Valgrind on Linux • gcc 3.3 • gcc 3.4 • Valgrind on Cygwin ( setup pending ) • Purify (too expensive)

  24. End

More Related