Commit 88d1a34d authored by Victor Poughon's avatar Victor Poughon

Merge branch 'otb_dmci_updates' into 'develop'

DOC: updates to parts of the documentation within the apps

See merge request !532
parents 03448a92 9803cf96
Pipeline #2041 passed with stages
in 67 minutes and 15 seconds
......@@ -110,7 +110,7 @@ private:
// Documentation
SetDocLongDescription("This application computes the confusion matrix of a classification map relative to a ground truth dataset. "
"This ground truth can be given as a raster or a vector data. Only reference and produced pixels with values different "
"The ground truth can be provided as either a raster or a vector data. Only reference and produced pixels with values different "
"from NoData are handled in the calculation of the confusion matrix. The confusion matrix is organized the following way: "
"rows = reference labels, columns = produced labels. In the header of the output file, the reference and produced class labels "
"are ordered according to the rows/columns of the confusion matrix.");
......@@ -149,21 +149,21 @@ private:
SetParameterDescription("ref.vector.field","Field name containing the label values");
SetListViewSingleSelectionMode("ref.vector.field",true);
AddParameter(ParameterType_Int,"ref.raster.nodata","Value for nodata pixels in ref raster");
AddParameter(ParameterType_Int,"ref.raster.nodata","Value for nodata pixels in the reference raster");
SetDefaultParameterInt("ref.raster.nodata",0);
SetParameterDescription("ref.raster.nodata","Label to be treated as no data in ref raster.");
SetParameterDescription("ref.raster.nodata","Label to be treated as nodata in the reference raster.");
MandatoryOff("ref.raster.nodata");
DisableParameter("ref.raster.nodata");
AddParameter(ParameterType_Int,"ref.vector.nodata","Value for nodata pixels in ref vector");
AddParameter(ParameterType_Int,"ref.vector.nodata","Value for nodata pixels in the reference vector");
SetDefaultParameterInt("ref.vector.nodata",0);
SetParameterDescription("ref.vector.nodata","Label to be treated as no data in ref vector. Please note that this value is always used in vector mode, to generate default values. Please set it to a value that does not correspond to a class label.");
SetParameterDescription("ref.vector.nodata","Label to be treated as nodata in the reference vector. Please note that this value is always used in vector mode, to generate default values. Please set it to a value that does not correspond to a class label.");
MandatoryOff("ref.vector.nodata");
DisableParameter("ref.vector.nodata");
AddParameter(ParameterType_Int,"nodatalabel","Value for nodata pixels in input image");
SetParameterDescription("nodatalabel","Label to be treated as no data in input image");
AddParameter(ParameterType_Int,"nodatalabel","Value for nodata pixels in the input image");
SetParameterDescription("nodatalabel","Label to be treated as nodata in the input image");
SetDefaultParameterInt("nodatalabel",0);
MandatoryOff("nodatalabel");
......
......@@ -51,7 +51,7 @@ private:
SetName("ComputeOGRLayersFeaturesStatistics");
SetDescription("Compute statistics of the features in a set of OGR Layers");
SetDocLongDescription("Compute statistics (mean and standard deviation) of the features in a set of OGR Layers, and write them in an XML file. This XML file can then be used by the training application.");
SetDocLongDescription("Compute statistics (mean and standard deviation) of the features in a set of OGR Layers, and write them in an XML file. The resulting XML file can then be used by the training application.");
SetDocLimitations("Experimental. For now only shapefiles are supported.");
SetDocAuthors("David Youssefi during internship at CNES");
SetDocSeeAlso("OGRLayerClassifier,TrainVectorClassifier");
......
......@@ -80,9 +80,9 @@ private:
SetDescription("Performs a classification of the input image according to a model file.");
// Documentation
SetDocLongDescription("This application performs an image classification based on a model file produced by the TrainImagesClassifier application. Pixels of the output image will contain the class labels decided by the classifier (maximal class label = 65535). The input pixels can be optionally centered and reduced according to the statistics file produced by the ComputeImagesStatistics application. An optional input mask can be provided, in which case only input image pixels whose corresponding mask value is greater than 0 will be classified. By default, the remaining of pixels will be given the label 0 in the output image.");
SetDocLongDescription("This application performs an image classification based on a model file produced by the TrainImagesClassifier application. Pixels of the output image will contain the class labels decided by the classifier (maximal class label = 65535). The input pixels can be optionally centered and reduced according to the statistics file produced by the ComputeImagesStatistics application. An optional input mask can be provided, in which case only input image pixels whose corresponding mask value is greater than 0 will be classified. By default, the remaining pixels will be given the label 0 in the output image.");
SetDocLimitations("The input image must have the same type, order and number of bands than the images used to produce the statistics file and the SVM model file. If a statistics file was used during training by the TrainImagesClassifier, it is mandatory to use the same statistics file for classification. If an input mask is used, its size must match the input image size.");
SetDocLimitations("The input image must have the same type, order and number of bands as the images used to produce the statistics file and the SVM model file. If a statistics file was used during training by the TrainImagesClassifier, it is mandatory to use the same statistics file for classification. If an input mask is used, its size must match the input image size.");
SetDocAuthors("OTB-Team");
SetDocSeeAlso("TrainImagesClassifier, ValidateImagesClassifier, ComputeImagesStatistics");
......@@ -92,21 +92,21 @@ private:
SetParameterDescription( "in", "The input image to classify.");
AddParameter(ParameterType_InputImage, "mask", "Input Mask");
SetParameterDescription( "mask", "The mask allows restricting classification of the input image to the area where mask pixel values are greater than 0.");
SetParameterDescription( "mask", "The mask restricts the classification of the input image to the area where mask pixel values are greater than 0.");
MandatoryOff("mask");
AddParameter(ParameterType_InputFilename, "model", "Model file");
SetParameterDescription("model", "A model file (produced by TrainImagesClassifier application, maximal class label = 65535).");
AddParameter(ParameterType_InputFilename, "imstat", "Statistics file");
SetParameterDescription("imstat", "A XML file containing mean and standard deviation to center and reduce samples before classification (produced by ComputeImagesStatistics application).");
SetParameterDescription("imstat", "An XML file containing mean and standard deviation to center and reduce samples before classification (produced by ComputeImagesStatistics application).");
MandatoryOff("imstat");
AddParameter(ParameterType_Int, "nodatalabel", "Label mask value");
SetParameterDescription("nodatalabel", "By default, "
"hidden pixels will have the assigned label 0 in the output image. "
"It's possible to define the label mask by another value, "
"but be careful to not take a label from another class (max. 65535).");
"It is possible to define the label mask by another value, "
"but be careful not to use a label from another class (max. 65535).");
SetDefaultParameterInt("nodatalabel", 0);
MandatoryOff("nodatalabel");
......@@ -137,7 +137,7 @@ private:
AddParameter(ParameterType_Int, "nbclasses", "Number of classes in the model");
SetDefaultParameterInt("nbclasses", 20);
SetParameterDescription("nbclasses","The number of classes is needed for the probamap output in order to set the number of output bands.");
SetParameterDescription("nbclasses","The number of classes is required by the output of the probability map in order to set the number of output bands.");
// Doc example parameter settings
SetDocExampleParameterValue("in", "QB_1_ortho.tif");
......
......@@ -59,7 +59,7 @@ protected:
InitKMClassification();
// init at the end cleanup
AddParameter( ParameterType_Bool, "cleanup", "Temporary files cleaning" );
AddParameter( ParameterType_Bool, "cleanup", "Clean-up of temporary files" );
SetParameterDescription( "cleanup",
"If activated, the application will try to clean all temporary files it created" );
SetParameterInt("cleanup", 1);
......@@ -119,7 +119,7 @@ protected:
"By default, hidden pixels will have the assigned label 0 in the output image. "
"It's possible to define the label mask by another value, "
"but be careful to not take a label from another class. "
"This application initialize the labels from 0 to N-1, "
"This application initializes the labels from 0 to N-1, "
"N is the number of class (defined by 'nc' parameter).");
}
......@@ -387,12 +387,12 @@ private:
"6) TrainVectorClassifier: train the SharkKMeans model,\n"
"7) ImageClassifier: perform the classification of the input image "
"according to a model file.\n\n"
"It's possible to choice random/periodic modes of the SampleSelection application.\n"
"If you want keep the temporary files (sample selected, model file, ...), "
"It is possible to choose random/periodic modes of the SampleSelection application.\n"
"If you do not want to keep the temporary files (sample selected, model file, ...), "
"initialize cleanup parameter.\n"
"For more information on shark KMeans algorithm [1].");
SetDocLimitations("The application doesn't support NaN in the input image");
SetDocLimitations("The application does not support NaN in the input image");
SetDocAuthors("OTB-Team");
SetDocSeeAlso("ImageEnvelope, PolygonClassStatistics, SampleSelection, SampleExtraction, "
"PolygonClassStatistics, TrainVectorClassifier, ImageClassifier.\n\n"
......
......@@ -79,9 +79,9 @@ private:
"input CSV file (first column is class name, second one is the required "
"samples number).\n\n"
"The multi-image modes (mim) are proportional, equal and custom. The custom "
"mode lets the users choose the distribution of samples among the "
"mode lets the user choose the distribution of samples among the "
"images. The different behaviours are described below. Ti(c) and Ni(c) "
" refers resp. to the total number and needed number of samples in "
" refers respectively to the total number and needed number of samples in "
"image i for class c. Let's call L the total number of images.\n\n"
"* strategy = all\n\n"
" - Same behaviour for all modes: take all samples\n\n"
......@@ -160,8 +160,8 @@ private:
AddParameter(ParameterType_String,"strategy.total.v","The number of samples to generate");
SetParameterDescription("strategy.total.v","The number of samples to generate" "In the case of the custom multi-image mode, several values can be given for each image.");
AddChoice("strategy.all","Take all samples");
SetParameterDescription("strategy.all","Take all samples");
AddChoice("strategy.all","Use all samples");
SetParameterDescription("strategy.all","Use all samples");
// Default strategy : smallest
SetParameterString("strategy","smallest");
......@@ -169,13 +169,13 @@ private:
AddParameter(ParameterType_Choice, "mim", "Multi-Image Mode");
AddChoice("mim.proportional", "Proportional");
SetParameterDescription("mim.proportional","Split proportionally the required number of samples");
SetParameterDescription("mim.proportional","Split the required number of samples proportionally");
AddChoice("mim.equal", "equal");
SetParameterDescription("mim.equal","Split equally the required number of samples");
SetParameterDescription("mim.equal","Equal split of the required number of samples");
AddChoice("mim.custom", "Custom");
SetParameterDescription("mim.custom","Split the required number of samples following user choice.");
SetParameterDescription("mim.custom","Split the number of samples based on the user's choice.");
// Doc example parameter settings
SetDocExampleParameterValue("il", "stats_1.xml stats_2.xml");
......
......@@ -150,7 +150,7 @@ private:
// TODO : use CSV input/output ?
AddParameter(ParameterType_InputImage, "mask", "Input Mask");
SetParameterDescription( "mask", "The mask allow restricting "
SetParameterDescription( "mask", "The mask restrict the "
"classification of the input image to the area where mask pixel values "
"are greater than 0.");
MandatoryOff("mask");
......@@ -160,10 +160,10 @@ private:
"TrainRegression application).");
AddParameter(ParameterType_InputFilename, "imstat", "Statistics file");
SetParameterDescription("imstat", "A XML file containing mean and standard"
SetParameterDescription("imstat", "An XML file containing mean and standard"
" deviation to center and reduce samples before prediction "
"(produced by ComputeImagesStatistics application). If this file contains"
"one more band than the sample size, the last stat of last band will be"
"one more band than the sample size, the last stat of the last band will be"
"applied to expand the output predicted value");
MandatoryOff("imstat");
......
......@@ -90,13 +90,13 @@ private:
"The application selects a set of samples from geometries "
"intended for training (they should have a field giving the associated "
"class). \n\nFirst of all, the geometries must be analyzed by the PolygonClassStatistics application "
"to compute statistics about the geometries, which are summarized in an xml file. "
"\nThen, this xml file must be given as input to this application (parameter instats).\n\n"
"to compute statistics about the geometries, which are summarized in an XML file. "
"\nThen, this XML file must be given as an input to this application (parameter instats).\n\n"
"The input support image and the input training vectors shall be given in "
"parameters 'in' and 'vec' respectively. Only the sampling grid (origin, size, spacing)"
"will be read in the input image.\n"
"There are several strategies to select samples (parameter strategy) : \n\n"
" - smallest (default) : select the same number of sample in each class"
" - smallest (default) : select the same number of samples in each class"
" so that the smallest one is fully sampled.\n"
" - constant : select the same number of samples N in each class"
" (with N below or equal to the size of the smallest class).\n"
......@@ -104,13 +104,13 @@ private:
" (first column is class name, second one is the required samples number).\n\n"
" - percent: set a target global percentage of samples to use. Class proportions will be respected. \n\n"
" - total: set a target total number of samples to use. Class proportions will be respected. \n\n"
"There is also a choice on the sampling type to performs : \n\n"
"There is also a choice of the sampling type to perform: \n\n"
" - periodic : select samples uniformly distributed\n"
" - random : select samples randomly distributed\n\n"
"Once the strategy and type are selected, the application outputs samples positions"
"(parameter out).\n\n"
"The other parameters to look at are : \n\n"
"The other parameters to consider are: \n\n"
" - layer : index specifying from which layer to pick geometries.\n"
" - field : set the field name containing the class.\n"
" - mask : an optional raster mask can be used to discard samples.\n"
......@@ -193,11 +193,11 @@ private:
SetMinimumParameterIntValue("strategy.total.v",1);
SetDefaultParameterInt("strategy.total.v",1000);
AddChoice("strategy.smallest","Set same number of samples for all classes, with the smallest class fully sampled");
SetParameterDescription("strategy.smallest","Set same number of samples for all classes, with the smallest class fully sampled");
AddChoice("strategy.smallest","Set the same number of samples for all classes, with the smallest class fully sampled");
SetParameterDescription("strategy.smallest","Set the same number of samples for all classes, with the smallest class fully sampled");
AddChoice("strategy.all","Take all samples");
SetParameterDescription("strategy.all","Take all samples");
AddChoice("strategy.all","Use all samples");
SetParameterDescription("strategy.all","Use all samples");
// Default strategy : smallest
SetParameterString("strategy","smallest");
......@@ -306,7 +306,7 @@ private:
// total
case 3:
{
otbAppLogINFO("Sampling strategy: set the total number of samples to generate, use classes proportions.");
otbAppLogINFO("Sampling strategy: set the total number of samples to generate, use class proportions.");
m_RateCalculator->SetTotalNumberOfSamples(this->GetParameterInt("strategy.total.v"));
}
break;
......@@ -321,7 +321,7 @@ private:
// all samples
case 5:
{
otbAppLogINFO("Sampling strategy : take all samples");
otbAppLogINFO("Sampling strategy : use all samples");
m_RateCalculator->SetAllSamples();
}
break;
......
......@@ -49,8 +49,8 @@ public:
"The training vector data must contain polygons with a positive integer field "
"representing the class label. The name of this field can be set using the *Class label field* parameter.\n\n"
"Training and validation sample lists are built such that each class is equally represented in both lists. One parameter allows controlling the ratio "
"between the number of samples in training and validation sets. Two parameters allow managing the size of the training and "
"Training and validation sample lists are built such that each class is equally represented in both lists. One parameter controlls the ratio "
"between the number of samples in training and validation sets. Two parameters manage the size of the training and "
"validation sets per class and per image.\n\n"
"In the validation process, the confusion matrix is organized the following way:\n\n"
......@@ -62,7 +62,7 @@ public:
"This application is based on LibSVM, OpenCV Machine Learning, and Shark ML. "
"The output of this application is a text model file, whose format corresponds to the "
"ML model type chosen. There is no image nor vector data output.");
"ML model type chosen. There is no image or vector data output.");
SetDocLimitations( "None" );
SetDocAuthors( "OTB-Team" );
SetDocSeeAlso( "OpenCV documentation for machine learning http://docs.opencv.org/modules/ml/doc/ml.html " );
......
......@@ -106,7 +106,7 @@ void DoInit() override
// Documentation
SetDocLongDescription(
"This application trains a classifier from multiple input images or a csv "
"This application trains a classifier from multiple input images or a CSV "
"file, in order to perform regression. Predictors are composed of pixel "
"values in each band optionally centered and reduced using an XML "
"statistics file produced by the ComputeImagesStatistics application.\n\n"
......@@ -131,7 +131,7 @@ void DoInit() override
//Group IO
AddParameter( ParameterType_Group , "io" , "Input and output data" );
SetParameterDescription("io" ,
"This group of parameters allows setting input and output data." );
"This group of parameters set the input and output data." );
AddParameter( ParameterType_InputImageList , "io.il", "Input Image List" );
SetParameterDescription( "io.il" ,
"A list of input images. First (n-1) bands should contain the predictor. "
......@@ -163,7 +163,7 @@ void DoInit() override
AddParameter( ParameterType_Group , "sample" ,
"Training and validation samples parameters" );
SetParameterDescription( "sample" ,
"This group of parameters allows you to set training and validation sample "
"This group of parameters allows one to set training and validation sample "
"lists parameters." );
AddParameter( ParameterType_Int , "sample.mt" ,
......
......@@ -65,7 +65,7 @@ protected:
"classification.\nThis application is based on LibSVM, OpenCV Machine "
"Learning (2.3.1 and later), and Shark ML The output of this application "
"is a text model file, whose format corresponds to the ML model type "
"chosen. There is no image nor vector data output.");
"chosen. There are no image or vector data outputs created.");
SetDocLimitations("None");
SetDocAuthors( "OTB Team" );
SetDocSeeAlso( " " );
......
......@@ -98,12 +98,12 @@ private:
"(maximal class label = 65535). \n"
"There are two modes: \n"
"1) Update mode: add of the 'cfield' field containing the predicted class in the input file. \n"
"2) Write mode: copies the existing fields of the input file in the output file "
"2) Write mode: copies the existing fields of the input file to the output file "
" and add the 'cfield' field containing the predicted class. \n"
"If you have declared the output file, the write mode applies. "
"Otherwise, the input file update mode will be applied.");
SetDocLimitations("Shapefiles are supported. But the SQLite format is only supported in update mode.");
SetDocLimitations("Shapefiles are supported, but the SQLite format is only supported in update mode.");
SetDocSeeAlso("TrainVectorClassifier");
AddDocTag(Tags::Learning);
......
......@@ -84,7 +84,7 @@ private:
{
SetName("HomologousPointsExtraction");
SetDescription("Compute homologous points between images using keypoints");
SetDocLongDescription("This application allows computing homologous points between images using keypoints. "
SetDocLongDescription("This application computes homologous points between images using keypoints. "
" SIFT or SURF keypoints can be used and the band on which keypoints are computed can be set independently for both images."
" The application offers two modes:"
" the first is the full mode where keypoints are extracted from the full extent of both images"
......@@ -97,7 +97,7 @@ private:
"The elevation parameters are to deal more precisely with sensor modelling in case of sensor geometry data. "
"The outvector option allows creating a vector file with segments corresponding to the localisation error between the matches."
" It can be useful to assess the precision of a registration for instance."
" The vector file is always reprojected to EPSG:4326 to allow display in a GIS."
" The vector file is always reprojected to EPSG:4326 so that it can be displayed in a GIS."
" This is done via reprojection or by applying the image sensor models.");
// Documentation
SetDocLimitations("Full mode does not handle large images.");
......@@ -150,7 +150,7 @@ private:
SetParameterDescription("mode.full","Extract and match all keypoints, loading both images entirely into memory");
AddChoice("mode.geobins","Search keypoints in small spatial bins regularly spread across first image");
SetParameterDescription("mode.geobins","This method allows retrieving a set of tie points regulary spread across image 1. Corresponding bins in image 2 are retrieved using sensor and geographical information if available. The first bin position takes into account the margin parameter. Bins are cropped to the largest image region shrunk by the margin parameter for both in1 and in2 images.");
SetParameterDescription("mode.geobins","This method retrieves a set of tie points regulary spread across image 1. Corresponding bins in image 2 are retrieved using sensor and geographical information if available. The first bin position takes into account the margin parameter. Bins are cropped to the largest image region shrunk by the margin parameter for both in1 and in2 images.");
AddParameter(ParameterType_Int,"mode.geobins.binsize","Size of bin");
SetParameterDescription("mode.geobins.binsize","Radius of the spatial bin in pixels");
......
......@@ -89,7 +89,7 @@ private:
{
SetName("DimensionalityReduction");
SetDescription("Perform Dimension reduction of the input image.");
SetDocLongDescription("Performs dimensionality reduction on input image. PCA,NA-PCA,MAF,ICA methods are available. It is also possible to compute the inverse transform to reconstruct the image. It is also possible to optionally export the transformation matrix to a text file.");
SetDocLongDescription("Performs dimensionality reduction on input image. PCA,NA-PCA,MAF,ICA methods are available. It is also possible to compute the inverse transform to reconstruct the image and to optionally export the transformation matrix to a text file.");
SetDocLimitations("This application does not provide the inverse transform and the transformation matrix export for the MAF.");
SetDocAuthors("OTB-Team");
SetDocSeeAlso(
......
......@@ -126,7 +126,7 @@ private:
{
SetName("ImageDimensionalityReduction");
SetDescription("Performs dimensionality reduction of the input image "
"according to a dimensionality reduction model file.");
"based on a dimensionality reduction model file.");
// Documentation
SetDocLongDescription("This application reduces the dimension of an input"
......@@ -162,7 +162,7 @@ private:
"TrainRegression application).");
AddParameter(ParameterType_InputFilename, "imstat", "Statistics file");
SetParameterDescription("imstat", "A XML file containing mean and standard"
SetParameterDescription("imstat", "An XML file containing mean and standard"
" deviation to center and reduce samples before prediction "
"(produced by ComputeImagesStatistics application). If this file contains"
"one more bands than the sample size, the last stat of last band will be"
......
......@@ -98,7 +98,7 @@ private:
SetParameterDescription("in","The input vector data to reduce.");
AddParameter(ParameterType_InputFilename, "instat", "Statistics file");
SetParameterDescription("instat", "A XML file containing mean and standard "
SetParameterDescription("instat", "An XML file containing mean and standard "
"deviation to center and reduce samples before dimensionality reduction "
"(produced by ComputeImagesStatistics application).");
MandatoryOff("instat");
......
......@@ -94,8 +94,8 @@ private:
AddParameter(ParameterType_InputImage, "in", "Input Image");
SetParameterDescription("in", "This will take an input image to be transformed"
" image. For FFT inverse transform, it expects a complex image as two-band"
" image in which first band represent real part and second band represent"
" imaginary part.");
" image in which the first band represents the real part and second band represents"
" the imaginary part.");
AddParameter(ParameterType_OutputImage, "out", "Output Image");
SetParameterDescription("out", "This parameter holds the output file name to"
......
......@@ -66,7 +66,7 @@ private:
// Documentation
SetDocLongDescription(
"This application computes edge features on a selected channel of the input."
"It uses different filter such as gradient, Sobel and Touzi");
"It uses different filters such as gradient, Sobel and Touzi");
SetDocLimitations("None");
SetDocAuthors("OTB-Team");
......@@ -102,9 +102,9 @@ private:
// Touzi Section
AddChoice("filter.touzi", "Touzi");
SetParameterDescription("filter.touzi",
"This filter is more suited for radar images. It has a spatial parameter "
"This filter is more suited to radar images. It has a spatial parameter "
"to avoid speckle noise perturbations. The larger the radius is, "
"less sensible to the speckle noise the filter is, but micro edge will be missed.");
"the less sensitive the filter is to the speckle noise, but micro edge will be missed.");
AddParameter(ParameterType_Int, "filter.touzi.xradius", "X radius of the neighborhood");
SetDefaultParameterInt("filter.touzi.xradius", 1);
AddParameter(ParameterType_Int, "filter.touzi.yradius", "Y radius of the neighborhood");
......
......@@ -148,7 +148,7 @@ private:
SetDescription("This application is the implementation of the histogram "
"equalization algorithm. It can be used to enhance contrast in an image "
"or to reduce the dynamic of the image without losing too much contrast. "
"It offers several options as a no data value, "
"It offers several options as a nodata value, "
"a contrast limitation factor, a local version of the algorithm and "
"also a mode to equalize the luminance of the image.");
......@@ -162,7 +162,7 @@ private:
"image.\n\n"
"The application proposes several options to allow a finer result:\n\n"
"* There is an option to limit contrast. We choose to limit the contrast "
"by modifying the original histogram. To do so we clip the histogram at a "
"by modifying the original histogram. To do so, we clip the histogram at a "
"given height and redistribute equally among the bins the clipped population. "
"Then we add a local version of the algorithm.\n"
"* It is possible to apply the algorithm on tiles of the image, instead "
......
......@@ -61,7 +61,7 @@ private:
SetDescription( "Apply a smoothing filter to an image" );
SetDocLongDescription( "This application applies a smoothing filter to an "
"image. Three methodes can be used: a gaussian filter , a mean filter "
"image. Three methods can be used: a gaussian filter , a mean filter "
", or an anisotropic diffusion using the Perona-Malik algorithm." );
SetDocLimitations( "None") ;
SetDocAuthors( "OTB-Team" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment