NA-MIC National Alliance for Medical Image Computing NAMIC Engineering Activities September 8,...

20
NA-MIC National Alliance for Medical Image Computing http://na-mic.org NAMIC Engineering Activities September 8, 2005

Transcript of NA-MIC National Alliance for Medical Image Computing NAMIC Engineering Activities September 8,...

NA-MICNational Alliance for Medical Image Computing http://na-mic.org

NAMIC Engineering Activities

September 8, 2005

National Alliance for Medical Image Computing http://na-mic.org

Results 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

National Alliance for Medical Image Computing http://na-mic.org

Quantitative Fiber Tract Analysis:Develop algorithms and tools for processing DTI data quantitatively via tractography

Casey Goodlett, UNC (algorithms)Isabelle Corouge, UNC (algorithms)Mahnaz Maddah, MIT (algorithms)

Xiaodong Tao, GE (software)

Andrea Bewels, BWH

Algorithms:1. Work with slicer developers/users to get perspective on different

approaches to tractography and fiber tract analysis. 2. Improve fiber clustering technique using normalized cut algorithm3. Generic tensor statistics module 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.

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week (Add picture to illustrate accomplishment)

1) Successful processing of NA-MIC data2) Conversion tool for fiber files3) Collaboration with Slicer team4) ITK module for Normalized Cut5) Discussion with Tom Fletcher on

Tensor Statistics

National Alliance for Medical Image Computing http://na-mic.org

DLPFC Semi-automatic Segmentor:With 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.

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.

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week

Build Slicer user interface.

Final Step: Wrap ITK Bayesian Classifier Filter in VTK,and add to module.

National Alliance for Medical Image Computing http://na-mic.org

EPI to MR Registration:Develop software tool which can perform robust non-rigid, intrasubject registration between an EPI image and a conventional structural image.

Dave Tuch, MGH (algorithms) (contact)Josh Snyder, MGH (algorithms)Sandy Wells, BWH (algorithms consultant)

Luis Ibanez, Kitware (software)

Andy Saykin, Dartmouth (clinical)

Algorithms:• Write testing harness for validation of results.• Identify suitable registration method available in ITK and optimal parameters.• Refine as necessary

Software: Provide guidance on optimal use of ITK reg methods.

Clinical: Validation of results.

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week

Motivated fuller support for image orientation in Slicer and ITKExpanded understanding of metric and optimizer parametersProduced working rigid registrationIdentified possible approaches for non-rigid component

National Alliance for Medical Image Computing http://na-mic.org

ITK based surface shape analysis modules:Develop ITK tools for shape representation and statistical shape analysis.

Ipek Oguz, UNC (Algorithms) Christine Xu, UNC (Algorithms)Martin Styner, UNC (Algorithms) (contact)

Jim Miller, GE (software)

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.

Software: Design support for novel classes in ITK

Clinical: Evaluation in separate Project (UNC-LONI-pipeline)

Plan/Expected ChallengesTeam

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.

National Alliance for Medical Image Computing http://na-mic.org

Shape Analysis: Description &FrameworkDevelop a generally applicable description for statistical shape analysis studies, as well as a computational framework.

Tom Fletcher, Utah (Algorithms)

Martin Styner UNC (software) (contact) Jim Miller, GE (software)

Algorithms: Algorithms for DTI shape analysis in the proposed framework.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

Plan/Expected ChallengesTeam

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.

National Alliance for Medical Image Computing http://na-mic.org

Bayesian Classifier Image Filter:Utilizing the power of Bayes's Rule along with an edge-preserving, affine invariant noise remover, brain imagery can be successfully segmented into ‘N’ classes.

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.

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week

Working ITK code in SandBox.

Final Step (in progress): Port code to the ITK filter.

Clinical: test by segmenting brain volumes into white, gray and background

National Alliance for Medical Image Computing http://na-mic.org

3D Adaptive Tetrahedral Meshing:Develop algorithm and ITK/Slicer software module for volumetric adaptive mesh generaton.

Andriy Fedorov, BWH/College of Williamand Mary (CWM) (algorithms,software) ([email protected])Nikos Chrisochoides, BWH/CWM (algorithms)Will Shroeder, Kitware (software)Simon Warfield, BWH (application consultant, clinical, algorithms)

Algorithms: start with Red-green crystalline BCC algorithm [Molino], and uniform meshing frameworkcurrently available in ITK, and refine as necessary.

Software: user interface, better use of existing ITK functionality, computational speed,

Clinical: neurosurgery application/brain deformation -FEM non-rigid registration (evaluate within existing framework).

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week (as of July 21, 2005)• positioned the implementation within ITK hierarchy• agreed on separation of refinement and smoothing• finished migration of the code to the ITK classes• performed preliminary tests for the application: works!• implemented deformation routines with ITK FEM and PETSc• software: submission to MICCAI Open source workshop• clinical: submission to SPIE Medical Imaging in progress• need to work more on surface quality

National Alliance for Medical Image Computing http://na-mic.org

2D/3D Landmark DetectionImplement algorithm for automatic landmark detection, implement necesaary classes.

Bryn Lloyd, BWH/ETH Zürich (algorithms)Simon Warfield, BWH (application consultant, clinical, algorithms)

Algorithms: implement class to estimate local correlation matrix (or other structure tensor).

Software: user interface, better use of existing ITK functionality, computational speed,Clinical: neurosurgery application/brain deformation -non-rigid registration. Registration validation(?)

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week

Wrote itk classes to:- calculate structure tensor- calculate cornerness measure from structure tensor.- find local maxima of the cornerness.

Wrote test code: works.

National Alliance for Medical Image Computing http://na-mic.org

Flux Diffusion in ITKImplement in ITK a specific version of anisotropic diffusion for noise removal.

Karl Krissian (collaborator)James Miller (GE)

Algorithms: noise removal in 3D.

Software: Implement the flux diffusion (currently as a module in the 3D slicer) in ITK.

Clinical: noise removal as preprocessing to segmentation.

Plan/Expected ChallengesTeam

Accomplished by end of Programming WeekImplemented the itkFluxDiffusion filter, consisting of theFollowing new classes:itkFluxAnisotropicDiffusionFunction.hitkFluxAnisotropicDiffusionFunction.txxitkFluxAnisotropicDiffusionImageFilter.hitkFluxAnisotropicDiffusionImageFilter.txx

National Alliance for Medical Image Computing http://na-mic.org

Intensity CorrectionPort non-ITK code to ITK

Neil Weisenfeld BWH (algorithms/software)Simon Warfield, BWH (algorithms)

Algorithms:1. Previously developed intensity correction (inhomogeneity artifact

correction) and intensity normalization (standardization to a model) algorithms.

2. Pick most suitable optimization algorithm. Might require a parameterized representation for the correction field.Software:

1. Start with intensity correction as well-known problem 2. Once working, abstract into common framework between the two

methods and code the normalization.

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week (Add picture to illustrate accomplishment)

•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.

National Alliance for Medical Image Computing http://na-mic.org

ITKu:Minimalist command line tools using ITK .

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.

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week

- Teem builds with Cmake- Define strategy for itku- Filter example: dynamic loading of itkDiscreteGaussianImageFilter U

National Alliance for Medical Image Computing http://na-mic.org

Large Scale Algorithm Job Submission via Condor:Enable distributed execution of NAMIC algorithms.

Jason Gerk, UCSD (Grid Infrastructure) (contact)Jeffrey Grethe, UCSD (Grid Infrastructure)

Steve Pieper, BWH (Grid Applications)

NAMIC Community

Grid Infrastructure: Deploy the infrastructure and software to enable the scheduling and submission of staged NAMIC algorithms.

NAMIC Community: Collect use cases and requirements as to how this infrastructure can be utilized by NAMIC developers and researchers.

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week

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.

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.

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.

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.

Built preliminary shell scripts that when passed to cluster node will download datasets and executable, run program, and push results back into BIRN.

Ran actual tests using NAMIC datasets and Registration executable.

Uncovered a few global configuration issues for Compute Cluster (non-UID, memory, versions).

National Alliance for Medical Image Computing http://na-mic.org

Gordon Kindlmann, BWHRaul San Jose Estepar, BWH

Bill Lorensen, GE ?

1. Cvs commit latest NrrdIO into ITK (so that new “measurement frame” field for DWI can be parsed)

2. Make Slicer parse updated DWI NHDR headers3. Help others w/ DWI data write NHDR headers4. Mapping from the NRRD fields to ITK image fields5. Experiment with Measurement Frame in ITK Image Have to learn more about ITK

Software: ITK Image data structuresClinical: save the children

Plan/Expected ChallengesTeam

Accomplished by end of Programming Week

1. Latest NrrdIO now committed into ITK; orientation info properly handled

2. Slicer can parse updated DWI NHDR headers (but via a VTK, not ITK, reader)

3. Rough spec of needs for DWI ITK Image type; working with Karthik Krishnan and others to get this implemented

NrrdIO + measurement frames:Update NrrdIO in ITK and possibly add a measurement frame to ITK

TODO:• Mapping NRRD<-->ITK non-scalar images• Experiment with Measurement Frame in ITK

National Alliance for Medical Image Computing http://na-mic.org

DTMRI Nightly Testing:Write nightly regression tests for the DT-MRI Slicer module, for as much existing code as possible.

Lauren O’Donnell (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.

Plan/Expected ChallengesTeam

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.

National Alliance for Medical Image Computing http://na-mic.org

LONI Pipeline for UNC shape analysis:Move the UNC script based shape analysis pipeline to the LONI pipeline for enhanced applicability.

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.

Plan/Expected ChallengesTeam

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

National Alliance for Medical Image Computing http://na-mic.org

Slicer3 Architecture Discussion:develop a user and developer friendly application environment

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

Plan/Expected ChallengesTeam

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

National Alliance for Medical Image Computing http://na-mic.org

UserDesktop

Slicer 3.0

Algorithms ITK VTK SlicerModules

VTK AppsUsing ITK

Scripts ofSlicer Mods

BatchPrograms

Non-NAMICCmd tools

LONIPipeline

Birn GridData/Compute

Slicer 3.0

National Alliance for Medical Image Computing http://na-mic.org

Non-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