Difference between revisions of "ITK Registration Optimization"

From NAMIC Wiki
Jump to: navigation, search
Line 15: Line 15:
 
** can be implemented in ITK and parallelized.
 
** can be implemented in ITK and parallelized.
  
* Use-cases
+
* Use-cases (Applications)
 
*# '''Intersubject mapping''' [[Intersubject|example data set]] (Kilian)
 
*# '''Intersubject mapping''' [[Intersubject|example data set]] (Kilian)
 
*# '''fMRI to hi-res brain morphology mapping''' [[FMRI-to-hires|example data set]] (Steve Pieper)
 
*# '''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)
 
*# '''DTI: components of the diffusion tensor''' [[DTI-non-rigid]] (Sylvain)
 +
 +
* Use-cases (Platforms)
 +
** Single and multi-core machines
 +
** Single and multi-processor machines
 +
** AMD and Intel - Windows, Linux, and SunOS
 +
*** Intel quad-core Xeon processors (?)
 +
*** 6 CPU Sun, Solaris 8 (SPL: vision)
 +
*** 12 CPU Sun, Solaris 8 (SPL: forest and ocean)
 +
*** 16 core Opteron (SPL: john, ringo, paul, george)
 +
*** 16 core, Sun Fire, AMDOpteron (UNC: Styner)
  
 
* Related NA-MIC wiki pages
 
* Related NA-MIC wiki pages

Revision as of 13:12, 30 March 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.
  • Use-cases (Platforms)
    • Single and multi-core machines
    • Single and multi-processor machines
    • AMD and Intel - Windows, Linux, and SunOS
      • Intel quad-core Xeon processors (?)
      • 6 CPU Sun, Solaris 8 (SPL: vision)
      • 12 CPU Sun, Solaris 8 (SPL: forest and ocean)
      • 16 core Opteron (SPL: john, ringo, paul, george)
      • 16 core, Sun Fire, AMDOpteron (UNC: Styner)

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>

Data

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

User Contributions

Performance Measurement