OTB  9.0.0
Orfeo Toolbox
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField > Class Template Reference

#include <otbNCCRegistrationFunction.h>

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

Classes

struct  GlobalDataStruct
 

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef double CoordRepType
 
typedef itk::CovariantVector< double, itkGetStaticConstMacro(ImageDimension)> CovariantVectorType
 
typedef itk::LinearInterpolateImageFunction< MovingImageType, CoordRepTypeDefaultInterpolatorType
 
typedef Superclass::DisplacementFieldType DisplacementFieldType
 
typedef Superclass::DisplacementFieldTypePointer DisplacementFieldTypePointer
 
typedef Superclass::FixedImagePointer FixedImagePointer
 
typedef Superclass::FixedImageType FixedImageType
 
typedef Superclass::FloatOffsetType FloatOffsetType
 
typedef GradientCalculatorType::Pointer GradientCalculatorPointer
 
typedef itk::CentralDifferenceImageFunction< FixedImageTypeGradientCalculatorType
 
typedef FixedImageType::IndexType IndexType
 
typedef InterpolatorType::Pointer InterpolatorPointer
 
typedef itk::InterpolateImageFunction< MovingImageType, CoordRepTypeInterpolatorType
 
typedef Superclass::MovingImagePointer MovingImagePointer
 
typedef Superclass::MovingImageType MovingImageType
 
typedef Superclass::NeighborhoodType NeighborhoodType
 
typedef Superclass::PixelType PixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef InterpolatorType::PointType PointType
 
typedef Superclass::RadiusType RadiusType
 
typedef NCCRegistrationFunction Self
 
typedef FixedImageType::SizeType SizeType
 
typedef FixedImageType::SpacingType SpacingType
 
typedef itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField > Superclass
 
typedef Superclass::TimeStepType TimeStepType
 

Public Member Functions

TimeStepType ComputeGlobalTimeStep (void *) const override
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
InterpolatorTypeGetMovingImageInterpolator (void)
 
virtual const char * GetNameOfClass () const
 
void SetMovingImageInterpolator (InterpolatorType *ptr)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension
 
typedef itk::ConstNeighborhoodIterator< FixedImageTypeFixedImageNeighborhoodIteratorType
 
SpacingType m_FixedImageSpacing
 
PointType m_FixedImageOrigin
 
GradientCalculatorPointer m_FixedImageGradientCalculator
 
InterpolatorPointer m_MovingImageInterpolator
 
TimeStepType m_TimeStep
 
double m_DenominatorThreshold
 
double m_IntensityDifferenceThreshold
 
double m_MetricTotal
 
void * GetGlobalDataPointer () const override
 
void ReleaseGlobalDataPointer (void *GlobalData) const override
 
void InitializeIteration () override
 
