Difference between revisions of "2015 Winter Project Week:OpenAtlas"
MarchingGuy (talk | contribs) |
MarchingGuy (talk | contribs) (→Status) |
||
Line 65: | Line 65: | ||
*Software Tools | *Software Tools | ||
**''GenerateModelsFromLabels'' | **''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. | + | *: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. |
**''GenerateCubesFromLabels'' | **''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. | *: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. | ||
Line 71: | Line 71: | ||
*:Generates a table that shows all of the labels that touch a given label. | *:Generates a table that shows all of the labels that touch a given label. | ||
**''GenerateStatisticsFromLabels'' | **''GenerateStatisticsFromLabels'' | ||
− | *:Uses itkLabelStatisticsImageFilter to generate a variety of statistics for each label. | + | *:Uses ''itkLabelStatisticsImageFilter'' to generate a variety of statistics for each label. |
**''DisplayAdjacentModels'' | **''DisplayAdjacentModels'' | ||
*:For each label, creates screenshots of the model and the laels it touches. One view for the STL models and another for the Cuberille models. | *:For each label, creates screenshots of the model and the laels it touches. One view for the STL models and another for the Cuberille models. |
Revision as of 20:21, 24 December 2014
Home < 2015 Winter Project Week:OpenAtlasKey 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
- Pilot project atlas is the Neuro Image Analysis Center's Multi-modality MRI-based Atlas of the Brain
- Established a github repository
- Developed several tools and scripts to process the atlas
- Edited several structures with Slicer to exercise the tools
- Created a CDash dashboard
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 was 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.
- 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.
- DisplayAdjacentModels
- For each label, creates screenshots of the model and the laels it touches. One view for the STL models and another for the Cuberille models.
- 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.
- LabelsChanged
- Given two atlases, reports the labels that have changed.
- ReportDisconnectedRegions
- For each label, warns if a label has more than one connected region.