Top Banner
IGSTK Architecture Overview Luis Ibáñez Kitware, Inc
24

IGSTK Architecture Overview

Jan 12, 2016

Download

Documents

amiel

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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IGSTK Architecture Overview

IGSTKArchitecture Overview

Luis IbáñezKitware, Inc

Page 2: IGSTK Architecture Overview

The Toolkit in a Nutshell

Open Source Toolkit BSD-like License Written in C++ Based on ITK and VTK Designed for a Critical Application

Page 3: IGSTK Architecture Overview

Layer Architecture

ITK VTK

OpenGLVNL GDCM Threads, XML,…

IGSTK

GUI: FLTK / Qt / MFC

IGS - APPLICATION

Page 4: IGSTK Architecture Overview

Main Categories of Components

Infrastructure

Trackers Viewers

Geometry &Representation

Images & Readers

Page 5: IGSTK Architecture Overview

Infrastructure

State Machine Time Stamp Pulse Generator Events Transforms Logger

Page 6: IGSTK Architecture Overview

Trackers

Tracker (base class)– PolarisTracker– AuroraTracker

Support– SerialCommunication

SerialCommunicationForWindows SerialCommunicationForPosix

– NDICommandInterpreter

Page 7: IGSTK Architecture Overview

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 ??

Page 8: IGSTK Architecture Overview

Viewers

View– View2D– View3D

VTK Based GUI / VTK hybrid class

Page 9: IGSTK Architecture Overview

Images and Readers Image

– CTImage– MRImage– FluoroscopicImage

Readers (DICOM)– CTImageReader– MRImageReader– Fluoroscopy (video input)

Page 10: IGSTK Architecture Overview

Dynamics Architecture

Page 11: IGSTK Architecture Overview

GUI

General Interactions

View1

View2

View3

View4

ObjectRepresentation Spatial

Object

Tracker

TrackerTool 1

TrackerTool 2

TrackerTool 3

ObjectRepresentation

ObjectRepresentation

Page 12: IGSTK Architecture Overview

Tracking Interactions

ObjectRepresentation

SpatialObject

Tracker

TrackerTool 3

ObjectRepresentation

Tick

TransformEvent

T

T =

T

T

T

Page 13: IGSTK Architecture Overview

Event Class

ITK Event

TransformEvent

TimeStampEvent

StringEvent

IGSTK Event

Page 14: IGSTK Architecture Overview

Event Class

Page 15: IGSTK Architecture Overview

Transform

Transform Class

Vector

Versor

TimeStamp

Error

Page 16: IGSTK Architecture Overview

Transform Class

Page 17: IGSTK Architecture Overview

Transform Event Class

Page 18: IGSTK Architecture Overview

Pulse Generator

Action

Action

How not to miss pulses ?

Page 19: IGSTK Architecture Overview

GUI

Timing Control

View1

View2

View3

View4

ObjectRepresentation Spatial

Object

Tracker

TrackerTool 1

TrackerTool 2

TrackerTool 3

ObjectRepresentation

ObjectRepresentation

Tick

Tick

Page 20: IGSTK Architecture Overview

Quality Control

Page 21: IGSTK Architecture Overview

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

Page 22: IGSTK Architecture Overview

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 )

Page 23: IGSTK Architecture Overview

Dynamic Testing Platforms

Valgrind on Linux– gcc 3.3– gcc 3.4

Valgrind on Cygwin ( setup pending ) Purify (too expensive)

Page 24: IGSTK Architecture Overview

End