igstk architecture overview

Post on 12-Jan-2016

34 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

IGSTKArchitecture Overview

Luis IbáñezKitware, 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

ITK VTK

OpenGLVNL GDCM Threads, XML,…

IGSTK

GUI: FLTK / Qt / MFC

IGS - APPLICATION

Main Categories of Components

Infrastructure

Trackers Viewers

Geometry &Representation

Images & Readers

Infrastructure

State Machine Time Stamp Pulse Generator Events Transforms Logger

Trackers

Tracker (base class)– PolarisTracker– AuroraTracker

Support– SerialCommunication

SerialCommunicationForWindows SerialCommunicationForPosix

– NDICommandInterpreter

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

Viewers

View– View2D– View3D

VTK Based GUI / VTK hybrid class

Images and Readers Image

– CTImage– MRImage– FluoroscopicImage

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

Dynamics Architecture

GUI

General Interactions

View1

View2

View3

View4

ObjectRepresentation Spatial

Object

Tracker

TrackerTool 1

TrackerTool 2

TrackerTool 3

ObjectRepresentation

ObjectRepresentation

Tracking Interactions

ObjectRepresentation

SpatialObject

Tracker

TrackerTool 3

ObjectRepresentation

Tick

TransformEvent

T

T =

T

T

T

Event Class

ITK Event

TransformEvent

TimeStampEvent

StringEvent

IGSTK Event

Event Class

Transform

Transform Class

Vector

Versor

TimeStamp

Error

Transform Class

Transform Event Class

Pulse Generator

Action

Action

How not to miss pulses ?

GUI

Timing Control

View1

View2

View3

View4

ObjectRepresentation Spatial

Object

Tracker

TrackerTool 1

TrackerTool 2

TrackerTool 3

ObjectRepresentation

ObjectRepresentation

Tick

Tick

Quality Control

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

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 )

Dynamic Testing Platforms

Valgrind on Linux– gcc 3.3– gcc 3.4

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

End

top related