OTB  6.7.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision > Class Template Reference

#include <otbComplexMomentPathFunction.h>

+ Inheritance diagram for otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >:
+ Collaboration diagram for otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >:

Public Types

typedef std::complex
< PrecisionType
ComplexPrecisionType
 
typedef Superclass::OutputType ComplexType
 
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef Superclass::OutputType OutputType
 
typedef
Superclass::PathConstPointer 
PathConstPointer
 
typedef Superclass::PathType PathType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass::PrecisionType PrecisionType
 
typedef double RealType
 
typedef ComplexMomentPathFunction Self
 
typedef
GeometricMomentPathFunction
< TInputPath, TOutput,
TPrecision > 
Superclass
 
typedef
VertexListType::ConstPointer 
VertexListPointer
 
typedef itk::VectorContainer
< unsigned, VertexType
VertexListType
 
typedef
PathType::ContinuousIndexType 
VertexType
 
- Public Types inherited from otb::GeometricMomentPathFunction< TInputPath, TOutput, TPrecision >
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef Superclass::OutputType OutputType
 
typedef
Superclass::InputPathConstPointer 
PathConstPointer
 
typedef Superclass::InputPathType PathType
 
typedef itk::SmartPointer< SelfPointer
 
typedef TPrecision PrecisionType
 
typedef GeometricMomentPathFunction Self
 
typedef PathFunction
< TInputPath, TOutput > 
Superclass
 
- Public Types inherited from otb::PathFunction< TInputPath, TOutput >
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef InputPathType::ConstPointer InputPathConstPointer
 
typedef Superclass::InputType InputPathType
 
typedef Superclass::OutputType OutputType
 
typedef itk::SmartPointer< SelfPointer
 
typedef PathFunction Self
 
typedef itk::FunctionBase
< TInputPath, TOutput > 
Superclass
 
- Public Types inherited from itk::FunctionBase< TInputPath, TOutput >
typedef SmartPointer< const SelfConstPointer
 
typedef TInputPath InputType
 
typedef TOutput OutputType
 
typedef SmartPointer< SelfPointer
 
typedef FunctionBase Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual const unsigned int & GetP () const
 
virtual const unsigned int & GetQ () const
 
virtual void SetP (unsigned int _arg)
 
virtual void SetQ (unsigned int _arg)
 
OutputType Evaluate (const PathType &path) const override
 
virtual OutputType Evaluate () const
 
- Public Member Functions inherited from otb::PathFunction< TInputPath, TOutput >
const InputPathTypeGetInputPath () const
 
virtual void SetInputPath (const InputPathType *ptr)
 
- Public Member Functions inherited from itk::FunctionBase< TInputPath, TOutput >
virtual OutputType Evaluate (const InputType &input) const =0
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
virtual ModifiedTimeType GetMTime () const
 
virtual const std::string & GetObjectName () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Protected Member Functions

 ComplexMomentPathFunction ()
 
 ~ComplexMomentPathFunction () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Protected Member Functions inherited from otb::GeometricMomentPathFunction< TInputPath, TOutput, TPrecision >
 GeometricMomentPathFunction ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~GeometricMomentPathFunction () override
 
- Protected Member Functions inherited from otb::PathFunction< TInputPath, TOutput >
 PathFunction ()
 
 ~PathFunction () override
 
- Protected Member Functions inherited from itk::FunctionBase< TInputPath, TOutput >
 FunctionBase ()
 
 ~FunctionBase ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Private Member Functions

 ComplexMomentPathFunction (const Self &)=delete
 
ComplexPrecisionType EvaluateComplexMomentAtIndex (VertexType index) const
 
void operator= (const Self &)=delete
 

Private Attributes

unsigned int m_P
 
unsigned int m_Q
 

Additional Inherited Members

- Protected Attributes inherited from otb::PathFunction< TInputPath, TOutput >
InputPathConstPointer m_Path
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Detailed Description

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
class otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >

Calculate the complex moment value over a path.

The implemented equation is:

