diff --git a/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h b/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h index 0d87528dd52c736b0648115d0133c3ef1d114859..aa1da8c42e9b794930c464c21ed1b33a68ff7bd1 100644 --- a/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h +++ b/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h @@ -31,7 +31,7 @@ class Layer; class GeometriesSet; } // otb namespace -/**\defgroup GeometriesFilters +/**\defgroup GeometriesFilters Filters of geometries sets * \ingroup gGeometry Filters * Filters of geometries sets. */ diff --git a/Modules/Adapters/GdalAdapters/include/otbGeometriesToGeometriesFilter.h b/Modules/Adapters/GdalAdapters/include/otbGeometriesToGeometriesFilter.h index 3e61efceec59b74c7c8b8ed544a62ea461d7f520..f5b9de54a347a66dc4fc795c389dd7a68bfe6a7f 100644 --- a/Modules/Adapters/GdalAdapters/include/otbGeometriesToGeometriesFilter.h +++ b/Modules/Adapters/GdalAdapters/include/otbGeometriesToGeometriesFilter.h @@ -180,7 +180,6 @@ struct FieldCopyTransformation } /** * In-place transformation: does nothing. - * \param[in] inoutFeature \c Feature to change. * \throw Nothing */ void fieldsTransform(ogr::Feature const& itkNotUsed(inoutFeature)) const @@ -189,8 +188,8 @@ struct FieldCopyTransformation } /** * By-Copy transformation: copies all fields. - * \param[in] inFeature input \c Feature - * \param[in,out] outFeature output \c Feature + * \param [in] inFeature input \c Feature + * \param [in,out] outFeature output \c Feature * * \throw itk::ExceptionObject if the fields cannot be copied. */ @@ -199,8 +198,8 @@ struct FieldCopyTransformation /** * Defines the fields in the destination layer. * The default action is to copy all fieds from one layer to another. - * \param[in] source source \c Layer - * \param[in,out] dest destination \c Layer + * \param [in] source source \c Layer + * \param [in,out] dest destination \c Layer * \throw itk::ExceptionObject in case the operation can't succeed. */ void DefineFields(ogr::Layer const& source, ogr::Layer & dest) const; diff --git a/Modules/Core/LabelMap/include/otbBandsStatisticsAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbBandsStatisticsAttributesLabelMapFilter.h index f3de02b9a69504c3c06afbf681e6ec353c3293d3..242affc0cac6a4158d04abd7269e6818edf7cc9f 100644 --- a/Modules/Core/LabelMap/include/otbBandsStatisticsAttributesLabelMapFilter.h +++ b/Modules/Core/LabelMap/include/otbBandsStatisticsAttributesLabelMapFilter.h @@ -121,7 +121,7 @@ private: * StatisticsAttributesLabelMapFilter on each channel independently * * The feature name is constructed as: - * 'STATS' + '::' + 'Band' + #BandIndex + '::' + StatisticName + * 'STATS' + '::' + 'Band' + band_index + '::' + statistic_name * * The ReducedAttributesSet flag allows to tell the internal * statistics filter to compute only the main attributes (mean, variance, skewness and kurtosis). diff --git a/Modules/Core/Transform/include/otbInverseLogPolarTransform.h b/Modules/Core/Transform/include/otbInverseLogPolarTransform.h index 9be87af8981d69d512b7b2b6cbc3ec391efc6931..7cc4447bb86a74e7078a69c6059db067ed706143 100644 --- a/Modules/Core/Transform/include/otbInverseLogPolarTransform.h +++ b/Modules/Core/Transform/include/otbInverseLogPolarTransform.h @@ -88,7 +88,7 @@ public: virtual ParametersType& GetParameters(void) const; /** * Set the Fixed Parameters - * \param The Fixed parameters of the transform. + * \param param The fixed parameters of the transform. */ virtual void SetFixedParameters( const ParametersType & param) { this->m_FixedParameters = param; } diff --git a/Modules/Core/Transform/include/otbLogPolarTransform.h b/Modules/Core/Transform/include/otbLogPolarTransform.h index f8f82401add1c76160e46770dd6558e7ef1bcbb3..e0e8278fba2d8500f60ffd59299b7990e8153336 100644 --- a/Modules/Core/Transform/include/otbLogPolarTransform.h +++ b/Modules/Core/Transform/include/otbLogPolarTransform.h @@ -90,7 +90,7 @@ public: /** * Set the Fixed Parameters - * \param The Fixed parameters of the transform. + * \param param The fixed parameters of the transform. */ virtual void SetFixedParameters( const ParametersType & param) { this->m_FixedParameters = param; } diff --git a/Modules/Core/VectorDataBase/include/otbDataNode.h b/Modules/Core/VectorDataBase/include/otbDataNode.h index 9765f7795568a06586843c69a0dbd0bc9a57901c..ba6ba788f2a997bee02ae0d718763cc7a625d870 100644 --- a/Modules/Core/VectorDataBase/include/otbDataNode.h +++ b/Modules/Core/VectorDataBase/include/otbDataNode.h @@ -254,7 +254,7 @@ public: /** * Copy the field list from a DataNode - * \param datanode where to get the keywordlist to copy. + * \param dataNode datanode where to get the keywordlist to copy. */ void CopyFieldList(const DataNode * dataNode); diff --git a/Modules/Feature/Descriptors/include/otbImageToSIFTKeyPointSetFilter.h b/Modules/Feature/Descriptors/include/otbImageToSIFTKeyPointSetFilter.h index 3dae4d1e84744722c3b011706a8031ec0bd80051..211c7f9fd274385cfc075ad7f0140f887cd7226d 100644 --- a/Modules/Feature/Descriptors/include/otbImageToSIFTKeyPointSetFilter.h +++ b/Modules/Feature/Descriptors/include/otbImageToSIFTKeyPointSetFilter.h @@ -106,7 +106,7 @@ public: * * Orientation is expressed in degree in the range [0, 360] with a precision of 10 degrees. * - * \example FeatureExtraction/SIFTExample.cxx + * \example Patented/SIFTExample.cxx * * * \ingroup OTBDescriptors diff --git a/Modules/Feature/Descriptors/include/otbSiftFastImageFilter.h b/Modules/Feature/Descriptors/include/otbSiftFastImageFilter.h index e07a0af4a1e95999bc62f272fb3b8eb1d86c7821..8ab518caf8aa18f3d28ae27cd4c15dfacd48c308 100644 --- a/Modules/Feature/Descriptors/include/otbSiftFastImageFilter.h +++ b/Modules/Feature/Descriptors/include/otbSiftFastImageFilter.h @@ -41,7 +41,7 @@ namespace otb * * \sa ImageToSIFTKeyPointSetFilter * - * \example FeatureExtraction/SIFTFastExample.cxx + * \example Patented/SIFTFastExample.cxx * * \ingroup OTBDescriptors */ diff --git a/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h b/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h index a48fea6f0f47ed711645541964b337e7200e4bce..f259390e069da651bf223a463dcca5eef435010d 100644 --- a/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h +++ b/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h @@ -40,7 +40,7 @@ namespace otb * * This filter is based on the mathematical parser library muParserX. * The built in functions and operators list is available at: - * \url{http:*articles.beltoforion.de/article.php?a=muparserx}. + * http://articles.beltoforion.de/article.php?a=muparserx. * * In order to use this filter, at least one input image is to be * set. An associated variable name can be specified or not by using diff --git a/Modules/Learning/Supervised/include/otbBoostMachineLearningModel.h b/Modules/Learning/Supervised/include/otbBoostMachineLearningModel.h index 9f1db559d2cdea10cd0b7392417b86323c3c3259..eb82efc56f97ff2dbdef3ccba03a3447793081f2 100644 --- a/Modules/Learning/Supervised/include/otbBoostMachineLearningModel.h +++ b/Modules/Learning/Supervised/include/otbBoostMachineLearningModel.h @@ -79,7 +79,7 @@ public: /** Setters/Getters to the threshold WeightTrimRate. * A threshold between 0 and 1 used to save computational time. - * Samples with summary weight \leq 1 - WeightTrimRate do not participate in the next iteration of training. + * Samples with summary weight \f$ w \leq 1 - WeightTrimRate \f$ do not participate in the next iteration of training. * Set this parameter to 0 to turn off this functionality. * Default is 0.95 * \see http://docs.opencv.org/modules/ml/doc/boosting.html#cvboostparams-cvboostparams diff --git a/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModel.h b/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModel.h index 3fe427458e2347ad91025fefdd768ba08523aee8..6e11039327b4cd531343ba470eb390b1eb63375f 100644 --- a/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModel.h +++ b/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModel.h @@ -90,7 +90,7 @@ public: itkGetMacro(UseSurrogates, bool); itkSetMacro(UseSurrogates, bool); - /** Cluster possible values of a categorical variable into K \leq max_categories clusters to find + /** Cluster possible values of a categorical variable into \f$ K \leq MaxCategories \f$ clusters to find * a suboptimal split. If a discrete variable, on which the training procedure tries to make a split, * takes more than max_categories values, the precise best subset estimation may take a very long time * because the algorithm is exponential. Instead, many decision trees engines (including ML) try to find diff --git a/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModel.h b/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModel.h index af99bb9da0375e4fee3a1454489ef1d45bba765e..a45608624f67afaa0554a4a00d77f4378244c079 100644 --- a/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModel.h +++ b/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModel.h @@ -55,14 +55,14 @@ public: /** Setters/Getters to the number of neighbors to use * Default is 32 - * see @http://docs.opencv.org/modules/ml/doc/k_nearest_neighbors.html + * \see http://docs.opencv.org/modules/ml/doc/k_nearest_neighbors.html */ itkGetMacro(K, int); itkSetMacro(K, int); /** Setters/Getters to IsRegression flag * Default is False - * see @http://docs.opencv.org/modules/ml/doc/k_nearest_neighbors.html + * \see http://docs.opencv.org/modules/ml/doc/k_nearest_neighbors.html */ itkGetMacro(IsRegression, bool); itkSetMacro(IsRegression, bool); diff --git a/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModel.h b/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModel.h index 4c50e6b9f6d66f02f49b17af44e2653fd59f34f4..ff2d6de384dc71071e8cbc981154c2ccc7f33ff5 100644 --- a/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModel.h +++ b/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModel.h @@ -117,14 +117,14 @@ public: itkGetMacro(BackPropMomentScale, double); itkSetMacro(BackPropMomentScale, double); - /** Initial value \Delta_0 of update-values \Delta_{ij} in RPROP method. + /** Initial value \f$ \Delta_0 \f$ of update-values \f$ \Delta_{ij} \f$ in RPROP method. * Default is 0.1 * \see http://docs.opencv.org/modules/ml/doc/neural_networks.html */ itkGetMacro(RegPropDW0, double); itkSetMacro(RegPropDW0, double); - /** Update-values lower limit \Delta_{min} in RPROP method. + /** Update-values lower limit \f$ \Delta_{min} \f$ in RPROP method. * It must be positive. Default is FLT_EPSILON * \see http://docs.opencv.org/modules/ml/doc/neural_networks.html */ diff --git a/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModel.h b/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModel.h index deddd5456f70fe4c31d2932d2b2025dee0c03597..5f2241d005f1596519d06add9ee49170f1c801ee 100644 --- a/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModel.h +++ b/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModel.h @@ -83,55 +83,21 @@ public: //@} //Setters of RT parameters (documentation get from opencv doxygen 2.4) - /* the depth of the tree. A low value will likely underfit and conversely a - * high value will likely overfit. The optimal value can be obtained using cross - * validation or other suitable methods. */ itkGetMacro(MaxDepth, int); itkSetMacro(MaxDepth, int); - /* minimum samples required at a leaf node for it to be split. A reasonable - * value is a small percentage of the total data e.g. 1%. */ + itkGetMacro(MinSampleCount, int); itkSetMacro(MinSampleCount, int); - /* Termination criteria for regression trees. If all absolute differences - * between an estimated value in a node and values of train samples in this node - * are less than this parameter then the node will not be split */ itkGetMacro(RegressionAccuracy, double); itkSetMacro(RegressionAccuracy, double); itkGetMacro(ComputeSurrogateSplit, bool); itkSetMacro(ComputeSurrogateSplit, bool); - /* Cluster possible values of a categorical variable into K \leq - * max_categories clusters to find a suboptimal split. If a discrete variable, - * on which the training procedure tries to make a split, takes more than - * max_categories values, the precise best subset estimation may take a very - * long time because the algorithm is exponential. Instead, many decision - * trees engines (including ML) try to find sub-optimal split in this case by - * clustering all the samples into max categories clusters that is some - * categories are merged together. The clustering is applied only in n>2-class - * classification problems for categorical variables with N > max_categories - * possible values. In case of regression and 2-class classification the - * optimal split can be found efficiently without employing clustering, thus - * the parameter is not used in these cases. - */ + itkGetMacro(MaxNumberOfCategories, int); itkSetMacro(MaxNumberOfCategories, int); - /* The array of a priori class probabilities, sorted by the class label - * value. The parameter can be used to tune the decision tree preferences toward - * a certain class. For example, if you want to detect some rare anomaly - * occurrence, the training base will likely contain much more normal cases than - * anomalies, so a very good classification performance will be achieved just by - * considering every case as normal. To avoid this, the priors can be specified, - * where the anomaly probability is artificially increased (up to 0.5 or even - * greater), so the weight of the misclassified anomalies becomes much bigger, - * and the tree is adjusted properly. You can also think about this parameter as - * weights of prediction categories which determine relative weights that you - * give to misclassification. That is, if the weight of the first category is 1 - * and the weight of the second category is 10, then each mistake in predicting - * the second category is equivalent to making 10 mistakes in predicting the - first category. */ - std::vector<float> GetPriors() const { return m_Priors; @@ -141,29 +107,22 @@ public: { m_Priors = priors; } - /* If true then variable importance will be calculated and then it can be - retrieved by CvRTrees::get_var_importance(). */ + itkGetMacro(CalculateVariableImportance, bool); itkSetMacro(CalculateVariableImportance, bool); - /* The size of the randomly selected subset of features at each tree node and - * that are used to find the best split(s). If you set it to 0 then the size will - be set to the square root of the total number of features. */ + itkGetMacro(MaxNumberOfVariables, int); itkSetMacro(MaxNumberOfVariables, int); - /* The maximum number of trees in the forest (surprise, surprise). Typically - * the more trees you have the better the accuracy. However, the improvement in - * accuracy generally diminishes and asymptotes pass a certain number of - * trees. Also to keep in mind, the number of tree increases the prediction time - linearly. */ + itkGetMacro(MaxNumberOfTrees, int); itkSetMacro(MaxNumberOfTrees, int); - /* Sufficient accuracy (OOB error) */ + itkGetMacro(ForestAccuracy, float); itkSetMacro(ForestAccuracy, float); - /* The type of the termination criteria */ + itkGetMacro(TerminationCriteria, int); itkSetMacro(TerminationCriteria, int); - /* Perform regression instead of classification */ + itkGetMacro(RegressionMode, bool); itkSetMacro(RegressionMode, bool); @@ -193,17 +152,66 @@ private: void operator =(const Self&); //purposely not implemented CvRTrees * m_RFModel; + /** The depth of the tree. A low value will likely underfit and conversely a + * high value will likely overfit. The optimal value can be obtained using cross + * validation or other suitable methods. */ int m_MaxDepth; + /** minimum samples required at a leaf node for it to be split. A reasonable + * value is a small percentage of the total data e.g. 1%. */ int m_MinSampleCount; + /** Termination criteria for regression trees. If all absolute differences + * between an estimated value in a node and values of train samples in this node + * are less than this parameter then the node will not be split */ float m_RegressionAccuracy; bool m_ComputeSurrogateSplit; + /** Cluster possible values of a categorical variable into + * \f$ K \leq MaxCategories \f$ + * clusters to find a suboptimal split. If a discrete variable, + * on which the training procedure tries to make a split, takes more than + * max_categories values, the precise best subset estimation may take a very + * long time because the algorithm is exponential. Instead, many decision + * trees engines (including ML) try to find sub-optimal split in this case by + * clustering all the samples into max categories clusters that is some + * categories are merged together. The clustering is applied only in n>2-class + * classification problems for categorical variables with N > max_categories + * possible values. In case of regression and 2-class classification the + * optimal split can be found efficiently without employing clustering, thus + * the parameter is not used in these cases. + */ int m_MaxNumberOfCategories; + /** The array of a priori class probabilities, sorted by the class label + * value. The parameter can be used to tune the decision tree preferences toward + * a certain class. For example, if you want to detect some rare anomaly + * occurrence, the training base will likely contain much more normal cases than + * anomalies, so a very good classification performance will be achieved just by + * considering every case as normal. To avoid this, the priors can be specified, + * where the anomaly probability is artificially increased (up to 0.5 or even + * greater), so the weight of the misclassified anomalies becomes much bigger, + * and the tree is adjusted properly. You can also think about this parameter as + * weights of prediction categories which determine relative weights that you + * give to misclassification. That is, if the weight of the first category is 1 + * and the weight of the second category is 10, then each mistake in predicting + * the second category is equivalent to making 10 mistakes in predicting the + * first category. */ std::vector<float> m_Priors; + /** If true then variable importance will be calculated and then it can be + * retrieved by CvRTrees::get_var_importance(). */ bool m_CalculateVariableImportance; + /** The size of the randomly selected subset of features at each tree node and + * that are used to find the best split(s). If you set it to 0 then the size will + * be set to the square root of the total number of features. */ int m_MaxNumberOfVariables; + /** The maximum number of trees in the forest (surprise, surprise). Typically + * the more trees you have the better the accuracy. However, the improvement in + * accuracy generally diminishes and asymptotes pass a certain number of + * trees. Also to keep in mind, the number of tree increases the prediction time + *linearly. */ int m_MaxNumberOfTrees; + /** Sufficient accuracy (OOB error) */ float m_ForestAccuracy; + /** The type of the termination criteria */ int m_TerminationCriteria; + /** Perform regression instead of classification */ bool m_RegressionMode; }; } // end namespace otb