Your SlideShare is downloading. ×
ITK Tutorial Presentation Slides-949
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

ITK Tutorial Presentation Slides-949

1,746

Published on

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

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,746
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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 2003. 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 ITK VTK OpenGL VNL GDCM Threads, XML,… IGSTK GUI: FLTK / Qt / MFC IGS - APPLICATION
  • 6. Main Categories of Components Infrastructure Trackers Viewers Geometry & Representation Images & Readers
  • 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
      • CTImage
      • MRImage
      • FluoroscopicImage
    • Readers (DICOM)
      • CTImageReader
      • MRImageReader
      • Fluoroscopy (video input)
  • 12. Dynamics Architecture
  • 13. General Interactions GUI View1 View2 View3 View4 Object Representation Spatial Object Tracker TrackerTool 1 TrackerTool 2 TrackerTool 3 Object Representation Object Representation
  • 14. Tracking Interactions Object Representation Spatial Object Tracker TrackerTool 3 Object Representation Tick Transform Event T T = T T T
  • 15. Event Class ITK Event TransformEvent TimeStampEvent StringEvent IGSTK Event
  • 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 GUI View1 View2 View3 View4 Object Representation Spatial Object Tracker TrackerTool 1 TrackerTool 2 TrackerTool 3 Object Representation Object Representation Tick Tick
  • 22. Quality Control
  • 23. Testing Platforms
    • 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
      • 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 )
  • 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!
    • http://www.igstk.org
    • Last stable release “Iteration 7”
    • Demo: Sunday Feb 12 from 8:30 to 10:30 pm
  • 35. Enjoy IGSTK!

×