OTB  6.7.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
otb::Statistics::FlexibleDistanceWithMissingValue< TVector > Class Template Reference

#include <otbFlexibleDistanceWithMissingValue.h>

+ Inheritance diagram for otb::Statistics::FlexibleDistanceWithMissingValue< TVector >:
+ Collaboration diagram for otb::Statistics::FlexibleDistanceWithMissingValue< TVector >:

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
Superclass::MeasurementVectorSizeType 
MeasurementVectorSizeType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
FlexibleDistanceWithMissingValue 
Self
 
typedef
otb::Statistics::EuclideanDistanceMetricWithMissingValuePow2
< TVector > 
Superclass
 
typedef TVector::ValueType ValueType
 
- Public Types inherited from otb::Statistics::EuclideanDistanceMetricWithMissingValuePow2< TVector >
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
Superclass::MeasurementVectorSizeType 
MeasurementVectorSizeType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
EuclideanDistanceMetricWithMissingValuePow2 
Self
 
typedef
itk::Statistics::EuclideanDistanceMetric
< TVector > 
Superclass
 
typedef TVector::ValueType ValueType
 
- Public Types inherited from itk::Statistics::EuclideanDistanceMetric< TVector >
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::MeasurementVectorSizeType 
MeasurementVectorSizeType
 
typedef
Superclass::MeasurementVectorType 
MeasurementVectorType
 
typedef Superclass::OriginType OriginType
 
typedef SmartPointer< SelfPointer
 
typedef EuclideanDistanceMetric Self
 
typedef DistanceMetric< TVector > Superclass
 
typedef
MeasurementVectorTraitsTypes
< MeasurementVectorType >
::ValueType 
ValueType
 
- Public Types inherited from itk::Statistics::DistanceMetric< TVector >
typedef SmartPointer< const SelfConstPointer
 
typedef unsigned int MeasurementVectorSizeType
 
typedef TVector MeasurementVectorType
 
typedef Array< double > OriginType
 
typedef SmartPointer< SelfPointer
 
typedef DistanceMetric Self
 
typedef FunctionBase< TVector,
double > 
Superclass
 
- Public Types inherited from itk::FunctionBase< TVector, double >
typedef SmartPointer< const SelfConstPointer
 
typedef TVector InputType
 
typedef double 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
 
double Evaluate (const TVector &x) const override
 
double Evaluate (const TVector &x1, const TVector &x2) const override
 
double Evaluate (const ValueType &a, const ValueType &b) const
 
virtual const char * GetNameOfClass () const
 
bool IsWithinRange (const TVector &x, const double radius) const
 
- Public Member Functions inherited from otb::Statistics::EuclideanDistanceMetricWithMissingValuePow2< TVector >
double Evaluate (const ValueType &a, const ValueType &b) const
 
bool IsWithinRange (const TVector &x, const double radius) const
 
- Public Member Functions inherited from itk::Statistics::EuclideanDistanceMetric< TVector >
double Evaluate (const ValueType &a, const ValueType &b) const
 
- Public Member Functions inherited from itk::Statistics::DistanceMetric< TVector >
virtual MeasurementVectorSizeType GetMeasurementVectorSize () const
 
virtual const OriginTypeGetOrigin () const
 
virtual void SetMeasurementVectorSize (MeasurementVectorSizeType s)
 
void SetOrigin (const OriginType &x)
 
- 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 bool IsEuclidean ()
 
static Pointer New ()
 
- Static Public Member Functions inherited from otb::Statistics::EuclideanDistanceMetricWithMissingValuePow2< TVector >
static bool IsMissingValue (const ValueType &v)
 
static Pointer New ()
 
static void SetToMissingValue (ValueType &v)
 
- Static Public Member Functions inherited from itk::Statistics::EuclideanDistanceMetric< TVector >
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

 FlexibleDistanceWithMissingValue ()
 
 ~FlexibleDistanceWithMissingValue () override
 
- Protected Member Functions inherited from otb::Statistics::EuclideanDistanceMetricWithMissingValuePow2< TVector >
 EuclideanDistanceMetricWithMissingValuePow2 ()
 
 ~EuclideanDistanceMetricWithMissingValuePow2 () override
 
- Protected Member Functions inherited from itk::Statistics::EuclideanDistanceMetric< TVector >
 EuclideanDistanceMetric ()
 
virtual ~EuclideanDistanceMetric ()
 
- Protected Member Functions inherited from itk::Statistics::DistanceMetric< TVector >
 DistanceMetric ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual ~DistanceMetric ()
 
- Protected Member Functions inherited from itk::FunctionBase< TVector, double >
 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 ()
 
static double Alpha = 1.0
 
static double Beta = 2.0
 
static void SetAlphaBeta (double a, double b)
 

Additional Inherited Members

- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Detailed Description