\[ c_{p, q}=\int\int_{D} (x+iy)^{p} \cdot (x-iy)^{q} \cdot dx \cdot dy \]

With:

This class is templated over :

Definition at line 56 of file otbComplexMomentPathFunction.h.

Member Typedef Documentation

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef std::complex<PrecisionType> otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::ComplexPrecisionType

ComplexType for calculation precision

Definition at line 93 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef Superclass::OutputType otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::ComplexType

Complex Type

Definition at line 83 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef itk::SmartPointer<const Self> otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::ConstPointer

Definition at line 67 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef Superclass::OutputType otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::OutputType

Definition at line 85 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef Superclass::PathConstPointer otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::PathConstPointer

Definition at line 77 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef Superclass::PathType otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::PathType

InputPathType typedef support.

Definition at line 73 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef itk::SmartPointer<Self> otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::Pointer

Definition at line 66 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef Superclass::PrecisionType otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::PrecisionType

Type for calculation precision

Definition at line 90 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef double otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::RealType

Definition at line 87 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef ComplexMomentPathFunction otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::Self

Standard class typedefs.

Definition at line 64 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef GeometricMomentPathFunction<TInputPath, TOutput, TPrecision> otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::Superclass

Definition at line 65 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef VertexListType::ConstPointer otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::VertexListPointer

Definition at line 80 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef itk::VectorContainer<unsigned, VertexType> otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::VertexListType

Definition at line 79 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
typedef PathType::ContinuousIndexType otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::VertexType

Definition at line 78 of file otbComplexMomentPathFunction.h.

Constructor & Destructor Documentation

template<class TInputPath , class TOutput , class TPrecision >
otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::ComplexMomentPathFunction ( )
protected

Constructor

Definition at line 38 of file otbComplexMomentPathFunction.hxx.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::~ComplexMomentPathFunction ( )
inlineoverrideprotected

Definition at line 107 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::ComplexMomentPathFunction ( const Self )
privatedelete

Member Function Documentation

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
virtual::itk::LightObject::Pointer otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::CreateAnother ( void  ) const
virtual

Reimplemented from itk::Object.

template<class TInputPath , class TOutput , class TPrecision >
ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::OutputType otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::Evaluate ( const PathType path) const
override
template<class TInputPath , class TOutput , class TPrecision >
ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::OutputType otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::Evaluate ( ) const
virtual

Evalulate the function

Definition at line 174 of file otbComplexMomentPathFunction.hxx.

References otbMsgDevMacro.

template<class TInputPath , class TOutput , class TPrecision >
ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::ComplexPrecisionType otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::EvaluateComplexMomentAtIndex ( VertexType  index) const
private

Definition at line 61 of file otbComplexMomentPathFunction.hxx.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
virtual const char* otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from otb::GeometricMomentPathFunction< TInputPath, TOutput, TPrecision >.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
virtual const unsigned int& otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::GetP ( ) const
virtual
template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
virtual const unsigned int& otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::GetQ ( ) const
virtual
template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
static Pointer otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::New ( )
static

Method for creation through the object factory.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
void otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::operator= ( const Self )
privatedelete
template<class TInputPath , class TOutput , class TPrecision >
void otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotectedvirtual

Standard "PrintSelf" method

Reimplemented from otb::PathFunction< TInputPath, TOutput >.

Definition at line 50 of file otbComplexMomentPathFunction.hxx.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
virtual void otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::SetP ( unsigned int  _arg)
virtual
template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
virtual void otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::SetQ ( unsigned int  _arg)
virtual

Member Data Documentation

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
unsigned int otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::m_P
private

Definition at line 115 of file otbComplexMomentPathFunction.h.

template<class TInputPath, class TOutput = std::complex<double>, class TPrecision = double>
unsigned int otb::ComplexMomentPathFunction< TInputPath, TOutput, TPrecision >::m_Q
private

Definition at line 116 of file otbComplexMomentPathFunction.h.


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