PixelType ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) override
 
 NCCRegistrationFunction ()
 
 ~NCCRegistrationFunction () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 NCCRegistrationFunction (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

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

This class has been copied from its itk version to provide a quick fix of itk bug #8288. It is intended to be removed once the bug has been corrected in ITK.

For more information, please refer to the ITK original class.

Todo:
Check if the bug has been corrected in the next ITK version.
See also
itk::NCCRegistrationFunction

Definition at line 49 of file otbNCCRegistrationFunction.h.

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 57 of file otbNCCRegistrationFunction.h.

◆ CoordRepType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef double otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::CoordRepType

Interpolator type.

Definition at line 92 of file otbNCCRegistrationFunction.h.

◆ CovariantVectorType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef itk::CovariantVector<double, itkGetStaticConstMacro(ImageDimension)> otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::CovariantVectorType

Covariant vector type.

Definition at line 99 of file otbNCCRegistrationFunction.h.

◆ DefaultInterpolatorType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef itk::LinearInterpolateImageFunction<MovingImageType, CoordRepType> otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::DefaultInterpolatorType

Definition at line 96 of file otbNCCRegistrationFunction.h.

◆ DisplacementFieldType

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

Displacement field type.

Definition at line 77 of file otbNCCRegistrationFunction.h.

◆ DisplacementFieldTypePointer

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef Superclass::DisplacementFieldTypePointer otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldTypePointer

Definition at line 78 of file otbNCCRegistrationFunction.h.

◆ FixedImageNeighborhoodIteratorType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef itk::ConstNeighborhoodIterator<FixedImageType> otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::FixedImageNeighborhoodIteratorType
protected

FixedImage image neighborhood iterator type.

Definition at line 153 of file otbNCCRegistrationFunction.h.

◆ FixedImagePointer

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

Definition at line 71 of file otbNCCRegistrationFunction.h.

◆ FixedImageType

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

FixedImage image type.

Definition at line 70 of file otbNCCRegistrationFunction.h.

◆ FloatOffsetType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef Superclass::FloatOffsetType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::FloatOffsetType

Definition at line 88 of file otbNCCRegistrationFunction.h.

◆ GradientCalculatorPointer

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef GradientCalculatorType::Pointer otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GradientCalculatorPointer

Definition at line 103 of file otbNCCRegistrationFunction.h.

◆ GradientCalculatorType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef itk::CentralDifferenceImageFunction<FixedImageType> otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GradientCalculatorType

Gradient calculator type.

Definition at line 102 of file otbNCCRegistrationFunction.h.

◆ IndexType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef FixedImageType::IndexType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::IndexType

Definition at line 72 of file otbNCCRegistrationFunction.h.

◆ InterpolatorPointer

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef InterpolatorType::Pointer otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::InterpolatorPointer

Definition at line 94 of file otbNCCRegistrationFunction.h.

◆ InterpolatorType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef itk::InterpolateImageFunction<MovingImageType, CoordRepType> otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::InterpolatorType

Definition at line 93 of file otbNCCRegistrationFunction.h.

◆ MovingImagePointer

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

Definition at line 67 of file otbNCCRegistrationFunction.h.

◆ MovingImageType

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

MovingImage image type.

Definition at line 63 of file otbNCCRegistrationFunction.h.

◆ NeighborhoodType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef Superclass::NeighborhoodType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::NeighborhoodType

Definition at line 86 of file otbNCCRegistrationFunction.h.

◆ PixelType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef Superclass::PixelType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::PixelType

Inherit some enums from the superclass.

Definition at line 84 of file otbNCCRegistrationFunction.h.

◆ Pointer

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

Definition at line 56 of file otbNCCRegistrationFunction.h.

◆ PointType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef InterpolatorType::PointType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::PointType

Definition at line 95 of file otbNCCRegistrationFunction.h.

◆ RadiusType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef Superclass::RadiusType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::RadiusType

Definition at line 85 of file otbNCCRegistrationFunction.h.

◆ Self

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

Standard class typedefs.

Definition at line 54 of file otbNCCRegistrationFunction.h.

◆ SizeType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef FixedImageType::SizeType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SizeType

Definition at line 73 of file otbNCCRegistrationFunction.h.

◆ SpacingType

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef FixedImageType::SpacingType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SpacingType

Definition at line 74 of file otbNCCRegistrationFunction.h.

◆ Superclass

template<class TFixedImage , class TMovingImage , class TDisplacementField >
typedef itk::PDEDeformableRegistrationFunction<TFixedImage, TMovingImage, TDisplacementField> otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::Superclass

Definition at line 55 of file otbNCCRegistrationFunction.h.

◆ TimeStepType

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

Definition at line 89 of file otbNCCRegistrationFunction.h.

Constructor & Destructor Documentation

◆ NCCRegistrationFunction() [1/2]

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

FixedImage image neighborhood iterator type.

Definition at line 38 of file otbNCCRegistrationFunction.hxx.

◆ ~NCCRegistrationFunction()

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

FixedImage image neighborhood iterator type.

Definition at line 147 of file otbNCCRegistrationFunction.h.

◆ NCCRegistrationFunction() [2/2]

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

FixedImage image neighborhood iterator type.

Member Function Documentation

◆ ComputeGlobalTimeStep()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
TimeStepType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::ComputeGlobalTimeStep ( void *  ) const
inlineoverride

This class uses a constant timestep of 1.

Definition at line 118 of file otbNCCRegistrationFunction.h.

◆ ComputeUpdate()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::PixelType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::ComputeUpdate ( const NeighborhoodType neighborhood,
void *  globalData,
const FloatOffsetType offset = FloatOffsetType(0.0) 
)
override

This method is called by a finite difference solver image filter at each pixel that does not lie on a data set boundary

Definition at line 115 of file otbNCCRegistrationFunction.hxx.

◆ CreateAnother()

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

◆ GetGlobalDataPointer()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void* otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetGlobalDataPointer ( ) const
inlineoverride

Return a pointer to a global data structure that is passed to this object from the solver at each calculation.

Definition at line 125 of file otbNCCRegistrationFunction.h.

◆ GetMovingImageInterpolator()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
InterpolatorType* otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetMovingImageInterpolator ( void  )
inline

Get the moving image interpolator.

Definition at line 112 of file otbNCCRegistrationFunction.h.

◆ GetNameOfClass()

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

Run-time type information (and related methods).

◆ InitializeIteration()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::InitializeIteration
override

Set the object's state before each iteration.

Definition at line 88 of file otbNCCRegistrationFunction.hxx.

References otbMsgDevMacro.

◆ New()

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

Method for creation through the object factory.

◆ operator=()

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

FixedImage image neighborhood iterator type.

◆ PrintSelf()

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

FixedImage image neighborhood iterator type.

Definition at line 68 of file otbNCCRegistrationFunction.hxx.

◆ ReleaseGlobalDataPointer()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::ReleaseGlobalDataPointer ( void *  GlobalData) const
inlineoverride

Release memory for global data structure.

Definition at line 133 of file otbNCCRegistrationFunction.h.

◆ SetMovingImageInterpolator()

template<class TFixedImage , class TMovingImage , class TDisplacementField >
void otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetMovingImageInterpolator ( InterpolatorType ptr)
inline

Set the moving image interpolator.

Definition at line 106 of file otbNCCRegistrationFunction.h.

Member Data Documentation

◆ ImageDimension

template<class TFixedImage , class TMovingImage , class TDisplacementField >
const unsigned int otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::ImageDimension = Superclass::ImageDimension
static

Inherit some enums from the superclass.

Definition at line 81 of file otbNCCRegistrationFunction.h.

◆ m_DenominatorThreshold

template<class TFixedImage , class TMovingImage , class TDisplacementField >
double otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_DenominatorThreshold
private

Threshold below which the denominator term is considered zero.

Definition at line 180 of file otbNCCRegistrationFunction.h.

◆ m_FixedImageGradientCalculator

template<class TFixedImage , class TMovingImage , class TDisplacementField >
GradientCalculatorPointer otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_FixedImageGradientCalculator
private

Function to compute derivatives of the fixed image.

Definition at line 171 of file otbNCCRegistrationFunction.h.

◆ m_FixedImageOrigin

template<class TFixedImage , class TMovingImage , class TDisplacementField >
PointType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_FixedImageOrigin
private

FixedImage image neighborhood iterator type.

Definition at line 168 of file otbNCCRegistrationFunction.h.

◆ m_FixedImageSpacing

template<class TFixedImage , class TMovingImage , class TDisplacementField >
SpacingType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_FixedImageSpacing
private

Cache fixed image information.

Definition at line 167 of file otbNCCRegistrationFunction.h.

◆ m_IntensityDifferenceThreshold

template<class TFixedImage , class TMovingImage , class TDisplacementField >
double otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_IntensityDifferenceThreshold
private

Threshold below which two intensity value are assumed to match.

Definition at line 183 of file otbNCCRegistrationFunction.h.

◆ m_MetricTotal

template<class TFixedImage , class TMovingImage , class TDisplacementField >
double otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MetricTotal
mutableprivate

FixedImage image neighborhood iterator type.

Definition at line 185 of file otbNCCRegistrationFunction.h.

◆ m_MovingImageInterpolator

template<class TFixedImage , class TMovingImage , class TDisplacementField >
InterpolatorPointer otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MovingImageInterpolator
private

Function to interpolate the moving image.

Definition at line 174 of file otbNCCRegistrationFunction.h.

◆ m_TimeStep

template<class TFixedImage , class TMovingImage , class TDisplacementField >
TimeStepType otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_TimeStep
private

The global timestep.

Definition at line 177 of file otbNCCRegistrationFunction.h.


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