Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > Class Template Reference

Deformably register two images using the PDEs and NCC. More...

#include <otbNCCRegistrationFilter.h>

+ Inheritance diagram for otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >:
+ Collaboration diagram for otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >:

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
Superclass::DisplacementFieldPointer 
DisplacementFieldPointer
 
typedef
Superclass::DisplacementFieldType 
DisplacementFieldType
 
typedef
Superclass::FiniteDifferenceFunctionType 
FiniteDifferenceFunctionType
 
typedef
Superclass::FixedImagePointer 
FixedImagePointer
 
typedef Superclass::FixedImageType FixedImageType
 
typedef
Superclass::MovingImagePointer 
MovingImagePointer
 
typedef Superclass::MovingImageType MovingImageType
 
typedef
NCCRegistrationFunction
< FixedImageType,
MovingImageType,
DisplacementFieldType
NCCRegistrationFunctionType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
NCCRegistrationFunctionType::RadiusType 
RadiusType
 
typedef NCCRegistrationFilter Self
 
typedef
itk::PDEDeformableRegistrationFilter
< TFixedImage, TMovingImage,
TDisplacementField > 
Superclass
 
typedef Superclass::TimeStepType TimeStepType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual double GetMetric () const
 
virtual const char * GetNameOfClass () const
 
virtual RadiusType GetNCCRadius () const
 
virtual void SetNCCRadius (RadiusType radius)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::ImageSource< TOutputImage >
static const
ImageRegionSplitterBase
GetGlobalDefaultSplitter (void)
 

Protected Member Functions

 NCCRegistrationFilter ()
 
virtual ~NCCRegistrationFilter ()
 
virtual void ApplyUpdate (TimeStepType dt)
 
virtual void GenerateInputRequestedRegion ()
 
virtual void InitializeIteration ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 
- Protected Member Functions inherited from itk::DenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField >
void PrintSelf (std::ostream &os, Indent indent) const
 
void PrintSelf (std::ostream &os, Indent indent) const
 
- Protected Member Functions inherited from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >
virtual void AllocateUpdateBuffer ()=0
 
virtual TimeStepType CalculateChange ()=0
 
virtual void CopyInputToOutput ()=0
 

Private Member Functions

 NCCRegistrationFilter (const Self &)
 
void operator= (const Self &)
 

Detailed Description

template<class TFixedImage, class TMovingImage, class TDisplacementField>
class otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >

Deformably register two images using the PDEs and NCC.

NCCRegistrationFilter implements the ####### register two images by computing the displacement field which will map a moving image onto a fixed image.

A displacement field is represented as a image whose pixel type is some vector type with at least N elements, where N is the dimension of the fixed image. The vector type must support element access via operator []. It is assumed that the vector elements behave like floating point scalars.

This class is templated over the fixed image type, moving image type and the displacement field type.

The input fixed and moving images are set via methods SetFixedImage and SetMovingImage respectively. An initial displacement field maybe set via SetInitialDisplacementField or SetInput. If no initial field is set, a zero field is used as the initial condition.

The algorithm has one parameter: the number of iteration to be performed.

The output displacement field can be obtained via methods GetOutput or GetDisplacementField.

This class make use of the finite difference solver hierarchy. Update for each iteration is computed in NCCRegistrationFunction.

Warning
This filter assumes that the fixed image type, moving image type and displacement field type all have the same number of dimensions.
See Also
NCCRegistrationFunction
Examples:
DisparityMap/NCCRegistrationFilterExample.cxx.

Definition at line 67 of file otbNCCRegistrationFilter.h.

Member Typedef Documentation

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef itk::SmartPointer<const Self> otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::ConstPointer

Definition at line 77 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef Superclass::DisplacementFieldPointer otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldPointer

Definition at line 101 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef Superclass::DisplacementFieldType otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldType

Displacement field type.

Definition at line 99 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef Superclass::FiniteDifferenceFunctionType otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FiniteDifferenceFunctionType

FiniteDifferenceFunction type.

Definition at line 105 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef Superclass::FixedImagePointer otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FixedImagePointer

Definition at line 91 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef Superclass::FixedImageType otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FixedImageType

FixedImage image type.

Definition at line 90 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef Superclass::MovingImagePointer otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::MovingImagePointer

Definition at line 95 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef Superclass::MovingImageType otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::MovingImageType

MovingImage image type.

Definition at line 94 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef NCCRegistrationFunction<FixedImageType, MovingImageType, DisplacementFieldType> otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::NCCRegistrationFunctionType

NCCRegistrationFilterFunction type.

Definition at line 109 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef itk::SmartPointer<Self> otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Pointer

Definition at line 76 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef NCCRegistrationFunctionType::RadiusType otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::RadiusType

Definition at line 111 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef NCCRegistrationFilter otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Self

Standard class typedefs.

Definition at line 73 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField> otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Superclass

Definition at line 75 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
typedef Superclass::TimeStepType otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::TimeStepType

Inherit types from superclass.

Definition at line 84 of file otbNCCRegistrationFilter.h.

Constructor & Destructor Documentation

template<class TFixedImage , class TMovingImage , class TDisplacementField >
otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::NCCRegistrationFilter ( )
protected
template<class TFixedImage, class TMovingImage, class TDisplacementField>
virtual otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::~NCCRegistrationFilter ( )
inlineprotectedvirtual

Definition at line 135 of file otbNCCRegistrationFilter.h.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::NCCRegistrationFilter ( const Self )
private

Member Function Documentation

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::ApplyUpdate ( TimeStepType  dt)
protectedvirtual

Apply update.

Definition at line 231 of file otbNCCRegistrationFilter.txx.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
virtual::itk::LightObject::Pointer otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::CreateAnother ( void  ) const
template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::GenerateInputRequestedRegion ( void  )
protectedvirtual
template<class TFixedImage , class TMovingImage , class TDisplacementField >
double otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::GetMetric ( ) const
virtual

Get the metric value. The metric value is computed over the the overlapping region between the two images. This is value is only available for the previous iteration and NOT the current iteration.

Returns
metric

Definition at line 92 of file otbNCCRegistrationFilter.txx.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
virtual const char* otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.

template<class TFixedImage , class TMovingImage , class TDisplacementField >
NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::RadiusType otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::GetNCCRadius ( ) const
virtual

Get the radius.

Returns
radius.

Definition at line 115 of file otbNCCRegistrationFilter.txx.

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::InitializeIteration ( )
protectedvirtual

Initialize the state of filter and equation before each iteration.

Definition at line 59 of file otbNCCRegistrationFilter.txx.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
static Pointer otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::New ( )
static

Method for creation through the object factory.

template<class TFixedImage, class TMovingImage, class TDisplacementField>
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::operator= ( const Self )
private
template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protected

Definition at line 46 of file otbNCCRegistrationFilter.txx.

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::SetNCCRadius ( RadiusType  radius)
virtual

Set the NCC radius

Parameters
radius

Definition at line 138 of file otbNCCRegistrationFilter.txx.


The documentation for this class was generated from the following files: