Download presentation
1
IGSTK The Image-Guided Surgery Toolkit
Kitware, Inc
2
Overview History Infrastructure Components Quality Control
Software Process Applications
3
The Toolkit in a Nutshell
Open Source Toolkit BSD-like License Written in C++ Cross Platform Based on ITK and VTK GUI based on FLTK Designed for a Critical Application
4
History STTR Funded by NIBIB/NIH (Georgetown- Kitware)
Phase I from May to Sept Used in example applications. Phase II started on October 2004 CADDLab UNC Joined the project and contributed Spatial Objects & RF ablation Application. Atamai joined on 2005 and contributed Tracker code. Releases done about every 6 months
5
Layer Architecture IGS - APPLICATION GUI: FLTK / Qt / MFC IGSTK ITK
VTK VNL GDCM Threads, XML,… OpenGL
6
Main Categories of Components
Infrastructure Geometry & Representation Trackers Images & Readers Viewers
7
Infrastructure State Machine Time Stamp Pulse Generator Events
Transforms Logger
8
Trackers Tracker (base class) PolarisTracker AuroraTracker
Flock Of Birds Support SerialCommunication SerialCommunicationForWindows SerialCommunicationForPosix NDICommandInterpreter
9
Object Representation
SpatialObject Ellipsoid Cylinder Images Mesh Tube TubeGroup Group Box Cone SpatialObjectRepresentation Ellipsoid Cylinder Images Mesh Tube Box Cone VascularNetwork AirwaysNetwork Surgical Tools
10
Viewers View View2D View3D VTK Based GUI / VTK hybrid class
11
Images and Readers Image Readers (DICOM) CTImage MRImage
FluoroscopicImage Readers (DICOM) CTImageReader MRImageReader Fluoroscopy (video input)
12
Dynamics Architecture
13
General Interactions Tracker GUI TrackerTool 1 View1 TrackerTool 2
Object Representation View2 TrackerTool 3 View3 Object Representation Spatial Object View4 Object Representation
14
Tracking Interactions
Tracker Tick T TrackerTool 3 Object Representation T Spatial Object Object Representation T Transform Event T =
15
Event Class ITK Event IGSTK Event TransformEvent TimeStampEvent
StringEvent
16
Event Class
17
Transform Class Transform Vector Versor TimeStamp Error
18
Transform Class
19
Transform Event Class
20
Pulse Generator Action Action How not to miss pulses ?
21
Timing Control Tick Tick Tracker GUI TrackerTool 1 View1 TrackerTool 2
Object Representation TrackerTool 3 View2 Object Representation View3 Spatial Object View4 Object Representation
22
Quality Control
23
Testing Platforms Windows Linux Cygwin – Windows
Visual Studio 6.0 / 7.1 / 8.0 Linux gcc 3.2 / 3.3 / 3.4 / 4.0 icc 7.1 / 8.0 Cygwin – Windows gcc 3.4 gcc 3.3
24
Testing Goal Current Code Coverage 100 % Code Coverage
100 % State Machine Transitions Testing Current Code Coverage IGSTK % ( untested / lines ) Sandbox % ( untested / lines )
25
Dynamic Testing Platforms
Valgrind on Linux gcc 3.3 gcc 3.4 Valgrind on Cygwin Purify (too expensive)
26
Software Process
27
Software Process Sandbox Extreme programming
Release early, release often Code reviews Requirements Bug tracking
28
Typical Agenda for a release
Create feature list Write requirements Develop code Tag Sandbox, create code review list Code Review Move code and tag Fix Documentation Fix remaining bugs Increase code coverage Create and release package
29
Applications
30
Applications Ultrasound-guided percutaneous liver lesion RFA
Needle Biopsy Guidewire Tracking
31
Ultrasound-Guided Liver RFA
32
GuideWire Tracking
33
Needle Biopsy
34
Download IGSTK and Try it!
Last stable release “Iteration 7” Demo: Sunday Feb 12 from 8:30 to 10:30 pm
35
Enjoy IGSTK!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.