Commit a86db9fb authored by Cédric Traizet's avatar Cédric Traizet
Browse files

Merge branch 'develop' into ci_rcjob

parents a456b962 bbe59402
......@@ -5,11 +5,15 @@ Antoine Regimbeau <antoine.regimbeau@c-s.fr>
Antoine Regimbeau <antoine.regimbeau@c-s.fr> aregimbe <antoine.regimbeau@c-s.fr>
Antoine Regimbeau <antoine.regimbeau@c-s.fr> aregimbeau <antoine.regimbeau@c-s.fr>
Arnaud Jaen <arnaud.jaen@c-s.fr>
Arthur Vincent <arthur.vincent@c-s.fr>
Arthur Vincent <arthur.vincent@c-s.fr> Arthur Vincent <vincenta@cesbio.cnes.fr>
Aurelien Bricier <aurelien.bricier@c-s.fr>
Aurélie Emilien <aurelie.emilien@c-s.fr>
Aurélie Emilien <aurelie.emilien@c-s.fr> Aurelie Emilien <aurelie.emilien@c-s.fr>
Bas Couwenberg <sebastic@debian.org>
Bas Couwenberg <sebastic@debian.org> Bas Couwenberg <sebastic@xs4all.nl>
Carole Amiot <carole.amiot@cnes.fr>
Carole Amiot <carole.amiot@cnes.fr> Carole Amiot <carole.amiot@thales-services.fr>
Caroline Ruffel <caroline.ruffel@c-s.fr>
Charles Peyrega <charles.peyrega@c-s.fr>
Chia Aik Song <crscas@nus.edu.sg>
......@@ -38,6 +42,7 @@ Guillaume Borrut <guillaume.borrut@c-s.fr>
Guillaume Pasero <guillaume.pasero@c-s.fr>
Guillaume Pernot <guillaume.pernot@c-s.fr>
Guillaume Pernot <guillaume.pernot@c-s.fr> gpernot <guillaume.pernot@c-s.fr>
janestar <janestar92@163.com>
Jee Roen <jeroen.staab@posteo.de>
Jonathan Guinet <jonathan.guinet@c-s.fr>
Jordi Inglada <jordi.inglada@cesbio.eu>
......@@ -51,7 +56,7 @@ Julien Michel <julien.michel@cnes.fr> Julien Michel <julien.
Julien Michel <julien.michel@cnes.fr> Julien Michel <julien.michel@orfeo-toolbox.org>
Laurențiu Nicola <lnicola@dend.ro> Laurentiu Nicola <lnicola@dend.ro>
Laurențiu Nicola <lnicola@dend.ro> Laurențiu Nicola <grayshade@gmail.com>
Luc Hermitte <luc.hermitte@c-s.fr>
Luc Hermitte <luc.hermitte@c-s.fr> Luc Hermitte <luc.hermitte@cnes.fr>
Ludovic Hussonnois <ludovic.hussonnois@c-s.fr>
Manuel Grizonnet <manuel.grizonnet@cnes.fr>
Manuel Grizonnet <manuel.grizonnet@cnes.fr> Grizonnet Manuel <manuel.grizonnet@cnes.fr>
......@@ -94,4 +99,3 @@ Yannick Tanguy <yannick.tanguy@cnes.fr> Yannick TANGUY <tanguy
Yannick Tanguy <yannick.tanguy@cnes.fr> Yannick TANGUY <yannick.tanguy@cnes.fr>
Yannick Tanguy <yannick.tanguy@cnes.fr> ytanguy <yannick.tanguy@cnes.fr>
Yin Tiangang <crsyt@nus.edu.sg>
janestar <janestar92@163.com>
#Reference labels (rows):1,2,3,4
#Produced labels (columns):1,2,3,4
42,0,0,0
0,41,1,0
0,0,42,0
0,0,0,42
%YAML:1.0
my_tree: !!opencv-ml-tree
is_classifier: 1
var_all: 4
var_count: 4
ord_var_count: 4
cat_var_count: 0
training_params:
use_surrogates: 1
max_categories: 10
max_depth: 25
min_sample_count: 10
cross_validation_folds: 10
use_1se_rule: 1
truncate_pruned_tree: 1
priors: !!opencv-matrix
rows: 1
cols: 4
dt: d
data: [ 1., 1., 1., 1. ]
var_type: [ 0, 0, 0, 0 ]
cat_count: !!opencv-matrix
rows: 1
cols: 1
dt: i
data: [ 4 ]
cat_map: !!opencv-matrix
rows: 1
cols: 4
dt: i
data: [ 1, 2, 3, 4 ]
best_tree_idx: -1
nodes:
-
depth: 0
sample_count: 180
value: 1.
norm_class_idx: 0
Tn: 0
complexity: 4
alpha: 45.
node_risk: 135.
tree_risk: 0.
tree_error: 0.
splits:
- { var:0, quality:90., le:2.4664748460054398e-02 }
-
depth: 1
sample_count: 90
value: 1.
norm_class_idx: 0
Tn: 2147483647
complexity: 2
alpha: 45.
node_risk: 45.
tree_risk: 0.
tree_error: 0.
splits:
- { var:3, quality:90., le:-1.2730357646942139e+00 }
-
depth: 2
sample_count: 45
value: 1.
norm_class_idx: 0
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
-
depth: 2
sample_count: 45
value: 3.
norm_class_idx: 2
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
-
depth: 1
sample_count: 90
value: 2.
norm_class_idx: 1
Tn: 2147483647
complexity: 2
alpha: 45.
node_risk: 45.
tree_risk: 0.
tree_error: 0.
splits:
- { var:2, quality:90., le:8.2657122611999512e-01 }
-
depth: 2
sample_count: 45
value: 2.
norm_class_idx: 1
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
-
depth: 2
sample_count: 45
value: 4.
norm_class_idx: 3
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
%YAML:1.0
my_tree: !!opencv-ml-tree
is_classifier: 1
var_all: 4
var_count: 4
ord_var_count: 4
cat_var_count: 0
training_params:
use_surrogates: 1
max_categories: 10
max_depth: 25
min_sample_count: 10
cross_validation_folds: 10
use_1se_rule: 1
truncate_pruned_tree: 1
priors: !!opencv-matrix
rows: 1
cols: 4
dt: d
data: [ 1., 1., 1., 1. ]
var_type: [ 0, 0, 0, 0 ]
cat_count: !!opencv-matrix
rows: 1
cols: 1
dt: i
data: [ 4 ]
cat_map: !!opencv-matrix
rows: 1
cols: 4
dt: i
data: [ 1, 2, 3, 4 ]
best_tree_idx: 0
nodes:
-
depth: 0
sample_count: 190
value: 3.
norm_class_idx: 2
Tn: 2
complexity: 4
alpha: 41.
node_risk: 142.
tree_risk: 3.
tree_error: 1.
splits:
- { var:1, quality:9.5338027954101562e+01,
le:4.1874265670776367e-01 }
-
depth: 1
sample_count: 142
value: 3.
norm_class_idx: 2
Tn: 1
complexity: 3
alpha: 4.2500000000000000e+01
node_risk: 94.
tree_risk: 3.
tree_error: 1.
splits:
- { var:3, quality:9.2062500000000000e+01,
le:-1.1355226486921310e-01 }
-
depth: 2
sample_count: 96
value: 1.
norm_class_idx: 0
Tn: 2147483647
complexity: 2
alpha: 43.
node_risk: 49.
tree_risk: 3.
tree_error: 1.
splits:
- { var:1, quality:8.8470588684082031e+01,
le:-4.6542203426361084e-01 }
-
depth: 3
sample_count: 51
value: 1.
norm_class_idx: 0
Tn: 0
complexity: 1
alpha: 2.
node_risk: 4.
tree_risk: 3.
tree_error: 1.
-
depth: 3
sample_count: 45
value: 2.
norm_class_idx: 1
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
-
depth: 2
sample_count: 46
value: 3.
norm_class_idx: 2
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
-
depth: 1
sample_count: 48
value: 4.
norm_class_idx: 3
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
%YAML:1.0
my_tree: !!opencv-ml-tree
is_classifier: 1
var_all: 4
var_count: 4
ord_var_count: 4
cat_var_count: 0
training_params:
use_surrogates: 1
max_categories: 10
max_depth: 25
min_sample_count: 10
cross_validation_folds: 10
use_1se_rule: 1
truncate_pruned_tree: 1
priors: !!opencv-matrix
rows: 1
cols: 4
dt: d
data: [ 1., 1., 1., 1. ]
var_type: [ 0, 0, 0, 0 ]
cat_count: !!opencv-matrix
rows: 1
cols: 1
dt: i
data: [ 4 ]
cat_map: !!opencv-matrix
rows: 1
cols: 4
dt: i
data: [ 1, 2, 3, 4 ]
best_tree_idx: -1
nodes:
-
depth: 0
sample_count: 180
value: 1.
norm_class_idx: 0
Tn: 0
complexity: 4
alpha: 45.
node_risk: 135.
tree_risk: 0.
tree_error: 0.
splits:
- { var:0, quality:90., le:2.4664748460054398e-02 }
-
depth: 1
sample_count: 90
value: 1.
norm_class_idx: 0
Tn: 2147483647
complexity: 2
alpha: 45.
node_risk: 45.
tree_risk: 0.
tree_error: 0.
splits:
- { var:3, quality:90., le:-1.2730357646942139e+00 }
-
depth: 2
sample_count: 45
value: 1.
norm_class_idx: 0
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
-
depth: 2
sample_count: 45
value: 3.
norm_class_idx: 2
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
-
depth: 1
sample_count: 90
value: 2.
norm_class_idx: 1
Tn: 2147483647
complexity: 2
alpha: 45.
node_risk: 45.
tree_risk: 0.
tree_error: 0.
splits:
- { var:2, quality:90., le:8.2657122611999512e-01 }
-
depth: 2
sample_count: 45
value: 2.
norm_class_idx: 1
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
-
depth: 2
sample_count: 45
value: 4.
norm_class_idx: 3
Tn: 2147483647
complexity: 1
alpha: 0.
node_risk: 0.
tree_risk: 0.
tree_error: 0.
......@@ -364,6 +364,17 @@ def render_deprecation_string(app):
else:
return ""
def render_multiwriting_string(app):
if app.IsMultiWritingEnabled():
return ("This application has several output images and supports \"multi-writing\". Instead of computing and writing each "
"image independently, the streamed image blocks are written in a synchronous way for each output. The output images will "
"be computed strip by strip, using the available RAM to compute the strip size, and a user defined streaming mode can be specified "
"using the streaming extended filenames (type, mode and value). Note that multi-writing can be disabled using the multi-write extended "
"filename option: &multiwrite=false, in this case the output images will be written one by one. Note that multi-writing is not supported for "
"MPI writers.")
else:
return ""
def render_application(appname, allapps):
"Render app to rst"
......@@ -378,6 +389,7 @@ def render_application(appname, allapps):
output = template_application.format(
label=appname,
deprecation_string=render_deprecation_string(app),
multiwriting_string=render_multiwriting_string(app),
heading=rst_section(app.GetName(), '='),
description=app.GetDescription(),
longdescription=make_links(app.GetDocLongDescription(), allapps),
......
......@@ -63,7 +63,7 @@ process:
+------------------------------------------------------------------+-----------------------+----------------------------+--------------------------+
| `MuParserX <http://muparserx.beltoforion.de>`_ | No | 4.0.7 | 4.0.7 |
+------------------------------------------------------------------+-----------------------+----------------------------+--------------------------+
| `OpenCV <http://opencv.org>`_ | No | 2 (3.x and 4.x supported) | 4.1.1 |
| `OpenCV <http://opencv.org>`_ | No | 3.0.0 | 4.1.1 |
+------------------------------------------------------------------+-----------------------+----------------------------+--------------------------+
| `OPENGL <https://www.opengl.org/>`_ | No | | |
+------------------------------------------------------------------+-----------------------+----------------------------+--------------------------+
......
......@@ -321,6 +321,16 @@ The available syntax for boolean options are:
- It is important to note that the band numbering in the nodata writer option follows the GDAL convention and starts at 1.
-----------------------------------------------
::
&multiwrite==<(bool)false>
- To desactivate multi-writing. This option will only be used in application supporting multi-writing (applications with several output images). Instead of computing and writing each image independently, the streamed image blocks are written in a synchronous way for each output. In applications, the default streaming mode is to compute the images strip by strip, with a strip size automatically computed using the available RAM. The streaming mode can be modified using the streaming options (see above), but be aware that the auto and tiled based streaming using RAM might not work properly.
- true by default
OGR DataSource options
^^^^^^^^^^^^^^^^^^^^^^^
......
......@@ -216,20 +216,20 @@ parameters:
-``-structype`` the choice of the structuring element type
(ball/cross) (default value is ball)
-``(-structype.ball.xradius)`` the ball structuring element X Radius
(only if structype==ball) (default value is 5 pixels)
-``(-xradius)`` the ball structuring element X Radius
(default value is 5 pixels)
-``(-structype.ball.yradius)`` the ball structuring element Y Radius
(only if structype==ball) (default value is 5 pixels)
-``(-yradius)`` the ball structuring element Y Radius
(default value is 5 pixels)
-``-filter`` the choice of the morphological operation
(dilate/erode/opening/closing) (default value is dilate)
-``(-filter.dilate.foreval)`` the foreground value for the dilation
(idem for filter.erode/opening/closing) (default value is 1)
-``(-foreval)`` the foreground value
(Used for dilate/erode/opening/closing morphological operations) (default value is 1)
-``(-filter.dilate.backval)`` the background value for the dilation
(idem for filter.erode/opening/closing) (default value is 0)
-``(-backval)`` the background value
(Used for dilate/erode/opening morphological operations) (default value is 0)
-``-out`` the output filtered image
......@@ -243,8 +243,8 @@ The application can be used as follows:
-structype.ball.xradius 10
-structype.ball.yradius 5
-filter opening
-filter.opening.foreval 1.0
-filter.opening.backval 0.0
-foreval 1.0
-backval 0.0
-out OutputImage
Gray scale morphological operations
......
......@@ -11,6 +11,8 @@ Description
{longdescription}
{multiwriting_string}
Parameters
----------
......
......@@ -247,6 +247,11 @@ public:
* \sa \c OGRFeature::GetFieldDefnRef()
*/
FieldDefn GetFieldDefn(std::string const& name) const;
/** Searches the index of a field given a name.
* \invariant <tt>m_Feature != 0</tt>
* \throw itk::ExceptionObject if no field named \c name exists.
*/
int GetFieldIndex(std::string const& name) const;
//@}
/**\name Geometries
......@@ -351,12 +356,6 @@ private:
void UncheckedSetGeometry(OGRGeometry const* geometry);
//@}
/** Searches the index of a field given a name.
* \invariant <tt>m_Feature != 0</tt>
* \throw itk::ExceptionObject if no field named \c name exists.
*/
int GetFieldIndex(std::string const& name) const;
/**
* Checks whether the internal \c OGRFeature is non null.
* Fires an assertion otherwise.
......
......@@ -24,8 +24,6 @@ set(OTBOSSIMAdapters_SRC
otbSensorModelAdapter.cxx
otbRPCSolverAdapter.cxx
otbDateTimeAdapter.cxx
otbFilterFunctionValues.cxx
otbMetaDataKey.cxx
otbEllipsoidAdapter.cxx
otbSarSensorModelAdapter.cxx
)
......
......@@ -32,6 +32,10 @@
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Waddress"
#if defined(__GNUC__) && (__GNUC__ > 5)
#pragma GCC diagnostic ignored "-Wnonnull-compare"
#endif
#include "ossim/base/ossimKeywordlist.h"
#include "ossim/base/ossimString.h"
#include "ossim/ossimPluginProjectionFactory.h"
......
......@@ -30,6 +30,10 @@
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Waddress"
#if defined(__GNUC__) && (__GNUC__ > 5)
#pragma GCC diagnostic ignored "-Wnonnull-compare"
#endif
#include "ossim/projection/ossimRpcSolver.h"
#include "ossim/projection/ossimProjection.h"
#include "ossim/projection/ossimRpcProjection.h"
......
......@@ -31,6 +31,10 @@
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
#pragma GCC diagnostic ignored "-Waddress"
#if defined(__GNUC__) && (__GNUC__ > 5)
#pragma GCC diagnostic ignored "-Wnonnull-compare"
#endif
#include "ossim/ossimSarSensorModel.h"
#include "ossim/ossimPluginProjectionFactory.h"
#pragma GCC diagnostic pop
......
......@@ -31,6 +31,10 @@
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
#pragma GCC diagnostic ignored "-Waddress"
#if defined(__GNUC__) && (__GNUC__ > 5)
#pragma GCC diagnostic ignored "-Wnonnull-compare"
#endif
#include "ossim/projection/ossimProjection.h"
#include "ossim/projection/ossimSensorModelFactory.h"
#include "ossim/projection/ossimSensorModel.h"
......
......@@ -148,8 +148,11 @@ private:
"This is only implemented for the Shark Random Forest classifier at this point.");
SetDefaultOutputPixelType("probamap", ImagePixelType_uint16);
MandatoryOff("probamap");
AddRAMParameter();
SetMultiWriting(true);
AddParameter(ParameterType_Int, "nbclasses", "Number of classes in the model");
SetDefaultParameterInt("nbclasses", 20);
SetParameterDescription("nbclasses", "The number of classes is required by the output of the probability map in order to set the number of output bands.");
......
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