2015 Winter Project Week:OpenAtlas

From NAMIC Wiki
Revision as of 20:33, 24 December 2014 by MarchingGuy (talk | contribs) (→‎Status)
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 strutures
    • 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 approached 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.

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.

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!

Status

  • Git Repository
  • Software Tools
    • GenerateModelsFromLabels
    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.
    • GenerateCubesFromLabels
    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.
    • GenerateAdjacensies
    Generates a table that shows all of the labels that touch a given label.
    • GenerateStatisticsFromLabels
    Uses itkLabelStatisticsImageFilter to generate a variety of statistics for each label. Browse here to see examples of the statistics.
    • DisplayAdjacentModels
    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. Browse here to see the current screenshots.
    • LabelDiffs
    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. Browse here to see the difference files.
    • LabelsChanged
    Given two atlases, reports the labels that have changed.
    • ReportDisconnectedRegions
    For each label, warns if a label has more than one connected region.