OTB
9.0.0
Orfeo Toolbox
|
#include <otbFuzzyVariable.h>
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef TLabel | LabelType |
typedef std::map< LabelType, PrecisionType > | MembershipValueType |
typedef std::map< LabelType, ParametersType > | ParametersMapType |
typedef itk::FixedArray< PrecisionType, 6 > | ParametersType |
typedef itk::SmartPointer< Self > | Pointer |
typedef TPrecision | PrecisionType |
typedef FuzzyVariable | Self |
typedef itk::DataObject | Superclass |
Public Member Functions | |
void | Clear () |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
LabelType | GetMaxVar (const PrecisionType &value) const |
PrecisionType | GetMembership (const LabelType &var, const PrecisionType &value) const |
MembershipValueType | GetMembership (const PrecisionType &value) const |
virtual const char * | GetNameOfClass () const |
void | RemoveMembership (const LabelType &var) |
void | SetMembership (const LabelType &var, const PrecisionType &v1, const PrecisionType &v2, const PrecisionType &v3, const PrecisionType &v4) |
void | SetMembership (const LabelType &var, const PrecisionType &v1, const PrecisionType &v2, const PrecisionType &v3, const PrecisionType &v4, const PrecisionType &min, const PrecisionType &max) |
Static Public Member Functions | |
static Pointer | New () |
static std::ostream & | PrintMembershipValueType (std::ostream &out, const MembershipValueType &membership) |
Protected Member Functions | |
FuzzyVariable () | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
~FuzzyVariable () override | |
Private Attributes | |
ParametersMapType | m_MembershipFunctions |
Class to represent a fuzzy N-valued variable.
A fuzzy variable is defined as a set of qualitative values for a magnitude. These values are ordered, as for instance Low, Medium, High. The semantics are not used here. This class holds a vector where each component is the membership value for each one of the qualitative values of the variable (MEDIUM = 0.9). Each membership function is modeled by a trapezoidal function for which 4 values have to be provided. In addition, 2 more values can be provided to define the min and the max. By default, they are 0 and 1 respectively.
Definition at line 47 of file otbFuzzyVariable.h.
typedef itk::SmartPointer<const Self> otb::FuzzyVariable< TLabel, TPrecision >::ConstPointer |
Definition at line 54 of file otbFuzzyVariable.h.
typedef TLabel otb::FuzzyVariable< TLabel, TPrecision >::LabelType |
Label typedef
Definition at line 60 of file otbFuzzyVariable.h.
typedef std::map<LabelType, PrecisionType> otb::FuzzyVariable< TLabel, TPrecision >::MembershipValueType |
Type to hold the membership values
Definition at line 69 of file otbFuzzyVariable.h.
typedef std::map<LabelType, ParametersType> otb::FuzzyVariable< TLabel, TPrecision >::ParametersMapType |
Definition at line 71 of file otbFuzzyVariable.h.
typedef itk::FixedArray<PrecisionType, 6> otb::FuzzyVariable< TLabel, TPrecision >::ParametersType |
Definition at line 70 of file otbFuzzyVariable.h.
typedef itk::SmartPointer<Self> otb::FuzzyVariable< TLabel, TPrecision >::Pointer |
Definition at line 53 of file otbFuzzyVariable.h.
typedef TPrecision otb::FuzzyVariable< TLabel, TPrecision >::PrecisionType |
Precision typedef
Definition at line 66 of file otbFuzzyVariable.h.
typedef FuzzyVariable otb::FuzzyVariable< TLabel, TPrecision >::Self |
Standard class typedefs
Definition at line 51 of file otbFuzzyVariable.h.
typedef itk::DataObject otb::FuzzyVariable< TLabel, TPrecision >::Superclass |
Definition at line 52 of file otbFuzzyVariable.h.
|
protected |
Constructor
Definition at line 32 of file otbFuzzyVariable.hxx.
|
inlineoverrideprotected |
Destructor
Definition at line 103 of file otbFuzzyVariable.h.
void otb::FuzzyVariable< TLabel, TPrecision >::Clear |
Clear all memberships
Definition at line 97 of file otbFuzzyVariable.hxx.
virtual::itk::LightObject::Pointer otb::FuzzyVariable< TLabel, TPrecision >::CreateAnother | ( | void | ) | const |
FuzzyVariable< TLabel, TPrecision >::LabelType otb::FuzzyVariable< TLabel, TPrecision >::GetMaxVar | ( | const PrecisionType & | value | ) | const |
Get the label with the highest membership
Definition at line 180 of file otbFuzzyVariable.hxx.
FuzzyVariable< TLabel, TPrecision >::PrecisionType otb::FuzzyVariable< TLabel, TPrecision >::GetMembership | ( | const LabelType & | var, |
const PrecisionType & | value | ||
) | const |
Get the membership related to one label
Definition at line 108 of file otbFuzzyVariable.hxx.
FuzzyVariable< TLabel, TPrecision >::MembershipValueType otb::FuzzyVariable< TLabel, TPrecision >::GetMembership | ( | const PrecisionType & | value | ) | const |
Get all the memberships
Definition at line 163 of file otbFuzzyVariable.hxx.
|
virtual |
Run-time type information (and related methods).
|
static |
Method for creation through the object factory.
Referenced by otb::Functor::LandsatTM::LinguisticVariables< TInput >::LinguisticVariables().
|
static |
Print a MembershipValueType
Definition at line 220 of file otbFuzzyVariable.hxx.
|
overrideprotected |
PrintSelf method
Definition at line 214 of file otbFuzzyVariable.hxx.
void otb::FuzzyVariable< TLabel, TPrecision >::RemoveMembership | ( | const LabelType & | var | ) |
Remove a given label from the membership table
Definition at line 87 of file otbFuzzyVariable.hxx.
void otb::FuzzyVariable< TLabel, TPrecision >::SetMembership | ( | const LabelType & | var, |
const PrecisionType & | v1, | ||
const PrecisionType & | v2, | ||
const PrecisionType & | v3, | ||
const PrecisionType & | v4 | ||
) |
Set the membership for a given Label
Definition at line 37 of file otbFuzzyVariable.hxx.
void otb::FuzzyVariable< TLabel, TPrecision >::SetMembership | ( | const LabelType & | var, |
const PrecisionType & | v1, | ||
const PrecisionType & | v2, | ||
const PrecisionType & | v3, | ||
const PrecisionType & | v4, | ||
const PrecisionType & | min, | ||
const PrecisionType & | max | ||
) |
Definition at line 61 of file otbFuzzyVariable.hxx.
|
private |
Map containing the membership functions
Definition at line 112 of file otbFuzzyVariable.h.