Proposals:Oriented Image Registration

From KitwarePublic
Revision as of 12:42, 3 October 2007 by Ibanez (talk | contribs) (New page: __TOC__ = Proposal= itkOrientedImage should be the preferred image to use for performing image registration. Currently the direction cosines contained in this image are not used consist...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Proposal

itkOrientedImage should be the preferred image to use for performing image registration.

Currently the direction cosines contained in this image are not used consistently by all the classes involved in image registration.

This page proposes a comprehensive approach for fixing this problem.

The Problem

Most image metrics internally compute image gradients as part of the process of computing the derivatives of the Metric. Such image gradients are currently computed in the space of the image grid, taking into account the pixel spacing but not taking into account the image direction

The Proposed Solution

The prososed solution involves modifications of the toolkit at four different levels

  1. Adding a methods to itk::ImageBase for transforming index space Gradients into physical space Gradients and back
    • These methods will be overloaded in the oriented image.
    • The methods will be implemented using Template Metaprogramming in order to reduce their impact on performance
  2. Adding boolean flags to all classes that compute image gradients
    • When the boolean flags are ON the image direction will be taken into account
    • The boolean flags will be initialized to OFF by default in order to provide backward-compatibility
  3. The ImageMetrics will turn ON the boolean flags of helper classes used for computing gradients
  4. An advanced CMake variable will enable the use of all the mechanisms defined above
    • The variable will be OFF by default in order to provide backward-compatibility