Title: NAMIC Engineering Activities
1NAMIC Engineering Activities
2Results from Summer 2005 Programming Week at MIT
- Applications
- Quantitative Fiber Tract Analysis
- Rule-based DLPFC Segmentation
- Non-Rigid EPI Registration
- Algorithms
- Shape Description
- Shape Analysis
- Bayesian Segmentation
- 2d/3d point-landmark Detection
- Editing 3D Adaptive Tetrahedral Mesh Generation
- Flux Diffusion
- Software Infrastructure
- ITKu
- NRRD IO
- Slicer DTMRI Nightly Testing
- LONI Pipeline Integration of UNC Shape Analysis
Pipeline - Large Scale Algorithm Job Submissions via Condor
- Slicer 3.0 Architecture
3Quantitative Fiber Tract AnalysisDevelop
algorithms and tools for processing DTI data
quantitatively via tractography
Plan/Expected Challenges
Team
- Algorithms
- Work with slicer developers/users to get
perspective on different approaches to
tractography and fiber tract analysis. - Improve fiber clustering technique using
normalized cut algorithm - Generic tensor statistics module
Casey Goodlett, UNC (algorithms) Isabelle
Corouge, UNC (algorithms) Mahnaz Maddah, MIT
(algorithms) Xiaodong Tao, GE (software) Andrea
Bewels, BWH
Software computational speed.
Compatibility with BIRN data and slicer fiber
format..
Clinical Validation of results and feedback on
methods. Input on requirements of future methods.
(Add picture to illustrate accomplishment)
Accomplished by end of Programming Week
- Successful processing of NA-MIC data
- Conversion tool for fiber files
- Collaboration with Slicer team
- ITK module for Normalized Cut
- Discussion with Tom Fletcher onTensor Statistics
4DLPFC Semi-automatic SegmentorWith minimal user
interaction, this rule-based algorithm will
segment the DLPFC from an input volume. This is a
Slicer project but may have components that are
appropriate for ITK.
Plan/Expected Challenges
Team
Ramsey Al-Hakim, GT (algorithms) (contact) John
Melonakos (algorithms) Alex Yarmakovich, Isomics
(software) Jim Fallon, UCI (clinical)
Algorithms start with the Matlab implementation
and port to Slicer then explore porting to ITK.
Software computational speed. Intuitive user
interface.
Clinical Validation of results.
Accomplished by end of Programming Week
Build Slicer user interface. Final Step Wrap
ITK Bayesian Classifier Filter in VTK, and add
to module.
5EPI to MR RegistrationDevelop software tool
which can perform robust non-rigid, intrasubject
registration between an EPI image and a
conventional structural image.
- Algorithms
- Write testing harness for validation of results.
- Identify suitable registration method available
in ITK and optimal parameters. - Refine as necessary
6ITK based surface shape analysis modulesDevelop
ITK tools for shape representation and
statistical shape analysis.
Plan/Expected Challenges
Team
Algorithms Novel scientific visualization for
verification and display of the results (distance
maps, difference fields, covariance ellipsoid
fields, effect size maps, p-value maps etc).
Support of SPHARM description in ITK.
Ipek Oguz, UNC (Algorithms) Christine Xu, UNC
(Algorithms) Martin Styner, UNC (Algorithms)
(contact) Jim Miller, GE (software)
Software Design support for novel classes in ITK
Clinical Evaluation in separate Project
(UNC-LONI-pipeline)
Accomplished by end of Programming Week
Design and initial implementation for SPHARM
support in ITK, new MeshSource class,
Readers/Writers for basic coefficient files,
scalar attributed meshes (distance maps, p-value
maps). Simple tool for AttributedMesh display.
7Shape Analysis Description FrameworkDevelop a
generally applicable description for statistical
shape analysis studies, as well as a
computational framework.
Plan/Expected Challenges
Team
Algorithms Algorithms for DTI shape analysis in
the proposed framework.
Tom Fletcher, Utah (Algorithms) Martin Styner
UNC (software) (contact) Jim Miller, GE
(software)
Software Design and implement the description
for statistical shape studies, including
populations, subjects and objects. Use in
combintaion with a database and pipeline
framework.
Clinical Shape analysis of DTI data
Accomplished by end of Programming Week
Clear design for statistical studies and
experiments using DART2 database system and LONI
pipeline. Design of database API. Next step is
implementation of database system.
8Bayesian Classifier Image FilterUtilizing the
power of Bayes's Rule along with an
edge-preserving, affine invariant noise remover,
brain imagery can be successfully segmented into
N classes.
Plan/Expected Challenges
Team
John Melonakos, GT (algorithms) (contact) Luis
Ibanez, Kitware (software)
Algorithms start with the implementation
currently in Matlab, and port to ITK.
Software modify peripheral ITK components as
necessary.
Clinical test by segmenting brain volumes into
white, gray and background
Accomplished by end of Programming Week
Working ITK code in SandBox. Final Step (in
progress) Port code to the ITK filter.
93D Adaptive Tetrahedral MeshingDevelop
algorithm and ITK/Slicer software module for
volumetric adaptive mesh generaton.
Algorithms start with Red-green crystalline BCC
algorithm Molino, and uniform meshing
framework currently available in ITK, and refine
as necessary.
102D/3D Landmark DetectionImplement algorithm for
automatic landmark detection, implement necesaary
classes.
Algorithms implement class to estimate local
correlation matrix (or other structure tensor).
11Flux Diffusion in ITKImplement in ITK a specific
version of anisotropic diffusion for noise
removal.
Plan/Expected Challenges
Team
Algorithms noise removal in 3D.
Karl Krissian (collaborator) James Miller (GE)
Software Implement the flux diffusion (currently
as a module in the 3D slicer) in ITK.
Clinical noise removal as preprocessing to
segmentation.
Accomplished by end of Programming Week
Implemented the itkFluxDiffusion filter,
consisting of the Following new
classes itkFluxAnisotropicDiffusionFunction.h itk
FluxAnisotropicDiffusionFunction.txx itkFluxAnisot
ropicDiffusionImageFilter.h itkFluxAnisotropicDiff
usionImageFilter.txx
12Intensity CorrectionPort non-ITK code to ITK
Plan/Expected Challenges
Team
- Algorithms
- Previously developed intensity correction
(inhomogeneity artifact correction) and intensity
normalization (standardization to a model)
algorithms. - Pick most suitable optimization algorithm. Might
require a parameterized representation for the
correction field.
Neil Weisenfeld BWH (algorithms/software) Simon
Warfield, BWH (algorithms)
- Software
- Start with intensity correction as well-known
problem - Once working, abstract into common framework
between the two - methods and code the normalization.
(Add picture to illustrate accomplishment)
Accomplished by end of Programming Week
- Verified that the algorithm meets a need not
currently in ITK (current method known not to
work on neonatal data). - Recoded our production code to use the ITK I/O
framework. - Initial ITK version as an ITK application. Needs
some features added and needs to be recoded
neatly as a separate class.
Place your picture/movie here.
13ITKuMinimalist command line tools using ITK .
Plan/Expected Challenges
Team
Raul San Jose, BWH (collaborator)
(contact) Gordon Kindlmann, BWH
(collaborator) Jim Miller (GE)
Algorithms N/A.
Software nD array manipulation and pipeline
communication between ITK filters.
Clinical Command line versatility to accomplish
tasks.
Accomplished by end of Programming Week
- Teem builds with Cmake - Define strategy for
itku - Filter example dynamic loading of
itkDiscreteGaussianImageFilter
14Large Scale Algorithm Job Submission via
CondorEnable distributed execution of NAMIC
algorithms.
Grid Infrastructure Deploy the infrastructure
and software to enable the scheduling and
submission of staged NAMIC algorithms.
Scalability Under heavy usage, monitor
connections and performance. The discovered
bottlenecks will aid in configuration
improvements for specific implementations.
Grid Applications Application of the
infrastructure to specific NAMIC algorithms.
NAMIC Community Collect use cases and
requirements as to how this infrastructure can be
utilized by NAMIC developers and researchers.
Gained understanding of how NAMIC would like to
submit jobs. Different that how Condor works out
of the box, so we'll have to customize for NAMIC
community.
Ran actual tests using NAMIC datasets and
Registration executable.
Uncovered a few global configuration issues for
Compute Cluster (non-UID, memory, versions).
Built preliminary shell scripts that when passed
to cluster node will download datasets and
executable, run program, and push results back
into BIRN.
Built sample shell script that can be run command
line which handles automatic job submission by
creating submit files (and multiple submissions)
and passing arguments into executable.
Worked with Steve to draft 'Straw Man' for
proposed design of 'namic-submit' functionality
and syntax. Should handle proxy, submission,
required files, logs, stdout, stdin, and job
tracking.
15NrrdIO measurement framesUpdate NrrdIO in ITK
and possibly add a measurement frame to ITK
Plan/Expected Challenges
Team
- Cvs commit latest NrrdIO into ITK (so that new
measurement frame field for DWI can be parsed) - Make Slicer parse updated DWI NHDR headers
- Help others w/ DWI data write NHDR headers
- Mapping from the NRRD fields to ITK image fields
- Experiment with Measurement Frame in ITK Image
- ? Have to learn more about ITK
Gordon Kindlmann, BWH Raul San Jose Estepar,
BWH Bill Lorensen, GE ?
Software ITK Image data structures
Clinical save the children
Accomplished by end of Programming Week
- TODO
- Mapping NRRDITK non-scalar images
- Experiment with Measurement Frame in ITK
- Latest NrrdIO now committed into ITK orientation
info properly handled - Slicer can parse updated DWI NHDR headers (but
via a VTK, not ITK, reader) - Rough spec of needs for DWI ITK Image type
working with Karthik Krishnan and others to get
this implemented
16DTMRI Nightly TestingWrite nightly regression
tests for the DT-MRI Slicer module, for as much
existing code as possible.
Plan/Expected Challenges
Team
Lauren ODonnell (MIT) (contact) Raul San-Jose
Estepar (BWH) Kathryn Hayes (BWH) Steve Pieper
(BWH) Andy Cedilnik, Kitware (software) Mark
Dreusicke, BWH (clinical)
- Algorithms Write testing code for many
functions, including - Tensor creation
- Scalar measure creation
- Clustering
- I/O
Software Provide guidance on CTest and CMake,
test data creation, and error reporting.
Clinical This project will help validate
research use only of the DTMRI module.
Accomplished by end of Programming Week
- Some functioning tcl and C nightly tests
(depends on slicer test process also). - Clearly-defined requirements for when tests are
added (rules). - Clearly understood method for adding new tests.
- Documentation of above requirements and methods.
17LONI Pipeline for UNC shape analysisMove the
UNC script based shape analysis pipeline to the
LONI pipeline for enhanced applicability.
Plan/Expected Challenges
Team
Martin Styner, UNC (Algorithms) (contact) Ipek
Oguz, UNC (Algorithms) Jags Rajendiran, UCLA
(software)
Algorithms Use the existing algorithms and fit
them into the LONI pipeline architecture.
Software If needed, any adaptations are made.
Clinical Validation of results from both UNC
based pipeline to LONI pipeline applied to NAMIC
Harvard VA caudate dataset.
Accomplished by end of Programming Week
- Pipeline constructed and validated on individual
datasets - Feature necessity and bug report list for LONI
- Combination of LONI and UNC Software
- Results from pipeline validated
18Slicer3 Architecture Discussiondevelop a user
and developer friendly application environment
Plan/Expected Challenges
Team
All (algorithms) All (software) Presenters Ron
Kikinis, Steve Pieper, Mike Halle, Tina Kapur,
Will Schroeder, Berk Geveci, Mike Pan, Bill
Lorensen, Luis Ibanez All (clinical)
Algorithms express needs for rapid
development, exerpimentation, and interactive
steering/visualization
Software flexible software framework, easy to use
Clinical friendly user interface, full featured
Discussions Big Picture, Technical, Developer
Empowerment, Reuse, KWWidgets, 3D Widgets, Server
Manager, Pipeline, Grid, Licneses Plans
Algorithm Wrapping (see next page). Widget
Bake Off Initial Focus on Image Viewer /
Segmentation Editor
19Slicer 3.0
User Desktop
Algorithms
ITK
VTK
Slicer Modules
Slicer 3.0
Scripts of Slicer Mods
VTK Apps Using ITK
Batch Programs
Non-NAMIC Cmd tools
LONI Pipeline
Birn Grid Data/Compute
20Non-Programming Week NA-MIC Engineering
Interactions
- Registration
- Linear and Non-Linear vtkITK Registration Modules
Now Available in Slicer - I/O
- vtkITK based Generic Readers in Slicer
- vtkNRRDReader handles measurement frames, space
directions, gradients for DWI - fMRI
- ITK Statistics framework underway
- Editor
- Collaboration with Simbios NCBC at Stanford to
adapt Slicer Editor for Musculoskeletal MRI