Open Source Imaging Toolkits Rick Avila Director of Medical Applications Kitware, Inc. April 27, 2006 Kitware
Kitware The Software Gap Digital healthcare networks are rolling out across the planet… Digital acquisition devices are exceeding observer ability… Comprehensive disease management tools are needed within a PACS workflow… Brain Lung Colon Cardiac CT Lung Scan Slice Thickness
Kitware Improving Global Development Efficiency Clinical Study Data Publication Closed systems yield slow advancement Baseline Data Need rapid acquire / develop / validate / review cycles Validation/ Analysis Env/Algs/ Apps Open Science 1.Open Data 2.Open Source 3.Open Publication Years
Kitware Leveraging Global Resources Experts ClinicalClinical ComputingComputing Imaging Toolkits Software ArchitectureSoftware Architecture AlgorithmsAlgorithms DocumentationDocumentation Validation TestsValidation Tests Development Tools Build UtilitiesBuild Utilities Quality DashboardQuality Dashboard Computing Resources Hardware & SoftwareHardware & SoftwareDatasets All Diseases/ModalitiesAll Diseases/Modalities
Kitware Open Source Imaging Toolkits Visualization Toolkit (VTK) Insight Toolkit (ITK) Rendering and Display Image Analysis High Quality, State-of-the-art Toolkits for Research and Product Development
Kitware The Visualization Toolkit ( –C++ class library for visualization –Designed using object-oriented principles –Portable across Unix, Linux, Windows, MacOSX –Automated Java, TCL, Python bindings –Automated nightly testing –Supports 3D/2D graphics, visualization, image processing, and volume rendering –BSD-style license –C++ class library for visualization –Designed using object-oriented principles –Portable across Unix, Linux, Windows, MacOSX –Automated Java, TCL, Python bindings –Automated nightly testing –Supports 3D/2D graphics, visualization, image processing, and volume rendering –BSD-style license
Kitware VTK
Kitware VTK by the Numbers Community 65core developers 2655person mailing list Source Code 1,298C++ classes 737,359lines of C++ code Daily Testing Snapshot 72machine configurations (hw + sw) 74build and test sessions/day 897regression tests/build VTK C++ Files
Kitware t0t0 t 8 t I(t 0, ) = Q(t) e dt (1) t = t 0 t 8 - a (t’) + sc (t’)dt’ t’ = t 0 t ’ I(t, ’) d ’ (2) Q(t) = q(t) + sc ( 44 ’’ (In Scattering) (Emission) (Absorption) (Out Scattering) t’ Volume Rendering
Kitware Volume Rendering Architecture Renderer Prop Collection Volume Mapper Volume Property Image Data... Property Input Mapper Volume RayCast Mapper Volume RayCast Function Gradient Estimator Gradient Encoder Gradient Shader
Kitware Volume Rendering Methods 1) Ray Casting Floating PointFloating Point Composite w/shadeComposite w/shade Gradient Magnitude OpacityGradient Magnitude Opacity MIPMIP IsoSurfaceIsoSurface Fixed PointFixed Point 2) Shear Warp 3) Texture Mapping 2D2D 3D3D 4) VolumePro Hardware (past) …with support for LOD control, multi-threading, …
Kitware VTK Dashboard using DART
Kitware CMake ( Recently Adopted By Linux KDE
Kitware ITK: The Insight Toolkit ( Toolkit started in 2000Toolkit started in 2000 Open source segmentation & registration algorithmsOpen source segmentation & registration algorithms $13M directly invested to date
Kitware ITK Developers
Kitware Image ProcessingImage Processing SegmentationSegmentation RegistrationRegistration No Graphical User Interface (GUI)No Graphical User Interface (GUI) No VisualizationNo Visualization ITK
Kitware ITK by the Numbers Community 58core developers 1138person mailing list Source Code 1175C++ classes 458,770lines of C++ code Daily Testing Snapshot 84machine configurations (hw + sw) 107build and test sessions/day 1195regression tests/build
Kitware Image Registration Framework Multi Resolution Registration Framework PDE Based Registration FEM Based Registration Components Registration in ITK Fixed Image Moving Image Metric Transform Interpolator Optimizer Registration Method Fixed Image Moving Image Registered Moving Image
Kitware Code Input Data Journal Repository Web Site Results Data Author Build Machines PDF doc Insight Journal
Kitware Use of VTK / ITK ResearchResearch –Algorithm Development & Comparison –Prototypes –Higher-Level Application Toolkits ProductsProducts –Scanners –Analysis Workstations –PACS –Interventional Devices –Research Interfaces
Kitware Open Source Impact Hans Johnson Lab, University of Iowa –Lab uses ITK and VTK –Student working on atlas based segmentation method –Danielsson signed distance filter is a bottleneck Insight Journal 2/20/2006 –9:26am:IJ mail arrives about EDT filter (PAMI ‘03) –12:30am:Print and read documentation –1:00pm:Embed and run EDT code –1:03pm:!#%?! It runs in only 3 minutes? (10x) –1:10pm:Compare results & do dance of joy –4:00pm:Submit Insight Journal review
Kitware NAMIC: SLICER
Kitware Mac: OSIRIX Over 8000 Users ~250 Downloads/Day
Kitware BrainLab Vector Vision Link Provides a direct interface with the VectorVision IGS navigation system to design and implement new features and functionality
Kitware Product Use: MeVisLab
Kitware VolView Clinical (Work in Progress) Not FDA Approved for Clinical Use
Kitware Open Source Toolkit Growth 7,359,000 hits/month on public.kitware.com
Kitware Summary Open Source Imaging Toolkits –Efficiently leverage global skills and resources –Represents a large and growing resource –Accelerates healthcare research and product development –Will drive down the cost of healthcare
Kitware Thank You
Kitware Doxygen Manual Pages
Kitware Insight Software Consortium (ISC) A non-profit that provides open-science environments for developers and users involved in medical image analysis research Users’ and Developers’ Point of ViewISC Provides Does the software work?Dashboards Time and interaction to download and install?Packaging Documentation online and available for download?Documentation Standard Consistent code quality?Coding Standard Active support for individual packages, e.g., lists?Support Standard How can I learn more about the software?ISC hosts tutorials: SPIE… How can I contribute my research and dataThe Insight Journal Open-source changes too quickly! Backward compatible policy What open-science sites are available?The ISC website, The IJ
Kitware 37 Submissions37 Submissions 90 Reviews90 Reviews by 31 Reviewersby 31 Reviewers 261 Registered Users261 Registered Users Anonymous reviews allowed, but none were submittedAnonymous reviews allowed, but none were submitted Reviewers scoredReviewers scored –Sensitivity –Helpfulness Workshop Response
Kitware Open Data: NIH RIDER Database
Kitware vtkVolumeMapper Code is Continuously Explored and Tested by a Large Number of Users and Experts
Kitware Image Guided Surgery Toolkit
Kitware