+ All Categories
Home > Documents > IGSTK Architecture Overview

IGSTK Architecture Overview

Date post: 12-Jan-2016
Category:
Upload: amiel
View: 34 times
Download: 0 times
Share this document with a friend
Description:
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
Popular Tags:
24
IGSTK Architecture Overview Luis Ibáñez Kitware, Inc
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


Recommended