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

Merge branch 'release-7.0' into 'develop'

Release 7.0

See merge request orfeotoolbox/otb!620
parents 3fcfa934 1475a236
......@@ -119,7 +119,10 @@ fast-build:
legal-check:
extends: .common
only: [merge_requests, develop, headers_check]
only:
- merge_requests
- develop
- /^release-[0-9]+\.[0-9]+$/
stage: precheck
image: $BUILD_IMAGE_REGISTRY/otb-alpine:3.7
variables:
......
......@@ -237,7 +237,7 @@ class Handler:
K8S_SECRET_API_TOKEN -> Token for Gitlab API
CI_MERGE_REQUEST_REF_PATH -> Ref name to push the status (only for merge request pipeline)
CI_COMMIT_REF_NAME -> Ref name to push the status
They can be overriden by a full command line :
They can be overridden by a full command line :
cdash_handler.py commit_sha1 project_id project_directory token ref_name
"""
if __name__ == "__main__":
......
......@@ -66,7 +66,7 @@ if __name__ == "__main__":
# are we in a merge_request pipeline ?
if 'CI_MERGE_REQUEST_IID' in env.keys():
if not CheckEnvParameters(['K8S_SECRET_API_TOKEN']):
print("WARNING: Make sure you have set a valid acces token for Gitlab API." \
print("WARNING: Make sure you have set a valid access token for Gitlab API." \
+ "The K8S_SECRET_API_TOKEN environment variable should be set in 'Settings -> CI/CD -> Variables'" \
+ "Without this token, some feature of the CI platform will be disabled.")
sys.exit(0)
......
......@@ -56,7 +56,7 @@ OTB_USE_SIFTFAST:BOOL=ON
OTB_USE_SPTW:BOOL=ON
OTB_USE_SSE_FLAGS:BOOL=ON")
# Usefull if MPI is ON : OTB_MPIEXEC_OPT:STRING=--allow-run-as-root
# Useful if MPI is ON : OTB_MPIEXEC_OPT:STRING=--allow-run-as-root
set (otb_wrap_option
"OTB_WRAP_PYTHON:BOOL=ON")
......@@ -70,7 +70,7 @@ if(XDK_PATH)
set(cmake_configure_option
"${cmake_configure_option}
CMAKE_PREFIX_PATH=${XDK_PATH}")
foreach(remote_module OTBTemporalGapFilling SertitObject DiapOTBModule)#otbGRM
foreach(remote_module OTBTemporalGapFilling SertitObject otbGRM DiapOTBModule)
set(cmake_configure_option
"${cmake_configure_option}
Module_${remote_module}:BOOL=ON")
......
......@@ -38,8 +38,8 @@ git shortlog -es HEAD | cut -f 2- \
curl -s ${GITLAB_PROJECT_URL}/raw/master/CI/contributors/known-contributors.txt \
| sort -u > ${KNOWN_CONTRIBUTORS}
diff ${KNOWN_CONTRIBUTORS} ${GIT_CONTRIBUTORS} > ${UNKNOWN_CONTRIBUTORS}
if [ "$?" -ne "0" ] ; then
diff ${KNOWN_CONTRIBUTORS} ${GIT_CONTRIBUTORS} | grep '^>' > ${UNKNOWN_CONTRIBUTORS}
if [ -s "${UNKNOWN_CONTRIBUTORS}" ] ; then
echo ""
echo "WARNING: ***************************************************************"
echo "WARNING: Unknown contributors found:"
......
......@@ -101,7 +101,7 @@ reset_qt_i18n_sources()
repository_status(${PROJECT_SOURCE_DIR} OTB_GIT_STATUS_MESSAGE)
# Find python stuff
# Version 3 is prefered before 2
# Version 3 is preferred before 2
set ( Python_ADDITIONAL_VERSIONS "3;2" )
set ( PythonInterp_FIND_REQUIRED ${OTB_WRAP_PYTHON} )
set ( PythonLibs_FIND_REQUIRED ${OTB_WRAP_PYTHON} )
......@@ -131,8 +131,8 @@ set(main_project_name ${_OTBModuleMacros_DEFAULT_LABEL})
#-----------------------------------------------------------------------------
# OTB version number.
set(OTB_VERSION_MAJOR "6")
set(OTB_VERSION_MINOR "7")
set(OTB_VERSION_MAJOR "7")
set(OTB_VERSION_MINOR "0")
set(OTB_VERSION_PATCH "0")
set(OTB_VERSION_STRING "${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}.${OTB_VERSION_PATCH}")
......
......@@ -10,6 +10,7 @@
<dd><a href="https://www.orfeo-toolbox.org/CookBook-6.2/">6.2.0</a></dd>
<dd><a href="https://www.orfeo-toolbox.org/CookBook-6.4/">6.4.0</a></dd>
<dd><a href="https://www.orfeo-toolbox.org/CookBook-6.6.1/">6.6.1</a></dd>
<dd><a href="https://www.orfeo-toolbox.org/CookBook-7.0/">7.0.0</a></dd>
<dd><a href="https://www.orfeo-toolbox.org/CookBook-develop/">develop</a></dd>
</dl>
</div>
......
......@@ -116,7 +116,7 @@ Alternative prototype for performance
Automatic type deduction will also work with the following signature:
``void (const R&, T1 t1, T2 t2 ..., TN tn)``
This will be more efficient when ``R`` is of type ``itk::VariableLengthVector<T>`` and should be prefered in this case.
This will be more efficient when ``R`` is of type ``itk::VariableLengthVector<T>`` and should be preferred in this case.
Automatic type deduction examples
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......@@ -125,7 +125,7 @@ Consider the following free function:
.. code-block:: cpp
itk::VariableLenghtVector<double> myFreeFunction(unsigned char a,
itk::VariableLengthVector<double> myFreeFunction(unsigned char a,
const std::complex<float>& b,
const itk::VariableLengthVector<short>& c,
const itk::ConstNeighborhoodIterator<otb::Image<double>>& d) {...}
......
......@@ -224,7 +224,7 @@ Mixed in-memory / on-disk connection
As an extension to the connection of OTB Applications (described in previous
section), a mixed mode is also available to easily switch between:
- **in-memory**: if you want to avoid unecessary I/O between applications
- **in-memory**: if you want to avoid unnecessary I/O between applications
- **on-disk**: if you want intermediate outputs on disk
This mixed mode is based on the ``Application::ConnectImage()`` function. This
......
......@@ -13,7 +13,7 @@ With QGIS > 3.8, the plugin is in the QGIS core. So you just need install OTB an
Download and Install OTB
^^^^^^^^^^^^^^^^^^^^^^^^
OTB is not distributed with qgis-otb-plugin. It is a seperate project and has its own git repository.
OTB is not distributed with qgis-otb-plugin. It is a separate project and has its own git repository.
Download latest OTB version: https://www.orfeo-toolbox.org/download/.
Configure plugin in QGIS
......
......@@ -67,7 +67,7 @@ OTBGdalAdapters_EXPORT bool operator!=(const SpatialReference& sr1, const Spatia
* either they fail or they provide a definitive, valid object.
*
* Building a SpatialReference requires to call one of the From*()
* method. There are no public constructors (appart from copy and
* method. There are no public constructors (apart from copy and
* assignment)
*
* \ingroup OTBGdalAdapters
......@@ -167,7 +167,7 @@ public:
* \pre -180<=lon<=180
* \pre -90<=lat<=90
* \param lon Point longitude
* \param lat Point lattitude
* \param lat Point latitude
* \param zone Output UTM zone
* \param hem output hemisphere
*/
......
......@@ -48,7 +48,7 @@ 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 controlls the ratio "
"Training and validation sample lists are built such that each class is equally represented in both lists. One parameter controls 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"
......
......@@ -452,15 +452,30 @@ public:
RemoveNoDataEntry();
// Generate output
if (GetParameterAsString("out") == "xml")
{
DisableParameter("out.vector.filename");
DisableParameter("out.raster.filename");
EnableParameter("out.xml.filename");
WriteXMLStatsFile();
}
else // vector or raster
{
if (m_FromLabelImage)
GenerateVectorDataFromLabelImage();
if (GetParameterAsString("out") == "vector")
{
EnableParameter("out.vector.filename");
DisableParameter("out.raster.filename");
DisableParameter("out.xml.filename");
WriteVectorData();
}
else if (GetParameterAsString("out") == "raster")
{
DisableParameter("out.vector.filename");
EnableParameter("out.raster.filename");
DisableParameter("out.xml.filename");
WriteRasterData();
}
else
otbAppLogFATAL("Unknown output mode");
}
......
......@@ -107,7 +107,7 @@ void LearningApplicationBase<TInputValue, TOutputValue>::TrainSharkKMeans(typena
for (unsigned int i = 0; i < meanMeasurementVector.Size(); ++i)
{
scaleRV[i] = 1 / stddevMeasurementVector[i];
// Substract the normalized mean
// Subtract the normalized mean
offsetRV[i] = -meanMeasurementVector[i] / stddevMeasurementVector[i];
}
......
......@@ -276,11 +276,11 @@ private:
SetMinimumParameterFloatValue("comp.feather.slim.exponent", 0);
MandatoryOff("comp.feather.slim.exponent");
// comp.feather.slim.lenght (i.e. blending lenght)
AddParameter(ParameterType_Float, "comp.feather.slim.lenght", "Transition length (In cartographic units)");
MandatoryOn("comp.feather.slim.lenght");
SetMinimumParameterFloatValue("comp.feather.slim.lenght", 0);
MandatoryOff("comp.feather.slim.lenght");
// comp.feather.slim.length (i.e. blending length)
AddParameter(ParameterType_Float, "comp.feather.slim.length", "Transition length (In cartographic units)");
MandatoryOn("comp.feather.slim.length");
SetMinimumParameterFloatValue("comp.feather.slim.length", 0);
MandatoryOff("comp.feather.slim.length");
// harmo (harmonization)
AddParameter(ParameterType_Group, "harmo", "Spectral bands harmonization mode");
......@@ -969,7 +969,7 @@ private:
ComputeDistanceOffset<SlimFeatherMosaicFilterType>(m_SlimFeatherMosaicFilter);
// Set transition length and smoothness
m_SlimFeatherMosaicFilter->SetFeatheringTransitionDistance(GetParameterFloat("comp.feather.slim.lenght"));
m_SlimFeatherMosaicFilter->SetFeatheringTransitionDistance(GetParameterFloat("comp.feather.slim.length"));
m_SlimFeatherMosaicFilter->SetFeatheringSmoothness(GetParameterFloat("comp.feather.slim.exponent"));
mosaicFilter = static_cast<MosaicFilterType*>(m_SlimFeatherMosaicFilter);
......
......@@ -442,7 +442,7 @@ otb_test_application(NAME MosaicTestSlimFeathering
OPTIONS -il ${INPUTDATA}/SP67_FR_subset_1.tif ${INPUTDATA}/SP67_FR_subset_2.tif
-out ${TEMP}/apTvMosaicTestSlimFeathering.tif uint8
-comp.feather slim
-comp.feather.slim.lenght 100
-comp.feather.slim.length 100
VALID --compare-image ${EPSILON_8}
${BASELINE}/apTvMosaicTestSlimFeathering.tif
${TEMP}/apTvMosaicTestSlimFeathering.tif)
......
......@@ -86,7 +86,7 @@ int main(int, char* argv[])
auto output = app->GetParameterImageBase("out");
output->Update();
float im_val = 0;
// We need to be carefull as we are taking the direct output of the underlying
// We need to be careful as we are taking the direct output of the underlying
// filter in the application
otb::VectorImage<float>* output_int = nullptr;
dyn_cast(output, output_int) im_val = output_int->GetPixel(index).GetElement(0);
......@@ -128,7 +128,7 @@ int main(int, char* argv[])
app->Execute();
output = app->GetParameterImageBase("out");
output->Update();
// We need to be carefull as we are taking the direct output of the underlying
// We need to be careful as we are taking the direct output of the underlying
// filter in the application
dyn_cast(output, output_int) im_val = output_int->GetPixel(index).GetElement(0);
if (im_val != 0)
......@@ -156,7 +156,7 @@ int main(int, char* argv[])
app->Execute();
output = app->GetParameterImageBase("out");
output->Update();
// We need to be carefull as we are taking the direct output of the underlying
// We need to be careful as we are taking the direct output of the underlying
// filter in the application
dyn_cast(output, output_int) im_val = output_int->GetPixel(index).GetElement(0);
if (im_val != 5)
......
......@@ -179,7 +179,7 @@ struct RetrieveOperator
*
* Provides the following:
* - OutputImageType : type of the output image
* - FilterType : correct instanciation of VariadicInputsImageFilter from
* - FilterType : correct instantiation of VariadicInputsImageFilter from
* - the operator() prototype
* - InputHasNeighborhood a tuple of N false_type or true_type to denote
* - if Ith arg of operator() expects a neighborhood.
......@@ -443,7 +443,7 @@ auto NewFunctorFilter(Functor f, itk::Size<2> radius)
* \brief This struct allows forwarding the operator of template
* parameter, while adding number of ouptut components service.
*
* Its purpose is to enable the use of lambda or functor witht
* Its purpose is to enable the use of lambda or functor with
* Outputsize() method with FunctorImageFilter.
*
* It is used internally in NewFunctorFilter version with
......
......@@ -33,7 +33,7 @@ namespace internal
* \struct tuple_index
* \brief retrieve index of a type in tuple if exists
*
* This struct allows to retrieve the index of the first occurence of type
* This struct allows to retrieve the index of the first occurrence of type
* Arg in tuple Tuple. If type Arg can not be found, compilation will
* end with a static_assert failing.
*
......
......@@ -280,7 +280,7 @@ private:
namespace otb
{
// Prevent implicit instanciation of common types to improve build performance
// Prevent implicit instantiation of common types to improve build performance
// Explicit instanciations are provided in the .cxx
extern template class OTBImageBase_EXPORT_TEMPLATE Image<unsigned int, 2>;
extern template class OTBImageBase_EXPORT_TEMPLATE Image<int, 2>;
......
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