OTB  9.0.0
Orfeo Toolbox
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

#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 SelfConstPointer
 
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, DisplacementFieldTypeNCCRegistrationFunctionType
 
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 ()
 

Protected Member Functions

virtual void ApplyUpdate (TimeStepType dt)
 
void GenerateInputRequestedRegion () override
 
void InitializeIteration () override
 
 NCCRegistrationFilter ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~NCCRegistrationFilter () override
 

Private Member Functions

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

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 72 of file otbNCCRegistrationFilter.h.

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 79 of file otbNCCRegistrationFilter.h.

◆ DisplacementFieldPointer

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

Definition at line 100 of file otbNCCRegistrationFilter.h.

◆ DisplacementFieldType

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.

◆ FiniteDifferenceFunctionType

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

FiniteDifferenceFunction type.

Definition at line 103 of file otbNCCRegistrationFilter.h.

◆ FixedImagePointer

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

Definition at line 92 of file otbNCCRegistrationFilter.h.

◆ FixedImageType

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

FixedImage image type.

Definition at line 91 of file otbNCCRegistrationFilter.h.

◆ MovingImagePointer

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

Definition at line 96 of file otbNCCRegistrationFilter.h.

◆ MovingImageType

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

MovingImage image type.

Definition at line 95 of file otbNCCRegistrationFilter.h.

◆ NCCRegistrationFunctionType

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

NCCRegistrationFilterFunction type.

Definition at line 106 of file otbNCCRegistrationFilter.h.

◆ Pointer

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

Definition at line 78 of file otbNCCRegistrationFilter.h.

◆ RadiusType

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

Definition at line 108 of file otbNCCRegistrationFilter.h.

◆ Self

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

Standard class typedefs.

Definition at line 76 of file otbNCCRegistrationFilter.h.

◆ Superclass

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

Definition at line 77 of file otbNCCRegistrationFilter.h.

◆ TimeStepType

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

Inherit types from superclass.

Definition at line 85 of file otbNCCRegistrationFilter.h.

Constructor & Destructor Documentation

◆ NCCRegistrationFilter() [1/2]

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

Definition at line 32 of file otbNCCRegistrationFilter.hxx.

◆ ~NCCRegistrationFilter()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::~NCCRegistrationFilter ( )
inlineoverrideprotected

Definition at line 132 of file otbNCCRegistrationFilter.h.

◆ NCCRegistrationFilter() [2/2]

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

Member Function Documentation

◆ ApplyUpdate()

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

Definition at line 199 of file otbNCCRegistrationFilter.hxx.

◆ CreateAnother()

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

◆ GenerateInputRequestedRegion()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::GenerateInputRequestedRegion
overrideprotected

Update the Input requested region.

Definition at line 133 of file otbNCCRegistrationFilter.hxx.

◆ GetMetric()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
double otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::GetMetric
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 82 of file otbNCCRegistrationFilter.hxx.

◆ GetNameOfClass()

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

◆ GetNCCRadius()

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

Get the radius.

Returns
radius.

Definition at line 100 of file otbNCCRegistrationFilter.hxx.

◆ InitializeIteration()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::InitializeIteration
overrideprotected

Initialize the state of filter and equation before each iteration.

Definition at line 54 of file otbNCCRegistrationFilter.hxx.

◆ New()

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

Method for creation through the object factory.

◆ operator=()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

Definition at line 44 of file otbNCCRegistrationFilter.hxx.

◆ SetNCCRadius()

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 117 of file otbNCCRegistrationFilter.hxx.


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