Difference between revisions of "ITK Registration Optimization"

From NAMIC Wiki
Jump to: navigation, search
 
Line 1: Line 1:
 +
= Goals =
 +
 +
There are two components to this research
 +
# Identify registration algorithms that are suitable for non-rigid registration problems that are indemic to NA-MIC
 +
# Develop implementations of those algorithms that take advantage of multi-core and multi-processor hardware.
 +
 +
== Algorithmic Requirements and Use Cases ==
 +
 +
* Requirements
 +
** relatively robust, with few parameters to tweak
 +
** runs on grey scale images
 +
** has already been published
 +
** relatively fast (ideally speaking a few minutes for volume to volume).
 +
** not patented
 +
** can be implemented in ITK and parallelized.
 +
 +
* Use-cases
 +
*# '''Intersubject mapping''' [[Intersubject|example data set]] (Kilian)
 +
*# '''fMRI to hi-res brain morphology mapping''' [[FMRI-to-hires|example data set]] (Steve Pieper)
 +
*# '''DTI: components of the diffusion tensor''' [[DTI-non-rigid]] (Sylvain)
 +
 +
== Performance Requirements and Use Cases ==
 +
 +
* Requirements
 +
** Single and multi-core machines
 +
** Single and multi-processor machines
 +
** AMD and Intel - Windows, Linux, and SunOS
 +
 +
* Use-cases
 +
** <list specific machines here>
 +
 +
= Workplan =
 +
 +
# Quantify current performance and bottlenecks
 +
## Identify timing tools (cross platform, multi-threaded)
 +
## For each use-case
 +
### Centralized data and provide easy access
 +
### Identify relevant registration algorithm(s)
 +
### Develop traditional ITK-style implementations
 +
### Develop timing tests using implementations and data
 +
## Across use-cases
 +
### Identify ITK classes/functions common to implementations (e.g., interpolation/resampling)
 +
### Develop timing tests specific to these common sub-classes
 +
## Compute performance on multiple platforms
 +
 +
= Progress Highlights =
 +
 +
# Quantify current performance and bottlenecks
 +
## Identify timing tools
 +
##* We have chosen [http://www.cs.uoregon.edu/research/tau/home.php| TAU] for the performance quantification tool
 +
##* Summary of select performance quantification tools is available here
 +
 +
 +
= Performance Measurement =
 
* [http://www.intel.com/cd/software/products/asmo-na/eng/vtune/vlin/239145.htm Intel's VTune for Linux] ($)
 
* [http://www.intel.com/cd/software/products/asmo-na/eng/vtune/vlin/239145.htm Intel's VTune for Linux] ($)
 
* [http://www.cs.uoregon.edu/research/tau/home.php TAU]
 
* [http://www.cs.uoregon.edu/research/tau/home.php TAU]

Revision as of 04:44, 7 January 2007

Home < ITK Registration Optimization

Goals

There are two components to this research

  1. Identify registration algorithms that are suitable for non-rigid registration problems that are indemic to NA-MIC
  2. Develop implementations of those algorithms that take advantage of multi-core and multi-processor hardware.

Algorithmic Requirements and Use Cases

  • Requirements
    • relatively robust, with few parameters to tweak
    • runs on grey scale images
    • has already been published
    • relatively fast (ideally speaking a few minutes for volume to volume).
    • not patented
    • can be implemented in ITK and parallelized.

Performance Requirements and Use Cases

  • Requirements
    • Single and multi-core machines
    • Single and multi-processor machines
    • AMD and Intel - Windows, Linux, and SunOS
  • Use-cases
    • <list specific machines here>

Workplan

  1. Quantify current performance and bottlenecks
    1. Identify timing tools (cross platform, multi-threaded)
    2. For each use-case
      1. Centralized data and provide easy access
      2. Identify relevant registration algorithm(s)
      3. Develop traditional ITK-style implementations
      4. Develop timing tests using implementations and data
    3. Across use-cases
      1. Identify ITK classes/functions common to implementations (e.g., interpolation/resampling)
      2. Develop timing tests specific to these common sub-classes
    4. Compute performance on multiple platforms

Progress Highlights

  1. Quantify current performance and bottlenecks
    1. Identify timing tools
      • We have chosen TAU for the performance quantification tool
      • Summary of select performance quantification tools is available here


Performance Measurement