ITK Tutorial Presentation Slides-949

1,847
-1

Published on

http://hdl.handle.net/1926/161

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,847
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ITK Tutorial Presentation Slides-949

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

×