# Presentation: 947337

## The NA-MIC Kit: FOSS for Image Post-Processing

**Ron Kikinis, M.D.,**
- Professor of Radiology, Harvard Medical School, Director, Surgical Planning Laboratory, Brigham and Women’s Hospital

## Acknowledgments

- National Alliance for Medical Image Computing (**NA-MIC**) is a National Center for Biomedical Computing (**NCBC**) and part of the **NIH Roadmap Initiative (**U54EB005149)
- Neuroimage Analysis Center, a national resource center, P41RR13218
- BIRN
- Several other funding sources

## What is our problem?

- Diagnostic Imaging produces **data** in increasing quantity and of increasing complexity
- Image computing is about extraction of relevant **information** from images

## What is our science?

- Computational tools for image analysis	 (algorithms)
- Software engineering methods and applications for image analysis (tools)
- Application science (DBPs)

## NA-MIC: Truly National

- Leadership:
- BWH: Ron Kikinis, (Overall PI)
- Steve Wong
- Core 1 Algorithms
- Utah: Ross Whitaker (Core 1 PI)
- MIT: Eric Grimson
- UNC: Guido Gerig
- MGH: Bruce Fischl, Dave Kennedy
- GaTech: Allen Tannenbaum
- Core 2 Engineering
- GE: Bill Lorensen (Core 2 PI)
- Kitware: Will Schroeder
- Isomics: Steve Pieper
- UCSD: Mark Ellisman
- UCLA: Art Toga
- Core 3 DBP
- BWH: Martha Shenton
- Dartmouth: Andy Saykin
- UCI: Steve Potkin
- UofT: Jim Kennedy

- Core 4 Service
- Kitware: Will Schroeder
- Core 5 Training
- MGH: Randy Gollub
- Core 6 Dissemination
- Isomics: Steve Pieper, Tina Kapur
- Core 7 Management
- BWH: Steve Wong

- Provided by Pieper, Kikinis

## Structure

## Algorithms – New Methods for Processing Images

- Shape analysis
- Anatomical segmentation
- Representation
- Statistical analyses
- Diffusion weighted/tensor Imaging
- Tracts and clustering
- Atlases/registration
- Statistical analyses
- Functional MRI
- Image driven regularization
- Whole-brain analyses

## Automated Segmentation

- Provided by K. Pohl

## Registration

**T1**

**Overlay Before:**

**After:**

## Shape Analysis

## Diffusion Tensor Analysis

- Tracts through an ROI

**Diffusion Tensor Analysis**

- Provided by Odonnell, Pujol et al.

## Fiber Clustering and Segmentation

- Automatic extraction of anatomically meaningful fiber bundles.
- See our Poster for more information

- Provided by Banks, Shenton, Kindleman, Westin, Bouix, et al.

## Algorithms

- Algorithmic developments driven by the DBP’s
- See Posters for more detail

## FOSS – A Public Highway...

- “NA-MIC kit” is like a Public Road System
- Provides Infrastructure for a Variety of Uses
- Driveways can Lead to Anything:
- a Public Park
- a Private Facility
- FOSS= Free Open Source Software

- Provided by Pieper, Kikinis

## NA-MIC Kit

- The **NA-MIC Kit **is a Collection of Applications, Toolkits and Methodologies for Medical Image Computing
- Most components of the NA-MIC kit predate the NCBC program

## NA-MIC Kit Components

- End User Application
- 3D Slicer
- Image Analysis, Visualization, and GUI libraries
- ITK, VTK, KWWidgets
- Large Scale Data Processing Tools
- LONI Pipeline, BIRN GRID tools
- Software Engineering Tools
- CMake, Dart, CTest, CPack

- _[http://www.na-mic.org/Wiki/index.php/SoftwareInventory](http://www.na-mic.org/Wiki/index.php/SoftwareInventory)__ _

- Provided by Pieper, Kikinis

## NA-MIC Kit

- 3DSlicer
- _[http://www.slicer.org](http://www.slicer.org/)_
- Google: slicer 101

- Neuroimage Analysis Center
- NIH P41RR013218** **

## What is 3D Slicer?

- An application for research in
- Neuroscience
- Image Guided Therapy
- Other Applications
- A platform for exploring novel image analysis and visualization techniques
- A freely-downloadable program with source and binaries available for Windows, Linux, Solaris and Mac OS X
- NOT an FDA approved medical device
- NOT finished – some parts will work better than others

## Slicer Modules

- Provided by R. Kikinis

## Image Guided Therapy

- Provided by N. Archip O. Clatz, A. Golby, S. Warfield, S. Whalen et al.

**Deform complex  preop data: T1, fMRI, DTI;**

- Pre  			Intra  		Comparison

- fMRI language
- Activation
- Pre
- Intra

## Not Limited to the Brain

- Provided by CF. Westin, E. Silverman, R. Jose, N. Hata, K. Pohl

- Provided by Haker, Tempany  et al.

## DeviceTracking

**DeviceTracking**

- Provided by Vosburgh  et al.

## And we do Stars too ;)

- Provided by Halle, Borkin, Goodman

- Spectral data was converted to a velocity distribution from 0 to 20 km/s sampled into about 300 bins for both the 13CO (diffuse clouds) and C18O molecular spectral lines (dense regions and cores).

## Updated architecture: 
New Interface
added toolbar and redesigned module navigation
populating GUI panel with KWWidgets and custom widgets; 
adjusting layout to clarify functional groupings of widgets; 
adding scrollbar to module GUI panel.
redesigned “3D navigation / slice zoom” widget in view control panel.

New Execution Model

- New Interface
- added toolbar and redesigned module navigation
- populating GUI panel with KWWidgets and custom widgets;
- adjusting layout to clarify functional groupings of widgets;
- adding scrollbar to module GUI panel.
- redesigned “3D navigation / slice zoom” widget in view control panel.
- New Execution Model

- Slicer 3.0

- Provided by Pieper, Plesniak, Jose

## Slicer3 Execution Model

- NA-MIC Algorithms Written in ITK
- ITK Pipelines Encapsulated in Slicer Modules
- Modules Compiled as Executables ***and*** Shared Libraries
- File ***or*** Pointer Access to Scene
- Automatically Generated GUI
- Easy to Integrate non-ITK Algorithms as Modules Too

- Provided by Pieper, Lorensen

## Toolkits

## Visualization Toolkit - vtk

- Open source toolkit for scientific visualization, computer graphics, and image processing

## With support from several IC’s

**With support from several IC’s**

## KWWidgetshttp://kwwidgets.org

- A GUI toolkit:
- Cross-platform
- BSD style open-license
- Free

## Large Scale Data Processing

## UCLA-LONI

**UCLA-LONI**

## UCSD

- Wrapper

**UCSD**

- Middleware

**Distributed**** Data**

**High Performance**
**and Grid Computing**

- Mediator

- Integrated View
- Definitions

*External Knowledge Sources*

*Data and Database Sources*

**Data **
**Integration**

- Wrapper

## Software Engineering Tools

## Development Methodology

**Development Methodology**

**Dashboard**

**CMake**
**CTest**
**CPack**

**Testing**

## CMake:Manage Software Complexity

- Manage the build process
- Find system libraries and code
- Compile source code
- Assemble resulting binary modules
- Create libraries
- Construct executables
- Enable customization, e.g.
- Specify location of source, object code, executables
- Build debug or optimized
- Do it cross-platform, combinations of
- hardware
- software
- compiler
- compiler options
- Do it fast
- Parallel compilation
- Rapid dependency checking

*CMake is like a universal remote that controls*
*multiple build environments with a single **interface.*
*CMake manages complex software development *
*environments – like a universal remote control *
*automatically manages the components of a *
*multimedia system by *
*simply specifying the media type*

- Provided by Schroeder, Cedilnik

## Impact Outside the Medical Field

## Outreach

## Social Engineering

- Daily – e-mail, dashboards, wiki
- Weekly – telephone conferences
- Periodic – architecture reviews, workshops
- Semi-annual– Programmer/Project week
- Yearly – All Hands Meeting

## Dissemination and Training

- National and International Events
- MIT, MGH, UNC, EPFL, NIH, UNM, UCSD...
- All Materials on Wiki
- Project Weeks
- Full Week Each Summer
- 1⁄2 Week at Winter AHM
- Workshops
- MICCAI 2005, 2006
- Others Planned
- Slicer 101 pages

## Organization

## NA-MIC Kit Governance

- Free, BSD style Open-Source
- Final Decision about Inclusion is with NA-MIC leadership. Emerging community process through Insight-Journal.org
- Support for contributions required (no “shoot and forget”)
- Technology Base for Research **and** Commercialization
- Okay to build GPL or Closed SW ***on top of ***NA-MIC Kit
- But no GPL or Closed SW ***in ***NA-MIC Kit
- NA-MIC Provides “Reference Standard Distribution”
- Maintain Official Releases
- Avoid Code Forking, Avoid Non-Free Code Creeping into Core
- No “Knowing” Addition of Patented Techniques into NA-MIC Kit
- Copyright to Substantive Works Remains with Creators
- Available under NA-MIC Approved Licenses for Distribution with Kit

## BSD style license

- Open Source: you get our source code
**MUST** acknowledge our contribution
- E.g. Insert a text like the following into the “about” section of your package or product: “This product is based on the 3D slicer software, see _[www.slicer.org](http://www.slicer.org/)_ for more information”
**No** license fees
**No** restriction on use
- Clinical and commercial uses possible. You can take our software and turn it into your product
**No** guarantees
- User is responsible for making sure that the software works, we promise nothing. Same for compliance with all local regulations.
- E.g. if you want to use our software for clinical trials, you have to apply for the proper authorizations at your institution
**NO** requirement to give your code back to open source.
- You can contribute code back to us, if you want to do that and it is our decision if we will accept it.

## More Information

- Project Overview
- _[http://www.na-mic.org](http://www.na-mic.org/)_
- Day-to-Day Organization, Project Plans, Event Information, Reference Materials, etc, etc.
- _[http://wiki.na-mic.org](http://wiki.na-mic.org/)_