template<class TVector>
class otb::Statistics::FlexibleDistanceWithMissingValue< TVector >

Non-Euclidean distance function facing missing value.

This class is derived from EuclideanDistanceMetricWithMissingValuePow2 class to deal with missing data. In addition, the initial Evaluate method performs a flexible calculation of distance when a component does contain data.

The general formulation is defined as: $ d(x, y) = \sum_i | x_i^a - y_i^a |^b. $

The class can be templated over any container that holds data elements, as for template of EuclideanDistanceMetric.

The only restriction is that elements have to support

NaN

.

See Also
EuclideanDistanceMetricWithMissingValuePow2

Definition at line 54 of file otbFlexibleDistanceWithMissingValue.h.

Member Typedef Documentation

template<class TVector >
typedef itk::SmartPointer<const Self> otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::ConstPointer

Definition at line 62 of file otbFlexibleDistanceWithMissingValue.h.

template<class TVector >
typedef Superclass::MeasurementVectorSizeType otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::MeasurementVectorSizeType

Definition at line 64 of file otbFlexibleDistanceWithMissingValue.h.

Definition at line 61 of file otbFlexibleDistanceWithMissingValue.h.

Standard "Self" typedef.

Definition at line 59 of file otbFlexibleDistanceWithMissingValue.h.

Definition at line 60 of file otbFlexibleDistanceWithMissingValue.h.

template<class TVector >
typedef TVector::ValueType otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::ValueType

Type of the component of a vector

Definition at line 70 of file otbFlexibleDistanceWithMissingValue.h.

Constructor & Destructor Documentation

template<class TVector >
otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::FlexibleDistanceWithMissingValue ( )
inlineprotected

Definition at line 104 of file otbFlexibleDistanceWithMissingValue.h.

template<class TVector >
otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::~FlexibleDistanceWithMissingValue ( )
inlineoverrideprotected

Definition at line 105 of file otbFlexibleDistanceWithMissingValue.h.

Member Function Documentation

template<class TVector >
virtual::itk::LightObject::Pointer otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::CreateAnother ( void  ) const
virtual
template<class TVector >
double otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::Evaluate ( const TVector &  x) const
inlineoverridevirtual

Gets the distance between the origin and x

Reimplemented from otb::Statistics::EuclideanDistanceMetricWithMissingValuePow2< TVector >.

Definition at line 63 of file otbFlexibleDistanceWithMissingValue.hxx.

References itk::Statistics::MeasurementVectorTraits::Assert().

template<class TVector >
double otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::Evaluate ( const TVector &  x1,
const TVector &  x2 
) const
inlineoverridevirtual

Gets the distance between x1 and x2

Reimplemented from otb::Statistics::EuclideanDistanceMetricWithMissingValuePow2< TVector >.

Definition at line 36 of file otbFlexibleDistanceWithMissingValue.hxx.

template<class TVector >
double otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::Evaluate ( const ValueType a,
const ValueType b 
) const
inline

Gets the cooridnate distance between a and b. NOTE: a and b should be type of component

Definition at line 95 of file otbFlexibleDistanceWithMissingValue.hxx.

template<class TVector >
virtual const char* otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from otb::Statistics::EuclideanDistanceMetricWithMissingValuePow2< TVector >.

template<class TVector >
bool otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::IsEuclidean ( )
static

test if it is ordinary Euclidean distance

Definition at line 118 of file otbFlexibleDistanceWithMissingValue.hxx.

template<class TVector >
bool otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::IsWithinRange ( const TVector &  x,
const double  radius 
) const
inline

Returns true if the distance between x and the origin is less than radius

Definition at line 87 of file otbFlexibleDistanceWithMissingValue.h.

template<class TVector >
static Pointer otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::New ( )
static

Method for creation through the object factory.

template<class TVector >
void otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::SetAlphaBeta ( double  a,
double  b 
)
static

Set the value of the parameter a and b. Those parameters are defined as static component in order to call it far away from the instantiation of the class (through the SOM training for instance)

Static variable instantiation

Definition at line 109 of file otbFlexibleDistanceWithMissingValue.hxx.

Member Data Documentation

template<class TVector >
double otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::Alpha = 1.0
static

Set the value of the parameter a and b. Those parameters are defined as static component in order to call it far away from the instantiation of the class (through the SOM training for instance)

Static variable instantiation

Definition at line 95 of file otbFlexibleDistanceWithMissingValue.h.

template<class TVector >
double otb::Statistics::FlexibleDistanceWithMissingValue< TVector >::Beta = 2.0
static

Set the value of the parameter a and b. Those parameters are defined as static component in order to call it far away from the instantiation of the class (through the SOM training for instance)

Static variable instantiation

Definition at line 96 of file otbFlexibleDistanceWithMissingValue.h.


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