Skip to content
Snippets Groups Projects
Commit 19cb12e4 authored by Guillaume Pasero's avatar Guillaume Pasero
Browse files

DOC: improve documentation on Hoover classes

parent 5f6fe592
No related branches found
No related tags found
No related merge requests found
......@@ -38,12 +38,14 @@ namespace otb
* - over segmentation (a GT region paired with a set of MS regions)
* - missed (a GT region that doesn't belong to any of the previous instances)
* - noise (a MS region that doesn't belong to any of the previous instances)
*
* The corresponding scores are :
* - RC : for correct detection
* - RF : for over segmentation
* - RA : for under segmentation
* - RM : for missed regions (only for GT)
* - RN : for noise regions (only for MS)
*
* 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
......@@ -53,10 +55,12 @@ namespace otb
* - ATTRIBUTE_US[_x] (under segmentation) : labels of the corresponding regions of GT / label of the under segmentated region of MS
* - ATTRIBUTE_M (missed) : missed region own label (in GT)
* - ATTRIBUTE_N (noise) : noise region own label (in MS)
*
* 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 reseted 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)
*
* \sa HooverMatrixFilter
*/
......@@ -162,19 +166,19 @@ protected:
/** Re implement the release input method to handle the second input correctly */
virtual void ReleaseInputs();
/** ThreadedProcessLabelObject :
/** Actions :
* - Fill cardinalities of GT regions
*/
virtual void ThreadedProcessLabelObject( LabelObjectType * labelObject );
/** BeforeThreadedGenerateData:
/** Actions:
* - Check matrix size
* - Init cardinalities lists
* - Fill cardinalities list for MS (GT is done by ThreadedProcessLabelObject)
*/
virtual void BeforeThreadedGenerateData();
/** AfterThreadedGenerateData :
/** Actions :
* - Compute Hoover instances
*/
virtual void AfterThreadedGenerateData();
......@@ -205,11 +209,19 @@ private:
/** Flag to output additional information in label maps */
bool m_UseExtendedAttributes;
/** Average scores for the whole segmentation */
/** Average score for correct detection on the whole segmentation */
AttributesValueType m_MeanRC;
/** Average score for over segmentation on the whole segmentation */
AttributesValueType m_MeanRF;
/** Average score for under segmentation on the whole segmentation */
AttributesValueType m_MeanRA;
/** Average score for missed detection on the whole segmentation */
AttributesValueType m_MeanRM;
/** Average score for noise on the whole segmentation */
AttributesValueType m_MeanRN;
};
......
......@@ -86,22 +86,21 @@ protected:
~HooverMatrixFilter() {};
/** BeforeThreadedGenerateData
* Resize the matrix
/** Action : Resize the matrix
*/
virtual void BeforeThreadedGenerateData();
/** Real action of the filter : fill the line of the confusion matrix corresponding to
/** Action : fill the line of the confusion matrix corresponding to
* the given label object
*/
virtual void ThreadedProcessLabelObject( LabelObjectType * labelObject );
private:
/** number of label objects found in the ground truth (GT) label maps */
/** Number of label objects found in the ground truth (GT) label maps */
unsigned long m_NumberOfRegionsGT;
/** number of label objects found in the machine segmentation (MS) label maps */
/** Number of label objects found in the machine segmentation (MS) label maps */
unsigned long m_NumberOfRegionsMS;
/** List of labels in GT label map */
......
......@@ -30,7 +30,7 @@ namespace otb
* \brief This class produces an image from attributes in a label map
*
* This filter is intended to work on AttributesMapLabelObject. The user chooses
* the attribute to display for each channel. The output image is expected to be
* the attributes to display for each channel. The output image is expected to be
* a vector image.
*/
......@@ -71,8 +71,10 @@ public:
typedef TAttributeAccessor AttributeAccessorType;
typedef typename AttributeAccessorType::AttributeValueType AttributeValueType;
/** Get/Set Macro for background value */
/** Get macro for background value */
itkGetConstMacro(BackgroundValue, OutputInternalPixelType);
/** Set macro for background value */
itkSetMacro(BackgroundValue, OutputInternalPixelType);
/** Get the current chosen attributes */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment