Skip to content
Commits on Source (8)
......@@ -117,8 +117,6 @@ macro(otb_create_application)
list(REMOVE_DUPLICATES OTB_APPLICATIONS_NAME_LIST)
set(OTB_APPLICATIONS_NAME_LIST ${OTB_APPLICATIONS_NAME_LIST}
CACHE STRING "List of all applications" FORCE)
mark_as_advanced(OTB_APPLICATIONS_NAME_LIST)
endmacro()
macro(otb_test_application)
......
......@@ -71,7 +71,7 @@ else()
set(OTB_INSTALL_DATA_DIR share/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR})
endif()
if(NOT OTB_INSTALL_DOC_DIR)
set(OTB_INSTALL_DOC_DIR share/doc/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR})
set(OTB_INSTALL_DOC_DIR share/doc/otb)
endif()
if(NOT OTB_INSTALL_PACKAGE_DIR)
set(OTB_INSTALL_PACKAGE_DIR "lib/cmake/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}")
......
......@@ -23,7 +23,8 @@ cmake_minimum_required(VERSION 3.1.0)
foreach(p
CMP0025 # CMake 3.0
CMP0042 # CMake 3.0
CMP0058
CMP0058 # CMake 3.3
CMP0072 # CMake 3.11
)
if(POLICY ${p})
cmake_policy(SET ${p} NEW)
......@@ -91,6 +92,8 @@ if( CMAKE_HOST_WIN32 )
endif()
endif()
set(OTB_APPLICATIONS_NAME_LIST "" CACHE STRING "List of all applications" FORCE)
mark_as_advanced(OTB_APPLICATIONS_NAME_LIST)
set(OTB_CMAKE_DIR ${OTB_SOURCE_DIR}/CMake)
set(CMAKE_MODULE_PATH ${OTB_CMAKE_DIR} ${CMAKE_MODULE_PATH})
......@@ -124,7 +127,7 @@ set(main_project_name ${_OTBModuleMacros_DEFAULT_LABEL})
# OTB version number.
set(OTB_VERSION_MAJOR "6")
set(OTB_VERSION_MINOR "6")
set(OTB_VERSION_PATCH "0")
set(OTB_VERSION_PATCH "1")
set(OTB_VERSION_STRING "${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}.${OTB_VERSION_PATCH}")
# Monteverdi version number (follows OTB)
......@@ -153,31 +156,28 @@ if(NOT OTB_INSTALL_INCLUDE_DIR)
set(OTB_INSTALL_INCLUDE_DIR include/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR})
endif()
if(NOT OTB_INSTALL_APP_DIR)
set(OTB_INSTALL_APP_DIR "lib/otb/applications")
set(OTB_INSTALL_APP_DIR "${OTB_INSTALL_LIBRARY_DIR}/otb/applications")
endif()
if(NOT OTB_INSTALL_PYTHON_DIR)
set(OTB_INSTALL_PYTHON_DIR "lib/otb/python")
set(OTB_INSTALL_PYTHON_DIR "${OTB_INSTALL_LIBRARY_DIR}/otb/python")
endif()
if(NOT OTB_INSTALL_PYTHON3_DIR)
set(OTB_INSTALL_PYTHON3_DIR "lib/otb/python3")
set(OTB_INSTALL_PYTHON3_DIR "${OTB_INSTALL_LIBRARY_DIR}/otb/python3")
endif()
if(NOT OTB_INSTALL_JAVA_DIR)
set(OTB_INSTALL_JAVA_DIR "lib/otb/java")
set(OTB_INSTALL_JAVA_DIR "${OTB_INSTALL_LIBRARY_DIR}/otb/java")
endif()
if(NOT OTB_INSTALL_DATA_DIR)
set(OTB_INSTALL_DATA_DIR share/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR})
set(OTB_INSTALL_DATA_DIR "share/otb")
endif()
if(NOT OTB_INSTALL_DOC_DIR)
set(OTB_INSTALL_DOC_DIR share/doc/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR})
set(OTB_INSTALL_DOC_DIR "share/doc/otb")
endif()
if(NOT OTB_INSTALL_PACKAGE_DIR)
set(OTB_INSTALL_PACKAGE_DIR "${OTB_INSTALL_LIBRARY_DIR}/cmake/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}")
endif()
if(NOT OTB_INSTALL_DESCR_DIR)
set (OTB_INSTALL_DESCR_DIR "share/otb/description")
endif()
#convert path to native for reconfiguring otbcli.bat.in
file(TO_NATIVE_PATH "${OTB_INSTALL_APP_DIR}" OTB_INSTALL_APP_DIR_NATIVE)
......@@ -429,11 +429,13 @@ install(FILES ${OTB_FIND_PACKAGE_SCRIPTS} DESTINATION ${OTB_INSTALL_PACKAGE_DIR}
# TODO : install release notes, copyright notice, ...
# install(FILES "LICENSE" "NOTICE" "README.txt" DESTINATION ${OTB_INSTALL_DOC_DIR} COMPONENT Runtime)
install(FILES "LICENSE" DESTINATION ${OTB_INSTALL_DOC_DIR} COMPONENT Runtime)
install(FILES "LICENSE" DESTINATION ${OTB_INSTALL_DOC_DIR})
# Configure and install VERSION file
configure_file(VERSION VERSION @ONLY)
install(FILES ${OTB_BINARY_DIR}/VERSION DESTINATION ${OTB_INSTALL_DOC_DIR} COMPONENT Runtime)
install(FILES ${OTB_BINARY_DIR}/VERSION DESTINATION ${OTB_BINARY_DIR}/${OTB_INSTALL_DATA_DIR} )
install(DIRECTORY ${OTB_BINARY_DIR}/${OTB_INSTALL_DATA_DIR} DESTINATION share)
if(BUILD_TESTING)
add_subdirectory(Utilities/InstallTest)
......
......@@ -31,7 +31,7 @@
// The built in functions and operators list is available at:
// \url{http://muparser.sourceforge.net/mup_features.html}.
//
// In order to use this filter, at least one input image is to be
// In order to use this filter, at least one input image should be
// set. An associated variable name can be specified or not by using
// the corresponding SetNthInput method. For the nth input image, if
// no associated variable name has been specified, a default variable
......@@ -57,10 +57,10 @@
// Software Guide : BeginLatex
//
// We start by including the needed header file.
// We start by including the required header file.
// The aim of this example is to compute the Normalized Difference Vegetation Index (NDVI)
// from a multispecral image and perform a threshold on this
// indice to extract area containing a dense vegetation canopy.
// from a multispectral image and then apply a threshold to this
// index to extract areas containing a dense vegetation canopy.
//
// Software Guide : EndLatex
......@@ -82,8 +82,8 @@ int main( int argc, char* argv[])
//
// We start by the classical \code{typedef}s needed for reading and
// writing the images. The \doxygen{otb}{BandMathImageFilter} class
// works with \doxygen{otb}{Image} as input so we need to define additional
// filters to extract each layer of the multispectral image
// works with \doxygen{otb}{Image} as input, so we need to define additional
// filters to extract each layer of the multispectral image.
//
// Software Guide : EndLatex
......@@ -130,9 +130,9 @@ int main( int argc, char* argv[])
// Software Guide : BeginLatex
//
// We need now to extract now each band from the input \doxygen{otb}{VectorImage},
// We now need to extract each band from the input \doxygen{otb}{VectorImage},
// it illustrates the use of the \doxygen{otb}{VectorImageToImageList}.
// Each extracted layer are inputs of the \doxygen{otb}{BandMathImageFilter}:
// Each extracted layer is an input to the \doxygen{otb}{BandMathImageFilter}:
//
// Software Guide : EndLatex
......@@ -183,22 +183,22 @@ int main( int argc, char* argv[])
// Software Guide : BeginLatex
//
// The muParser library offers also the possibility to extended existing built-in functions. For example,
// you can use the OTB expression "ndvi(b3, b4)" with the filter. The mathematical expression would be in
// this case \textit{if($ndvi(b3, b4)>0.4$, 255, 0)}. It will return the same result.
// The muParser library also provides the possibility to extend existing built-in functions. For example,
// you can use the OTB expression "ndvi(b3, b4)" with the filter. In this instance, the mathematical expression would be
// \textit{if($ndvi(b3, b4)>0.4$, 255, 0)}, which would return the same result.
//
// Software Guide : EndLatex
// Software Guide : BeginLatex
//
// Figure~\ref{fig:BandMathImageFilter} shows the result of the threshold over the NDVI indice
// to a Quickbird image.
// Figure~\ref{fig:BandMathImageFilter} shows the result of the threshold applied to the NDVI index
// of a Quickbird image.
// \begin{figure}
// \center
// \includegraphics[width=0.45\textwidth]{qb_ExtractRoad_pretty.eps}
// \includegraphics[width=0.45\textwidth]{qb_BandMath-pretty.eps}
// \itkcaption[Band Math]{From left to right:
// Original image, thresholded NDVI indice.}
// Original image, thresholded NDVI index.}
// \label{fig:BandMathImageFilter}
// \end{figure}
//
......
......@@ -37,12 +37,12 @@
// Software Guide : BeginLatex
//
// In some situation, it is desirable to represent a gray level image in color for easier
// In some situation, it is desirable to represent a gray scale image in color for easier
// interpretation. This is particularly the case if pixel values in the image are used
// to represent some data such as elevation, deformation map,
// interferogram. In this case, it is important to ensure that similar
// values will get similar colors. You can notice how this requirement
// differ from the previous case.
// differs from the previous case.
//
// The following example illustrates the use of the \doxygen{otb}{DEMToImageGenerator} class
// combined with the \doxygen{otb}{ScalarToRainbowRGBPixelFunctor}. You can refer to the
......@@ -112,7 +112,7 @@ int main(int argc, char * argv[])
// Software Guide : BeginLatex
//
// As in the previous example the \doxygen{itk}{ScalarToRGBColormapImageFilter} is
// As in the previous example, the \doxygen{itk}{ScalarToRGBColormapImageFilter} is
// the filter in charge of calling the functor we specify to do the work for
// each pixel. Here it is the \doxygen{otb}{ScalarToRainbowRGBPixelFunctor}.
//
......@@ -189,8 +189,8 @@ int main(int argc, char * argv[])
// Software Guide : BeginLatex
//
// Figure~\ref{fig:RAINBOW_FILTER} shows effect of applying the filter to
// a gray level image.
// Figure~\ref{fig:RAINBOW_FILTER} shows the effect of applying the filter to
// a gray scale image.
//
// \begin{figure}
// \center
......@@ -199,7 +199,7 @@ int main(int argc, char * argv[])
// \includegraphics[width=0.44\textwidth]{DEMToHotImageGenerator.eps}
// \includegraphics[width=0.44\textwidth]{DEMToReliefImageGenerator.eps}
// \itkcaption[Grayscale to color]{The gray level DEM extracted from SRTM
// data (top-left) and the same area in color representation.}
// data (top-left) and the same area represented in color.}
// \label{fig:RAINBOW_FILTER}
// \end{figure}
// Software Guide : EndLatex
......
......@@ -31,8 +31,8 @@
// lighting source and generating the corresponding shadows. This principle is called
// hill shading.
//
// Using a simple functor \doxygen{otb}{HillShadingFunctor} and the dem image generated
// using the \doxygen{otb}{DEMToImageGenerator} (refer to \ref{sec:ReadDEM}) you can easily
// Using a simple functor \doxygen{otb}{HillShadingFunctor} and the DEM image generated
// using the \doxygen{otb}{DEMToImageGenerator} (refer to \ref{sec:ReadDEM}), you can easily
// obtain a representation of the DEM. Better yet, using the
// \doxygen{otb}{ScalarToRainbowRGBPixelFunctor}, combined with the
// \doxygen{otb}{ReliefColormapFunctor} you can easily generate the classic elevation maps.
......@@ -130,7 +130,7 @@ int main(int argc, char * argv[])
}
// Software Guide : BeginLatex
//
// After generating the dem image as in the DEMToImageGenerator example, you can declare
// After generating the DEM image as in the DEMToImageGenerator example, you can declare
// the hill shading mechanism. The hill shading is implemented as a functor doing some
// operations in its neighborhood. A convenient filter called \doxygen{otb}{HillShadingFilter}
// is defined around this mechanism.
......
......@@ -20,11 +20,7 @@
##### check if standalone project ######
if(NOT PROJECT_NAME)
if(WIN32)
cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
else()
cmake_minimum_required(VERSION 2.8.6 FATAL_ERROR)
endif()
cmake_minimum_required(VERSION 3.1.0)
project(OTBExamples)
endif()
......
......@@ -26,11 +26,11 @@
// in OTB. This framework uses the generic programming approach. All
// change detection filters are
// \doxygen{otb}{BinaryFunctorNeighborhoodImageFilter}s, that is, they
// are filters taking two images as input and providing one image as
// output. The change detection computation itself is performed on a
// are filters taking two images as input and provide one image as
// output. The change detection computation itself is performed on
// the neighborhood of each pixel of the input images.
//
// The first step required to build a change detection filter is to
// The first step in building a change detection filter is to
// include the header of the parent class.
//
// Software Guide : EndLatex
......@@ -54,7 +54,7 @@
// something accepting the syntax \code{foo()}. This can be
// implemented using classical C/C++ functions, but it is preferable
// to implement it using C++ functors. These are classical C++ classes
// which overload the \code{()} operator. This allows using them with
// which overload the \code{()} operator. This allows to be used with
// the same syntax as C/C++ functions.
//
// Since change detectors operate on neighborhoods, the functor
......@@ -107,7 +107,7 @@ public:
// the functor used to perform the change detection operation.
//
// Inside the class only a few \code{typedef}s and the constructors
// and destructors have to be declared.
// and destructors need to be declared.
//
// Software Guide : EndLatex
......@@ -152,8 +152,8 @@ private:
// Software Guide : BeginLatex
//
// Pay attention to the fact that no \code{.txx} file is needed, since
// filtering operation is implemented in the
// Pay particular attention to the fact that no \code{.txx} file is needed, since
// the filtering operation is implemented in the
// \doxygen{otb}{BinaryFunctorNeighborhoodImageFilter} class. So all
// the algorithmics part is inside the functor.
//
......@@ -178,7 +178,7 @@ int main(int argc, char* argv[])
// Software Guide : BeginLatex
//
// As usual, we start by defining the image types. The internal
// computations will be performed with floating point precision,
// computations will be performed using floating point precision,
// while the output image will be stored using one byte per pixel.
//
// SoftwareGuide : EndLatex
......@@ -210,7 +210,7 @@ int main(int argc, char* argv[])
// Software Guide : BeginLatex
//
// The next step is declaring the filter for the change detection.
// The next step is to declare the filter for the change detection.
//
// SoftwareGuide : EndLatex
......
......@@ -107,11 +107,11 @@ int main(int argc, char* argv[])
//
// The change detector will give positive and negative values
// depending on the sign of the difference. We are usually
// interested only in the asbolute value of the difference. For
// interested only in the absolute value of the difference. For
// this purpose, we will use the \doxygen{itk}{AbsImageFilter}. Also, before
// saving the image to a file in, for instance, PNG format, we will
// rescale the results of the change detection in order to use all
// the output pixel type range of values.
// rescale the results of the change detection in order to use the full range
// of values of the output pixel type.
//
// Software Guide : EndLatex
......
......@@ -30,19 +30,19 @@
// In this example, we present a system that places measurement vectors into
// two Gaussian classes. The Figure~\ref{fig:BayesianPluginClassifier} shows
// all the components of the classifier system and the data flow. This system
// differs with the previous k-means clustering algorithms in several
// differs from the previous k-means clustering algorithms in several
// ways. The biggest difference is that this classifier uses the
// \subdoxygen{itk}{Statistics}{GaussianMembershipFunction} as membership functions
// instead of the \subdoxygen{itk}{Statistics}{EuclideanDistanceMetric}. Since the
// membership function is different, the membership function requires a
// membership function is different, it requires a
// different set of parameters, mean vectors and covariance matrices. We
// choose the \subdoxygen{itk}{Statistics}{MeanSampleFilter} (sample mean) and the
// \subdoxygen{itk}{Statistics}{CovarianceSampleFilter} (sample covariance) for the
// estimation algorithms of the two parameters. If we want more robust
// estimation algorithm, we can replace these estimation algorithms with more
// estimation algorithms of the two parameters. If we want a more robust
// estimation algorithm, we can replace these estimation algorithms with additional
// alternatives without changing other components in the classifier system.
//
// It is a bad idea to use the same sample for test and training
// It is a bad idea to use the same sample for both testing and training
// (parameter estimation) of the parameters. However, for simplicity, in
// this example, we use a sample for test and training.
//
......@@ -69,7 +69,7 @@
// Software Guide : BeginLatex
//
// The following two files provides us the parameter estimation algorithms.
// The following two files provides us with the parameter estimation algorithms.
//
// Software Guide : EndLatex
......@@ -95,7 +95,7 @@
// Software Guide : BeginLatex
//
// We will fill the sample with random variables from two normal
// distribution using the \subdoxygen{itk}{Statistics}{NormalVariateGenerator}.
// distributions using the \subdoxygen{itk}{Statistics}{NormalVariateGenerator}.
//
// Software Guide : EndLatex
......@@ -142,9 +142,9 @@ int main(int, char *[])
// The following code snippet creates a NormalVariateGenerator
// object. Since the random variable generator returns values according to
// the standard normal distribution (the mean is zero, and the standard
// deviation is one) before pushing random values into the \code{sample},
// we change the mean and standard deviation. We want two normal (Gaussian)
// distribution data. We have two for loops. Each for loop uses different
// deviation is one), before pushing random values into the \code{sample},
// we change the mean and standard deviation. We need two normally (Gaussian)
// distributed datasets. We have two for loops, within which each uses a different
// mean and standard deviation. Before we fill the \code{sample} with the
// second distribution data, we call \code{Initialize(random seed)} method,
// to recreate the pool of random variables in the
......@@ -190,7 +190,7 @@ int main(int, char *[])
//
// In the following code snippet, notice that the template argument for the
// MeanSampleFilter and CovarianceFilter is \code{ClassSampleType} (i.e.,
// type of Subsample) instead of SampleType (i.e., type of ListSample). This
// type of Subsample) instead of SampleType (i.e. type of ListSample). This
// is because the parameter estimation algorithms are applied to the class
// sample.
//
......@@ -238,8 +238,8 @@ int main(int, char *[])
//
// After creating a SampleClassifierFilter object and a
// MaximumRatioDecisionRule object, we plug in the
// \code{decisionRule} and the \code{sample} to the classifier. Then,
// we specify the number of classes that will be considered using
// \code{decisionRule} and the \code{sample} to the classifier. We
// then specify the number of classes that will be considered using
// the \code{SetNumberOfClasses()} method.
//
// The MaximumRatioDecisionRule requires a vector of \emph{a
......@@ -254,8 +254,8 @@ int main(int, char *[])
// \label{eq:bayes2}
// \end{equation}
//
// The remainder of the code snippet shows how to use user-specified class
// labels. The classification result will be stored in a
// The remainder of the code snippet demonstrates how user-specified class
// labels are used. The classification result will be stored in a
// MembershipSample object, and for each measurement vector, its
// class label will be one of the two class labels, 100 and 200
// (\code{unsigned int}).
......@@ -304,7 +304,7 @@ int main(int, char *[])
// Euclidean distance functions. The distance function (model) has only one
// parameter, the mean (centroid) set by the \code{SetOrigin()} method. To
// plug-in two distance functions, we call the
// \code{AddMembershipFunction()} method. Then invocation of the
// \code{AddMembershipFunction()} method. Finally, the invocation of the
// \code{Update()} method will perform the classification.
//
// Software Guide : EndLatex
......
......@@ -23,11 +23,11 @@
//
// After having generated a classification map, it is possible to
// regularize such a labeled image in order to obtain more homogeneous
// areas, which makes the interpretation of its classes easier. For this
// areas, which facilitates its interpretation. For this
// purpose, the \doxygen{otb}{NeighborhoodMajorityVotingImageFilter} was
// implemented. Like a morphological filter, this filter uses majority
// voting in a ball shaped neighborhood in order to set each pixel of the
// classification map to the more representative label value in its
// classification map to the most representative label value in its
// neighborhood.
//
// In this example we will illustrate its use. We start by including the
......@@ -78,7 +78,7 @@ int main(int itkNotUsed(argc), char * argv[])
// Software Guide : BeginLatex
//
// We can now define the type for the neighborhood majority voting filter,
// which is templated over its input and output images types and over its
// which is templated over its input and output images types as well as its
// structuring element type. Choosing only the input image type in the template
// of this filter induces that, both input and output images types are the same
// and that the structuring element is a ball
......@@ -196,9 +196,9 @@ int main(int itkNotUsed(argc), char * argv[])
// Software Guide : BeginLatex
//
// Moreover, since the majority voting regularization may lead to not unique
// majority labels in the neighborhood, it is important to define which behaviour
// the filter must have in this case. For this purpose, a Boolean parameter is used
// Furthermore, since the majority voting regularization may lead to different
// majority labels in the neighborhood, in this case, it would be important to define
// the filter's behaviour. For this purpose, a Boolean parameter is used
// in the filter to choose whether pixels with more than one majority class are set
// to undecidedValue (true), or to their Original labels (false = default value)
// in the output image.
......
......@@ -287,7 +287,7 @@ int main(int argc, char* argv[])
{
writer->Update();
}
catch (itk::ExceptionObject e)
catch ( itk::ExceptionObject & e )
{
std::cerr << "Error: " << e << std::endl;
}
......
......@@ -132,13 +132,13 @@ otb_add_test(NAME fiTeMathematicalMorphologyGrayscaleFiltersTest COMMAND ${OTB_T
otb_add_test(NAME fiTeLaplacianRecursiveGaussianImageFilter1Test COMMAND ${OTB_TEST_DRIVER}
--compare-n-images ${NOTOL} 2
${BASELINE}/LaplacianRecursiveGaussianImageFilteroutput5.hdr
${TEMP}/LaplacianRecursiveGaussianImageFilteroutput5.hdr
${BASELINE}/LaplacianRecursiveGaussianImageFilteroutput5.tif
${TEMP}/LaplacianRecursiveGaussianImageFilteroutput5.tif
${BASELINE}/LaplacianRecursiveGaussianImageFilterOutput5.png
${TEMP}/LaplacianRecursiveGaussianImageFilterOutput5.png
Execute $<TARGET_FILE:LaplacianRecursiveGaussianImageFilter1>
${INPUTDATA}/ROISpot5.png
${TEMP}/LaplacianRecursiveGaussianImageFilteroutput5.hdr
${TEMP}/LaplacianRecursiveGaussianImageFilteroutput5.tif
5
${TEMP}/LaplacianRecursiveGaussianImageFilterOutput5.png
)
......@@ -148,13 +148,13 @@ otb_add_test(NAME fiTeLaplacianRecursiveGaussianImageFilter1Test COMMAND ${OTB_T
otb_add_test(NAME fiTeLaplacianRecursiveGaussianImageFilter2Test COMMAND ${OTB_TEST_DRIVER}
--compare-n-images ${NOTOL} 2
${BASELINE}/LaplacianRecursiveGaussianImageFilter2output5.hdr
${TEMP}/LaplacianRecursiveGaussianImageFilter2output5.hdr
${BASELINE}/LaplacianRecursiveGaussianImageFilter2output5.tif
${TEMP}/LaplacianRecursiveGaussianImageFilter2output5.tif
${BASELINE}/LaplacianRecursiveGaussianImageFilter2Output5.png
${TEMP}/LaplacianRecursiveGaussianImageFilter2Output5.png
Execute $<TARGET_FILE:LaplacianRecursiveGaussianImageFilter2>
${INPUTDATA}/ROISpot5.png
${TEMP}/LaplacianRecursiveGaussianImageFilter2output5.hdr
${TEMP}/LaplacianRecursiveGaussianImageFilter2output5.tif
5
${TEMP}/LaplacianRecursiveGaussianImageFilter2Output5.png
)
......@@ -210,13 +210,13 @@ otb_add_test(NAME fiTeBinaryThresholdImageFilterTest COMMAND ${OTB_TEST_DRIVER}
otb_add_test(NAME fiTeDerivativeImageFilterTest COMMAND ${OTB_TEST_DRIVER}
--compare-n-images ${NOTOL} 2
${BASELINE}/DerivativeImageFilterFloatOutput.hdr
${TEMP}/DerivativeImageFilterFloatOutput.hdr
${BASELINE}/DerivativeImageFilterFloatOutput.tif
${TEMP}/DerivativeImageFilterFloatOutput.tif
${BASELINE}/DerivativeImageFilterOutput.png
${TEMP}/DerivativeImageFilterOutput.png
Execute $<TARGET_FILE:DerivativeImageFilter>
${INPUTDATA}/ROISpot5.png
${TEMP}/DerivativeImageFilterFloatOutput.hdr
${TEMP}/DerivativeImageFilterFloatOutput.tif
${TEMP}/DerivativeImageFilterOutput.png
1 0
)
......@@ -23,7 +23,7 @@
/**\defgroup boost Boost alike helpers
* \ingroup Thematic
* \brief Various helpers that are likelly to end-up in boost by themselves eventually.
* \brief Various helpers that are likely to eventually end-up in boost by themselves.
* \see http://www.boost.org/
* @{
*/
......
......@@ -31,6 +31,7 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#include <boost/lexical_cast.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/algorithm/string/predicate.hpp>
......@@ -69,7 +70,7 @@ Res LexicalCast(In const& in, std::string const& kind) {
* \param[in] errmsg a msg complement used to build the error message to
be shown if there is \c lexical_cast exception. See \c
otb:Utils::LexicalCast().
* \param delims delimitter characters (space is default)
* \param delims delimiter characters (space is default)
* \throw std::bad_alloc in case of exhausted memory
* \throw std::runtime_error in case an element from the input string
cannot be converted into a valid \c T instance.
......@@ -95,16 +96,16 @@ ConvertStringToVector(std::string const &str, T& ret, std::string const& errmsg,
}
/**\ingroup Utils
* split a given std::string of into key value based on given delimitter
* string. default delimitter is '='. If the string does not have a delimitter
* split a given std::string of into key value based on given delimiter
* string. The default delimiter is '='. If the string does not have a delimiter
* the key is set to input string and value is set to defValue.
* \param[in] str input string
* \param key[out] An std::string reference where key will be stored
* \param value[out] a reference of \cT where value will be stored
* \param defValue[in] a default value if there is no delimitter fo
* \param defValue[in] a default value if there is no delimiter fo
* \param[in] errmsg a msg complement used to build the error message to
be shown if there is \c lexical_cast exception. See \cotb:Utils::LexicalCast().
* \param delims delimitter characters (space is default)
* \param delims delimiter characters (space is default)
* \throw std::bad_alloc in case of exhausted memory
* \throw std::runtime_error in case an element from the input string
cannot be converted into a valid \c T instance.
......
......@@ -24,6 +24,7 @@
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#include <boost/math/special_functions/expint.hpp>
#pragma GCC diagnostic pop
#else
......
......@@ -26,6 +26,7 @@
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Wcast-align"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/adjacency_list.hpp>
#pragma GCC diagnostic pop
......
/*
* Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES)
*
* This file is part of Orfeo Toolbox
*
* https://www.orfeo-toolbox.org/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef otb_boost_lexicalcast_header_h
#define otb_boost_lexicalcast_header_h
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#include <boost/lexical_cast.hpp>
#pragma GCC diagnostic pop
#else
#include <boost/lexical_cast.hpp>
#endif
#endif
......@@ -24,6 +24,7 @@
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#include <boost/math/special_functions/gamma.hpp>
#pragma GCC diagnostic pop
#else
......
......@@ -26,6 +26,7 @@
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#include <boost/math/distributions/normal.hpp>
#pragma GCC diagnostic pop
#else
......