OTB
9.0.0
Orfeo Toolbox
|
#include <otbHooverInstanceFilter.h>
Public Types | |
typedef LabelObjectType::AttributesValueType | AttributesValueType |
typedef LabelObjectType::AttributeType | AttributeType |
typedef itk::VariableLengthVector< CoefficientType > | CardinalVector |
typedef unsigned long | CoefficientType |
typedef LabelMapType::ConstIterator | ConstIteratorType |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef LabelMapType::RegionType | ImageRegionType |
typedef LabelObjectType::IndexType | IndexType |
typedef LabelMapType::Iterator | IteratorType |
typedef LabelMapType::Pointer | LabelMapPointer |
typedef TLabelMap | LabelMapType |
typedef LabelMapType::LabelObjectType | LabelObjectType |
typedef LabelObjectType::LabelType | LabelType |
typedef LabelMapType::LabelVectorType | LabelVectorType |
typedef itk::VariableSizeMatrix< CoefficientType > | MatrixType |
typedef std::vector< LabelObjectType * > | ObjectVectorType |
typedef itk::SmartPointer< Self > | Pointer |
typedef std::set< CoefficientType > | RegionSetType |
typedef HooverInstanceFilter | Self |
typedef itk::InPlaceLabelMapFilter< TLabelMap > | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual MatrixType | GetHooverMatrix () |
virtual const char * | GetNameOfClass () const |
virtual double | GetThreshold () |
virtual bool | GetUseExtendedAttributes () |
virtual void | SetHooverMatrix (MatrixType _arg) |
virtual void | SetThreshold (double _arg) |
virtual void | SetUseExtendedAttributes (bool _arg) |
void | SetGroundTruthLabelMap (const LabelMapType *gt) |
void | SetMachineSegmentationLabelMap (const LabelMapType *ms) |
const LabelMapType * | GetGroundTruthLabelMap () |
LabelMapType * | GetMachineSegmentationLabelMap () |
LabelMapType * | GetOutputGroundTruthLabelMap () |
LabelMapType * | GetOutputMachineSegmentationLabelMap () |
This class computes the Hoover instances.
The Hoover instances are computed from two segmentations : ground truth (GT) and machine segmentation (MS); and a Hoover confusion matrix. It is intended to work with AttributesMapLabelObject, where the Hoover scores will be stored. The different instances are :
The corresponding scores are :
These Hoover scores that are stored in the label maps are computed between 0 (if the region doesn't belong to this kind of instance) and 1.
If the user wants to which region labels have been paired, he can set the flag UseExtendedAttributes. The extended attributes contain the labels that have been paired in Hoover instances:
These attributes are handled in a different way than the Hoover scores. The simple presence of an extended attribute in a given region has a meaning, regardless of its value. It is assumed that its value always corresponds to an existing region label. This is why these extended attributes are not reset but removed before computing Hoover instances. (see Hoover et al., "An experimental comparison of range image segmentation algorithms", IEEE PAMI vol. 18, no. 7, July 1996)
Definition at line 74 of file otbHooverInstanceFilter.h.
typedef LabelObjectType::AttributesValueType otb::HooverInstanceFilter< TLabelMap >::AttributesValueType |
Definition at line 96 of file otbHooverInstanceFilter.h.
typedef LabelObjectType::AttributeType otb::HooverInstanceFilter< TLabelMap >::AttributeType |
Definition at line 95 of file otbHooverInstanceFilter.h.
typedef itk::VariableLengthVector<CoefficientType> otb::HooverInstanceFilter< TLabelMap >::CardinalVector |
Definition at line 107 of file otbHooverInstanceFilter.h.
typedef unsigned long otb::HooverInstanceFilter< TLabelMap >::CoefficientType |
Definition at line 104 of file otbHooverInstanceFilter.h.
typedef LabelMapType::ConstIterator otb::HooverInstanceFilter< TLabelMap >::ConstIteratorType |
Definition at line 92 of file otbHooverInstanceFilter.h.
typedef itk::SmartPointer<const Self> otb::HooverInstanceFilter< TLabelMap >::ConstPointer |
Definition at line 81 of file otbHooverInstanceFilter.h.
typedef LabelMapType::RegionType otb::HooverInstanceFilter< TLabelMap >::ImageRegionType |
Definition at line 98 of file otbHooverInstanceFilter.h.
typedef LabelObjectType::IndexType otb::HooverInstanceFilter< TLabelMap >::IndexType |
Definition at line 101 of file otbHooverInstanceFilter.h.
typedef LabelMapType::Iterator otb::HooverInstanceFilter< TLabelMap >::IteratorType |
Definition at line 93 of file otbHooverInstanceFilter.h.
typedef LabelMapType::Pointer otb::HooverInstanceFilter< TLabelMap >::LabelMapPointer |
Definition at line 91 of file otbHooverInstanceFilter.h.
typedef TLabelMap otb::HooverInstanceFilter< TLabelMap >::LabelMapType |
Some convenient typedefs.
Definition at line 87 of file otbHooverInstanceFilter.h.
typedef LabelMapType::LabelObjectType otb::HooverInstanceFilter< TLabelMap >::LabelObjectType |
Definition at line 94 of file otbHooverInstanceFilter.h.
typedef LabelObjectType::LabelType otb::HooverInstanceFilter< TLabelMap >::LabelType |
Definition at line 102 of file otbHooverInstanceFilter.h.
typedef LabelMapType::LabelVectorType otb::HooverInstanceFilter< TLabelMap >::LabelVectorType |
Definition at line 97 of file otbHooverInstanceFilter.h.
typedef itk::VariableSizeMatrix<CoefficientType> otb::HooverInstanceFilter< TLabelMap >::MatrixType |
Definition at line 105 of file otbHooverInstanceFilter.h.
typedef std::vector<LabelObjectType*> otb::HooverInstanceFilter< TLabelMap >::ObjectVectorType |
Definition at line 109 of file otbHooverInstanceFilter.h.
typedef itk::SmartPointer<Self> otb::HooverInstanceFilter< TLabelMap >::Pointer |
Definition at line 80 of file otbHooverInstanceFilter.h.
typedef std::set<CoefficientType> otb::HooverInstanceFilter< TLabelMap >::RegionSetType |
Definition at line 108 of file otbHooverInstanceFilter.h.
typedef HooverInstanceFilter otb::HooverInstanceFilter< TLabelMap >::Self |
Standard class typedefs.
Definition at line 78 of file otbHooverInstanceFilter.h.
typedef itk::InPlaceLabelMapFilter<TLabelMap> otb::HooverInstanceFilter< TLabelMap >::Superclass |
Definition at line 79 of file otbHooverInstanceFilter.h.
enum otb::HooverInstanceFilter::AttributeTypes |
number of regions (label objects) found in ground truth (GT)
Enumerator | |
---|---|
ATTRIBUTE_CD | |
ATTRIBUTE_OS | |
ATTRIBUTE_US | |
ATTRIBUTE_M | |
ATTRIBUTE_N | |
ATTRIBUTE_RC | |
ATTRIBUTE_RF | |
ATTRIBUTE_RA | |
ATTRIBUTE_RM | |
ATTRIBUTE_RN |
Definition at line 137 of file otbHooverInstanceFilter.h.
|
protected |
Constructor
Definition at line 32 of file otbHooverInstanceFilter.hxx.
References otb::HooverInstanceFilter< TLabelMap >::m_CardRegGT, otb::HooverInstanceFilter< TLabelMap >::m_CardRegMS, otb::HooverInstanceFilter< TLabelMap >::m_HooverMatrix, otb::HooverInstanceFilter< TLabelMap >::m_LabelsGT, otb::HooverInstanceFilter< TLabelMap >::m_MeanRA, otb::HooverInstanceFilter< TLabelMap >::m_MeanRC, otb::HooverInstanceFilter< TLabelMap >::m_MeanRF, otb::HooverInstanceFilter< TLabelMap >::m_MeanRM, and otb::HooverInstanceFilter< TLabelMap >::m_MeanRN.
|
inlineoverrideprotected |
number of regions (label objects) found in ground truth (GT)
Definition at line 236 of file otbHooverInstanceFilter.h.
|
overrideprotected |
Actions :
Definition at line 278 of file otbHooverInstanceFilter.hxx.
References otbDebugMacro.
|
overrideprotected |
Re implement the allocate output method to handle the second output correctly
Definition at line 95 of file otbHooverInstanceFilter.hxx.
|
overrideprotected |
Actions:
Definition at line 155 of file otbHooverInstanceFilter.hxx.
References otb::find(), and otbWarningMacro.
virtual::itk::LightObject::Pointer otb::HooverInstanceFilter< TLabelMap >::CreateAnother | ( | void | ) | const |
|
inlinestatic |
number of regions (label objects) found in ground truth (GT)
Definition at line 190 of file otbHooverInstanceFilter.h.
const TLabelMap * otb::HooverInstanceFilter< TLabelMap >::GetGroundTruthLabelMap |
Get the input ground truth label map
Definition at line 68 of file otbHooverInstanceFilter.hxx.
|
virtual |
TLabelMap * otb::HooverInstanceFilter< TLabelMap >::GetMachineSegmentationLabelMap |
Get the input machine segmentation label map
Definition at line 75 of file otbHooverInstanceFilter.hxx.
|
virtual |
number of regions (label objects) found in ground truth (GT)
|
virtual |
Get the average scores (after filter update)
|
virtual |
number of regions (label objects) found in ground truth (GT)
|
virtual |
number of regions (label objects) found in ground truth (GT)
|
virtual |
number of regions (label objects) found in ground truth (GT)
|
inlinestatic |
number of regions (label objects) found in ground truth (GT)
Definition at line 151 of file otbHooverInstanceFilter.h.
|
virtual |
Run-time type information (and related methods).
TLabelMap * otb::HooverInstanceFilter< TLabelMap >::GetOutputGroundTruthLabelMap |
Get the output ground truth label map
Definition at line 82 of file otbHooverInstanceFilter.hxx.
TLabelMap * otb::HooverInstanceFilter< TLabelMap >::GetOutputMachineSegmentationLabelMap |
Get the output machine segmentation label map
Definition at line 89 of file otbHooverInstanceFilter.hxx.
|
virtual |
|
virtual |
|
static |
Standard New method.
|
overrideprotected |
Re implement the release input method to handle the second input correctly
Definition at line 139 of file otbHooverInstanceFilter.hxx.
void otb::HooverInstanceFilter< TLabelMap >::SetGroundTruthLabelMap | ( | const LabelMapType * | gt | ) |
Set the ground truth label map
Definition at line 54 of file otbHooverInstanceFilter.hxx.
|
virtual |
void otb::HooverInstanceFilter< TLabelMap >::SetMachineSegmentationLabelMap | ( | const LabelMapType * | ms | ) |
Set the machine segmentation label map
Definition at line 61 of file otbHooverInstanceFilter.hxx.
|
virtual |
|
virtual |
|
overrideprotected |
Actions :
Definition at line 230 of file otbHooverInstanceFilter.hxx.
References otb::find(), and otbWarningMacro.
|
private |
List of region sizes in GT
Definition at line 275 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
List of region sizes in MS
Definition at line 278 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
Hoover confusion matrix computed between GT and MS
Definition at line 272 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
List of labels in GT segmentation
Definition at line 269 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
Average score for under segmentation on the whole segmentation
Definition at line 293 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
Average score for correct detection on the whole segmentation
Definition at line 287 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
Average score for over segmentation on the whole segmentation
Definition at line 290 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
Average score for missed detection on the whole segmentation
Definition at line 296 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
Average score for noise on the whole segmentation
Definition at line 299 of file otbHooverInstanceFilter.h.
Referenced by otb::HooverInstanceFilter< TLabelMap >::HooverInstanceFilter().
|
private |
number of regions (label objects) found in ground truth (GT)
Definition at line 263 of file otbHooverInstanceFilter.h.
|
private |
number of regions (label objects) found in machine segmentation (MS)
Definition at line 266 of file otbHooverInstanceFilter.h.
|
private |
Threshold used to compute Hoover instances
Definition at line 281 of file otbHooverInstanceFilter.h.
|
private |
Flag to output additional information in label maps
Definition at line 284 of file otbHooverInstanceFilter.h.