2015 Winter Project Week:OpenAtlas

From NAMIC Wiki
Jump to: navigation, search
Home < 2015 Winter Project Week:OpenAtlas

Key Investigators

  • Bill Lorensen (Noware)

Project Description

Objective

  • Provide tools and techniques to support community-driven anatomy atlas editing and curating.

Approach, Plan

Adapt extreme testing techniques used for software development to manage changes to anatomy atlases.

  • Define procedures and policies to support atlas development
  • Maintain a github repository to hold
    • Image atlases
    • Software tools to create models and check atlases for consistency
    • Cube and STL models for anatomy structures
    • Statistics for anatomy structures
    • Displays of changes in structures
    • Displays of structure adjacencies
  • Create a CDash dashboard to track changes in the atlases

Progress

Before Project Week

During Project Week

  • Establish an external data mechanism to keep the large binary files out of the repository. This will use the CMake ExternalData techniques developed for VTK and ITK.
  • Create a Superbuild option for VTK and ITK that will simplify configuring the required VTK and ITK toolkits.
  • Get feedback from stake holders (Ron, Mike Halle, Marianna Jakab)

Background

In December 2005, DARPA sponsored a Virtual Face workshop. The purpose of the workshop was to discuss approaches to create a DARPA program that would address facial trauma in soldiers returning from Iraq and Afghanistan. Rick Satava, DARPA Program Officer, brought together clinicians, bio-medical researchers and computer scientists to brainstorm on the requirements of such a project.

At that time, GE Research was involved in another DARPA Program called "Virtual Soldier". GE's role was to support anatomy modelling and visualization for the project. Brigham and Women's SPL was a GE subcontractor. GE and BWH used the Visible Human segmented Thorax data as a base for modeling the chest of military combatants. A number of software tools were created to process this data.

After the Virtual Face Meeting, Bill Lorensen and Tim Kelliher, both from GE Research, brainstormed about creating a face atlas for the project. The meeting took place at the Rock Bottom Brewery in Arlington, VA. No facial atlas existed, but they came up with the notion of using the world community to create and maintain such an atlas. They would use an "Extreme Testing" approach that GE Research pioneered for VTK and ITK. The approach would adapt the nightly build/test dashboard techniques that GE had developed.

Unfortunately, the Virtual Face Program was never funded by DARPA.

In January 2007, Terry Yoo (the father of ITK) at the National Library of Medicine, held a workshop on future directions for NLM software initiatives. Lorensen presented a talk called "Community Driven Data Annotation/Curation" This talk synthesized many of the Kelliher/Lorensen notions.

Unfortunately, the program was never funded by NLM.

In 2007, Lorensen retired from GE Research and became an unpaid intern in BillsBasement@noware. Fighting the winter blues, he revived, modified and extended many of the original Virtual Soldier atlas processing tools. He applied these tools to the Brigham and Womens SPL Brain Atlas. Noware graciously provided funding and the Open Atlas project was born.

At last, the Open Atlas Program is funded by Noware!

Status

  • Open Atlas Git Repository
  • Software Tools
    Generates STL models for all labels in the atlas. Uses vtkDiscreteMarchingCubes to generate an initial surface and vtkWindowedSincPolyDataFilter with NonManifoldSmoothingOn(). The NonManifoldSmoothing prevents adjacent structures from overlapping. Browse here to see the STL models. Github renders most of the models.
    Generates a Cuberille model of each labelled structure. The program converts the point data labels to cell data. The resulting vtk models show each "label" without smoothing.
    Generates a table that shows all of the labels that touch a given label.
    Uses itkLabelStatisticsImageFilter to generate a variety of statistics for each label. Browse here to see examples of the statistics.
    For each label, creates screenshots of the model and the labels it touches. One view for the STL models and another for the Cuberille models. Here is the display for the right frontal pole Browse here to see the current screenshots.
    Given and old atlas and a new atlas, creates displays of each Cuberille model that has changed. Two views: one showing additions (in green) and deletions (in red), the other showing the modified model. Here are the differences in the pons after editing. Browse here to see all of the difference files.
    Given two atlases, reports the labels that have changed.
    For each label, warns if a label has more than one connected region.

Project Week Progress

  • External Data (0%)
    The project uses and creates many large binary files. They bloat the checkout. CMake supports an external data mechanism that separates the large binary files from the main git repository.
  • Superbuild (50%)
    Open Atlas uses both VTK and ITK toolkits. A Superbuild for ITK and VTK will make it easier to configure. Also, taking advantage of the modularity in ITK and VTK, faster build times for the toolkits will be possible.
    • Pros
    1. Good for a non VTK/ITK expert
    2. More stable since it builds the correct versions of VTK and ITK
    3. Sets the proper build options to be compatible with the Open Atlas tools.
    4. Takes advantage of the VTK and ITK modularity, only building what the Open Atlas needs from the toolkits.
    • Cons
    1. Might duplicate disk space and limit experimenting for sophisticated VTK/ITK developers
    2. Care must be taken to update the configuration when new VTK/ITK components are needed.
  • Stakeholder Feedback (0%)
    This project has started with very little feedback from the customer.
  • Documentation (0%)

Create wiki documentation.