Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision > Class Template Reference

VectorData filter validating data nodes using Dempster-Shafer theory. More...

#include <otbVectorDataToDSValidatedVectorDataFilter.h>

+ Inheritance diagram for otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >:
+ Collaboration diagram for otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >:

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
VectorDataType::DataNodeType 
DataNodeType
 
typedef itk::DataObject DataObject
 
typedef itk::DataObject::Pointer DataObjectPointer
 
typedef
FuzzyDescriptorsModelManager::DescriptorsModelType 
DescriptorModelsType
 
typedef FuzzyVariable
< std::string, PrecisionType
FuzzyVarType
 
typedef
JointMassOfBeliefFilter
< MassOfBeliefFunctionType
JointMassOfBeliefFilterType
 
typedef
MassOfBeliefFunctionType::LabelSetType 
LabelSetType
 
typedef MassOfBelief
< std::string, PrecisionType
MassOfBeliefFunctionType
 
typedef
FuzzyDescriptorsModelManager::PairType 
PairType
 
typedef Parser ParserType
 
typedef itk::SmartPointer< SelfPointer
 
typedef TPrecision PrecisionType
 
typedef
VectorDataToDSValidatedVectorDataFilter 
Self
 
typedef
VectorDataToVectorDataFilter
< TVectorData, TVectorData > 
Superclass
 
typedef
itk::PreOrderTreeIterator
< typename
VectorDataType::DataTreeType > 
TreeIteratorType
 
typedef VectorDataType::Pointer VectorDataPointer
 
typedef TVectorData VectorDataType
 
- Public Types inherited from otb::VectorDataToVectorDataFilter< TVectorData, TVectorData >
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef itk::DataObject::Pointer DataObjectPointer
 
typedef
InputVectorDataType::DataNodeType 
InputDataNodeType
 
typedef
InputVectorDataType::DataTreeType::TreeNodeType 
InputInternalTreeNodeType
 
typedef InputLineType::Pointer InputLinePointerType
 
typedef InputDataNodeType::LineType InputLineType
 
typedef
InputDataNodeType::PointType 
InputPointType
 
typedef
InputPolygonListType::Pointer 
InputPolygonListPointerType
 
typedef
InputDataNodeType::PolygonListType 
InputPolygonListType
 
typedef InputPolygonType::Pointer InputPolygonPointerType
 
typedef
InputDataNodeType::PolygonType 
InputPolygonType
 
typedef TVectorData::ConstPointer InputVectorDataPointer
 
typedef TVectorData InputVectorDataType
 
typedef
OutputVectorDataType::DataNodeType 
OutputDataNodeType
 
typedef
OutputVectorDataType::DataTreeType::TreeNodeType 
OutputInternalTreeNodeType
 
typedef OutputLineType::Pointer OutputLinePointerType
 
typedef
OutputDataNodeType::LineType 
OutputLineType
 
typedef
OutputDataNodeType::PointType 
OutputPointType
 
typedef
OutputPolygonListType::Pointer 
OutputPolygonListPointerType
 
typedef
OutputDataNodeType::PolygonListType 
OutputPolygonListType
 
typedef OutputPolygonType::Pointer OutputPolygonPointerType
 
typedef
OutputDataNodeType::PolygonType 
OutputPolygonType
 
typedef TVectorData::Pointer OutputVectorDataPointer
 
typedef TVectorData OutputVectorDataType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
VectorDataToVectorDataFilter 
Self
 
typedef otb::VectorDataSource
< TVectorData > 
Superclass
 
- Public Types inherited from otb::VectorDataSource< TVectorData >
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef TVectorData::Pointer OutputVectorDataPointer
 
typedef TVectorData OutputVectorDataType
 
typedef itk::SmartPointer< SelfPointer
 
typedef VectorDataSource Self
 
typedef itk::ProcessObject Superclass
 

Public Member Functions

virtual void AddDescriptor (const std::string &key, std::vector< double > model)
 
virtual void ClearDescriptors ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
LabelSetType GetBeliefHypothesis ()
 
virtual std::string GetCriterionFormula () const
 
virtual double GetCriterionThreshold ()
 
DescriptorModelsType GetDescriptorModels ()
 
virtual const char * GetNameOfClass () const
 
unsigned int GetNumberOfParameters ()
 
LabelSetType GetPlausibilityHypothesis ()
 
void SetBeliefHypothesis (LabelSetType hypothesis)
 
virtual void SetCriterionFormula (std::string _arg)
 
virtual void SetCriterionThreshold (double _arg)
 
void SetDescriptorModels (DescriptorModelsType model)
 
void SetPlausibilityHypothesis (LabelSetType hypothesis)
 
- Public Member Functions inherited from otb::VectorDataToVectorDataFilter< TVectorData, TVectorData >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
const InputVectorDataTypeGetInput (void)
 
virtual void SetInput (const InputVectorDataType *input)
 
- Public Member Functions inherited from otb::VectorDataSource< TVectorData >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual OutputVectorDataTypeGetOutput (void)
 
virtual OutputVectorDataTypeGetOutput (unsigned int idx)
 
virtual void GraftNthOutput (unsigned int idx, itk::DataObject *output)
 
virtual void GraftOutput (itk::DataObject *output)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::VectorDataToVectorDataFilter< TVectorData, TVectorData >
static Pointer New ()
 
- Static Public Member Functions inherited from otb::VectorDataSource< TVectorData >
static Pointer New ()
 

Protected Member Functions

 VectorDataToDSValidatedVectorDataFilter ()
 
virtual ~VectorDataToDSValidatedVectorDataFilter ()
 
void GenerateData (void)
 
std::string GetNextID ()
 
virtual void PrintSelf (std::ostream &os, itk::Indent indent) const
 
- Protected Member Functions inherited from otb::VectorDataToVectorDataFilter< TVectorData, TVectorData >
 VectorDataToVectorDataFilter ()
 
virtual ~VectorDataToVectorDataFilter ()
 
virtual void GenerateOutputInformation (void)
 
virtual OutputLinePointerType ProcessLine (InputLinePointerType) const
 
virtual void ProcessNode (InputInternalTreeNodeType *source, OutputInternalTreeNodeType *destination) const
 
virtual OutputPointType ProcessPoint (InputPointType) const
 
virtual OutputPolygonPointerType ProcessPolygon (InputPolygonPointerType) const
 
virtual
OutputPolygonListPointerType 
ProcessPolygonList (InputPolygonListPointerType) const
 
- Protected Member Functions inherited from otb::VectorDataSource< TVectorData >
 VectorDataSource ()
 
virtual ~VectorDataSource ()
 
virtual void AllocateOutputs ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 

Private Member Functions

 VectorDataToDSValidatedVectorDataFilter (const Self &)
 
void operator= (const Self &)
 

Private Attributes

double m_Bel
 
LabelSetType m_BeliefHypothesis
 
std::string m_CriterionFormula
 
double m_CriterionThreshold
 
unsigned int m_CurrentID
 
DescriptorModelsType m_DescriptorModels
 
std::vector< typename
FuzzyVarType::Pointer
m_FuzzyVars
 
ParserType::Pointer m_Parser
 
double m_Plau
 
LabelSetType m_PlausibilityHypothesis
 
LabelSetType m_Universe
 

Detailed Description

template<class TVectorData, class TPrecision = float>
class otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >

VectorData filter validating data nodes using Dempster-Shafer theory.

This filter takes as input a vector data containing features score and validate (or not) each data node according to these features score, a fuzzy model corresponding to each feature and a criterion according to the Dempster-Shafer theory. By default the filter is (for now) parametrized to process VectorDatas providing by the VectorDataToRoadDescriptionFilter. The hypothesis must be set using the SetHypothesis method. The convention is for each feature Fe, a mass of Belief is defined with two variables named Fe and Fe_. Thus, an hypothesis must declared: VectorDataToVectorDataFilter::LabelSetType hyp; hyp.insert("Fe(i)"); hyp.insert("Fe(j)_"); hyp.insert("Fe(k)_");

Fe(i), Fe(j) and Fe(k) being descriptors.

The criterion can be set through SetCriterionFormula() as a string refering to "Belief" and "Plausibility" from the Dempster-Shafer theory. By default the criterion is: "((Belief + Plausibility)/2) >= 0.5"

The concidered features will be the intersection between the features embedded in this filter and the features embedded in the input vector data. For now, the filter uses "NONDVI" and "ROADSA" features.

See Also
VectorDataToRoadDescriptionFilter
VectorDataToBuildingDescriptionFilter

Definition at line 72 of file otbVectorDataToDSValidatedVectorDataFilter.h.

Member Typedef Documentation

template<class TVectorData , class TPrecision = float>
typedef itk::SmartPointer<const Self> otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::ConstPointer

Definition at line 81 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef VectorDataType::DataNodeType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::DataNodeType

Definition at line 92 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef itk::DataObject otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::DataObject
template<class TVectorData , class TPrecision = float>
typedef itk::DataObject::Pointer otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::DataObjectPointer
template<class TVectorData , class TPrecision = float>
typedef FuzzyDescriptorsModelManager::DescriptorsModelType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::DescriptorModelsType
template<class TVectorData , class TPrecision = float>
typedef FuzzyVariable<std::string, PrecisionType> otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::FuzzyVarType
template<class TVectorData , class TPrecision = float>
typedef JointMassOfBeliefFilter<MassOfBeliefFunctionType> otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::JointMassOfBeliefFilterType
template<class TVectorData , class TPrecision = float>
typedef MassOfBeliefFunctionType::LabelSetType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::LabelSetType
template<class TVectorData , class TPrecision = float>
typedef MassOfBelief<std::string, PrecisionType> otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::MassOfBeliefFunctionType

Definition at line 98 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef FuzzyDescriptorsModelManager::PairType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::PairType
template<class TVectorData , class TPrecision = float>
typedef Parser otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::ParserType
template<class TVectorData , class TPrecision = float>
typedef itk::SmartPointer<Self> otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::Pointer

Definition at line 80 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef TPrecision otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::PrecisionType

Definition at line 96 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef VectorDataToDSValidatedVectorDataFilter otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::Self

Standard class typedefs.

Definition at line 77 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef VectorDataToVectorDataFilter<TVectorData, TVectorData> otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::Superclass

Definition at line 79 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef itk::PreOrderTreeIterator<typename VectorDataType::DataTreeType> otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::TreeIteratorType

Definition at line 94 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef VectorDataType::Pointer otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::VectorDataPointer

Definition at line 91 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
typedef TVectorData otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::VectorDataType

Some typedefs.

Definition at line 87 of file otbVectorDataToDSValidatedVectorDataFilter.h.

Constructor & Destructor Documentation

template<class TVectorData , class TPrecision >
otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::VectorDataToDSValidatedVectorDataFilter ( )
protected

Constructor

Definition at line 31 of file otbVectorDataToDSValidatedVectorDataFilter.txx.

template<class TVectorData , class TPrecision = float>
virtual otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::~VectorDataToDSValidatedVectorDataFilter ( )
inlineprotectedvirtual

Destructor

Definition at line 163 of file otbVectorDataToDSValidatedVectorDataFilter.h.

template<class TVectorData , class TPrecision = float>
otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::VectorDataToDSValidatedVectorDataFilter ( const Self )
private

Member Function Documentation

template<class TVectorData , class TPrecision >
void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::AddDescriptor ( const std::string &  key,
std::vector< double >  model 
)
virtual
template<class TVectorData , class TPrecision >
void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::ClearDescriptors ( )
virtual
template<class TVectorData , class TPrecision = float>
virtual::itk::LightObject::Pointer otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::CreateAnother ( void  ) const
template<class TVectorData , class TPrecision >
void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GenerateData ( void  )
protectedvirtual

Triggers the Computation

Reimplemented from otb::VectorDataToVectorDataFilter< TVectorData, TVectorData >.

Definition at line 107 of file otbVectorDataToDSValidatedVectorDataFilter.txx.

References otb::DOCUMENT, and otb::FOLDER.

template<class TVectorData , class TPrecision = float>
LabelSetType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GetBeliefHypothesis ( )
inline
template<class TVectorData , class TPrecision = float>
virtual std::string otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GetCriterionFormula ( ) const
virtual

Parameter accessors.

template<class TVectorData , class TPrecision = float>
virtual double otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GetCriterionThreshold ( )
virtual
template<class TVectorData , class TPrecision = float>
DescriptorModelsType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GetDescriptorModels ( )
inline
template<class TVectorData , class TPrecision = float>
virtual const char* otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from otb::VectorDataToVectorDataFilter< TVectorData, TVectorData >.

template<class TVectorData , class TPrecision = float>
std::string otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GetNextID ( )
inlineprotected
template<class TVectorData , class TPrecision = float>
unsigned int otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GetNumberOfParameters ( void  )
inline
template<class TVectorData , class TPrecision = float>
LabelSetType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GetPlausibilityHypothesis ( )
inline
template<class TVectorData , class TPrecision = float>
static Pointer otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::New ( )
static

Method for creation through the object factory.

template<class TVectorData , class TPrecision = float>
void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::operator= ( const Self )
private
template<class TVectorData , class TPrecision >
void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protectedvirtual
template<class TVectorData , class TPrecision = float>
void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::SetBeliefHypothesis ( LabelSetType  hypothesis)
inline
template<class TVectorData , class TPrecision = float>
virtual void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::SetCriterionFormula ( std::string  _arg)
virtual
template<class TVectorData , class TPrecision = float>
virtual void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::SetCriterionThreshold ( double  _arg)
virtual
template<class TVectorData , class TPrecision >
void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::SetDescriptorModels ( DescriptorModelsType  model)
template<class TVectorData , class TPrecision = float>
void otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::SetPlausibilityHypothesis ( LabelSetType  hypothesis)
inline

Member Data Documentation

template<class TVectorData , class TPrecision = float>
double otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_Bel
private
template<class TVectorData , class TPrecision = float>
LabelSetType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_BeliefHypothesis
private
template<class TVectorData , class TPrecision = float>
std::string otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_CriterionFormula
private
template<class TVectorData , class TPrecision = float>
double otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_CriterionThreshold
private
template<class TVectorData , class TPrecision = float>
unsigned int otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_CurrentID
private
template<class TVectorData , class TPrecision = float>
DescriptorModelsType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_DescriptorModels
private
template<class TVectorData , class TPrecision = float>
std::vector< typename FuzzyVarType::Pointer > otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_FuzzyVars
private
template<class TVectorData , class TPrecision = float>
ParserType::Pointer otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_Parser
private
template<class TVectorData , class TPrecision = float>
double otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_Plau
private
template<class TVectorData , class TPrecision = float>
LabelSetType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_PlausibilityHypothesis
private
template<class TVectorData , class TPrecision = float>
LabelSetType otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::m_Universe
private

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