From 5ea81d808c52dfbf259b79627bb0b69d14b3c18b Mon Sep 17 00:00:00 2001 From: Julien Michel <julien.michel@orfeo-toolbox.org> Date: Tue, 19 Mar 2019 16:28:06 +0000 Subject: [PATCH] REFAC: Remove useless filters --- .../AppIndices/app/otbRadiometricIndices.cxx | 35 +- .../include/otbGAndRIndexImageFilter.h | 94 ---- .../otbMultiChannelGAndRIndexImageFilter.h | 131 ------ ...bMultiChannelRAndBAndNIRIndexImageFilter.h | 150 ------- ...bMultiChannelRAndGAndNIRIndexImageFilter.h | 151 ------- .../otbMultiChannelRAndNIRIndexImageFilter.h | 131 ------ .../otbMultiChannelRadiometricImageFilter.h | 162 ------- .../include/otbRAndBAndNIRIndexImageFilter.h | 93 ---- .../otbRAndBAndNIRIndexImageFilter.hxx | 86 ---- .../include/otbRAndGAndNIRIndexImageFilter.h | 93 ---- .../otbRAndGAndNIRIndexImageFilter.hxx | 86 ---- .../include/otbRAndNIRIndexImageFilter.h | 93 ---- .../include/otbRAndNIRIndexImageFilter.hxx | 120 ----- .../Radiometry/Indices/test/CMakeLists.txt | 425 ------------------ ...lRAndGAndNIRVegetationIndexImageFilter.cxx | 74 --- ...IRAndGAndNIRVegetationIndexImageFilter.cxx | 85 ---- ...lRAndBAndNIRVegetationIndexImageFilter.cxx | 94 ---- ...IRAndBAndNIRVegetationIndexImageFilter.cxx | 96 ---- .../Indices/test/otbGAndRIndexImageFilter.cxx | 90 ---- .../test/otbIBGAndRAndNIRIndexImageFilter.cxx | 79 ---- ...ultiChannelGAndRAndNIRIndexImageFilter.cxx | 69 --- ...ISUMultiChannelRAndNIRIndexImageFilter.cxx | 70 --- .../test/otbISURAndNIRIndexImageFilter.cxx | 76 ---- .../Indices/test/otbIndicesTestDriver.cxx | 24 - .../otbMultiChannelGAndRIndexImageFilter.cxx | 88 ---- ...lRAndBAndNIRVegetationIndexImageFilter.cxx | 85 ---- ...annelRAndNIRVegetationIndexImageFilter.cxx | 131 ------ ...IMultiChannelTM4AndTM5IndexImageFilter.cxx | 67 --- .../test/otbNDBITM4AndTM5IndexImageFilter.cxx | 70 --- ...bNDWIMultiChannelWaterIndexImageFilter.cxx | 65 --- .../test/otbNDWIWaterIndexImageFilter.cxx | 70 --- ...bRAndBAndNIRVegetationIndexImageFilter.cxx | 88 ---- .../otbRAndNIRVegetationIndexImageFilter.cxx | 132 ------ ...annelRAndNIRVegetationIndexImageFilter.cxx | 77 ---- ...ASetBRAndNIRVegetationIndexImageFilter.cxx | 78 ---- ...lRAndBAndNIRVegetationIndexImageFilter.cxx | 76 ---- ...IRAndBAndNIRVegetationIndexImageFilter.cxx | 87 ---- ...annelRAndNIRVegetationIndexImageFilter.cxx | 67 --- ...bWDVIRAndNIRVegetationIndexImageFilter.cxx | 73 --- 39 files changed, 16 insertions(+), 3845 deletions(-) delete mode 100644 Modules/Radiometry/Indices/include/otbGAndRIndexImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbMultiChannelGAndRIndexImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbMultiChannelRAndBAndNIRIndexImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbMultiChannelRAndGAndNIRIndexImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbMultiChannelRAndNIRIndexImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbMultiChannelRadiometricImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.hxx delete mode 100644 Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.hxx delete mode 100644 Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.h delete mode 100644 Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.hxx delete mode 100644 Modules/Radiometry/Indices/test/otbAVIMultiChannelRAndGAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbAVIRAndGAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbEVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbEVIRAndBAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbGAndRIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbIBGAndRAndNIRIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbIBMultiChannelGAndRAndNIRIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbISUMultiChannelRAndNIRIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbISURAndNIRIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbMultiChannelGAndRIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbMultiChannelRAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbNDBIMultiChannelTM4AndTM5IndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbNDBITM4AndTM5IndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbNDWIMultiChannelWaterIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbNDWIWaterIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbRAndBAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbRAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbSetASetBMultiChannelRAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbSetASetBRAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbTSARVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbTSARVIRAndBAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbWDVIMultiChannelRAndNIRVegetationIndexImageFilter.cxx delete mode 100644 Modules/Radiometry/Indices/test/otbWDVIRAndNIRVegetationIndexImageFilter.cxx diff --git a/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx b/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx index 09dd74a7c4..4d13ff7279 100644 --- a/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx +++ b/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx @@ -21,13 +21,10 @@ #include "otbWrapperApplication.h" #include "otbWrapperApplicationFactory.h" -#include "otbMultiChannelRAndNIRIndexImageFilter.h" -#include "otbMultiChannelGAndRIndexImageFilter.h" -#include "otbMultiChannelRAndGAndNIRIndexImageFilter.h" -#include "otbMultiChannelRAndBAndNIRIndexImageFilter.h" -#include "otbMultiChannelRAndGAndNIRIndexImageFilter.h" +#include "itkUnaryFunctorImageFilter.h" #include "otbWaterIndicesFunctor.h" #include "otbBuiltUpIndicesFunctor.h" +#include "otbSoilIndicesFunctor.h" #include "otbImageList.h" #include "otbImageListToVectorImageFilter.h" @@ -98,18 +95,18 @@ public: typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, NDTIFunctorType> NDTIFilterType; typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, SRWIFunctorType> SRWIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, NDVIFunctor> NDVIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, TNDVIFunctor> TNDVIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, RVIFunctor> RVIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, SAVIFunctor> SAVIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, TSAVIFunctor> TSAVIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, MSAVIFunctor> MSAVIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, MSAVI2Functor> MSAVI2FilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, GEMIFunctor> GEMIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, IPVIFunctor> IPVIFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, LAIFromNDVILogFunctor> LAIFromNDVILogFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, LAIFromReflLinearFunctor> LAIFromReflLinearFilterType; - typedef MultiChannelRAndNIRIndexImageFilter<FloatVectorImageType, FloatImageType, LAIFromNDVIFormoFunctor> LAIFromNDVIFormoFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, NDVIFunctor> NDVIFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, TNDVIFunctor> TNDVIFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, RVIFunctor> RVIFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, SAVIFunctor> SAVIFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, TSAVIFunctor> TSAVIFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, MSAVIFunctor> MSAVIFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, MSAVI2Functor> MSAVI2FilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, GEMIFunctor> GEMIFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, IPVIFunctor> IPVIFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, LAIFromNDVILogFunctor> LAIFromNDVILogFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, LAIFromReflLinearFunctor> LAIFromReflLinearFilterType; + typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, LAIFromNDVIFormoFunctor> LAIFromNDVIFormoFilterType; typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, IRFunctor> RIFilterType; typedef itk::UnaryFunctorImageFilter<FloatVectorImageType, FloatImageType, ICFunctor> CIFilterType; @@ -462,10 +459,10 @@ private: type##FilterType::Pointer l_##type##Filter = type##FilterType::New(); \ std::ostringstream oss; \ oss<<"channels."<<m_Map[GetSelectedItems("list")[idx]].chan1; \ - l_##type##Filter->SetRedIndex(this->GetParameterInt(oss.str())); \ + l_##type##Filter->GetFunctor().SetRedIndex(this->GetParameterInt(oss.str())); \ oss.str(""); \ oss<<"channels."<<m_Map[GetSelectedItems("list")[idx]].chan2; \ - l_##type##Filter->SetNIRIndex(this->GetParameterInt(oss.str())); \ + l_##type##Filter->GetFunctor().SetNIRIndex(this->GetParameterInt(oss.str())); \ l_##type##Filter->SetInput(inImage); \ m_FilterList->PushBack( l_##type##Filter ); \ m_ImageList->PushBack( l_##type##Filter->GetOutput() ); \ diff --git a/Modules/Radiometry/Indices/include/otbGAndRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbGAndRIndexImageFilter.h deleted file mode 100644 index 0e4c45781c..0000000000 --- a/Modules/Radiometry/Indices/include/otbGAndRIndexImageFilter.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbGAndRIndexImageFilter_h -#define otbGAndRIndexImageFilter_h - -#include "itkBinaryFunctorImageFilter.h" -#include "otbSoilIndicesFunctor.h" - -namespace otb -{ - -/** \class GAndRIndexImageFilter - * \brief TODO - * - * \ingroup Radiometry - * - * - * \ingroup OTBIndices - */ - -template <class TInputImageG, class TInputImageR, class TOutputImage, - class TFunction = Functor::IR<typename TInputImageG::PixelType, - typename TInputImageR::PixelType, - typename TOutputImage::PixelType> > -class ITK_EXPORT GAndRIndexImageFilter : public itk::BinaryFunctorImageFilter<TInputImageG, TInputImageR, TOutputImage, - TFunction> -{ -public: - - /** Standard typedefs */ - typedef GAndRIndexImageFilter Self; - typedef itk::BinaryFunctorImageFilter<TInputImageG, TInputImageR, TOutputImage, TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> ConstPointer; - - /** Type macro */ - itkNewMacro(Self); - - /** Creation through object factory macro */ - itkTypeMacro(GAndRIndexImageFilter, BinaryFunctorImageFilter); - - void SetInputG(const TInputImageG * image1); - void SetInputR(const TInputImageR * image2); - - /** Template parameters typedefs */ - typedef typename Superclass::Input1ImageType GInputImageType; - typedef typename Superclass::Input1ImagePointer GInputImagePointer; - typedef typename Superclass::Input2ImageType RInputImageType; - typedef typename Superclass::Input2ImagePointer RInputImagePointer; - typedef typename Superclass::OutputImageType OutputImageType; - typedef typename Superclass::OutputImagePointer OutputImagePointer; - typedef typename Superclass::FunctorType FunctorType; - typedef typename Superclass::OutputImageRegionType OutputImageRegionType; - -protected: - GAndRIndexImageFilter(); - ~GAndRIndexImageFilter() override {} - - void PrintSelf(std::ostream& os, itk::Indent indent) const override; - - /* void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, - itk::ThreadIdType threadId ); - */ -private: - GAndRIndexImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - -}; - -} // end namespace otb - -#ifndef OTB_MANUAL_INSTANTIATION -#include "otbGAndRIndexImageFilter.hxx" -#endif - -#endif diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelGAndRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelGAndRIndexImageFilter.h deleted file mode 100644 index 1ef327d402..0000000000 --- a/Modules/Radiometry/Indices/include/otbMultiChannelGAndRIndexImageFilter.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbMultiChannelGAndRIndexImageFilter_h -#define otbMultiChannelGAndRIndexImageFilter_h - -#include "itkUnaryFunctorImageFilter.h" -#include "otbSoilIndicesFunctor.h" - -namespace otb -{ - -/** \class MultiChannelGAndRIndexImageFilter - * \brief Implements multi channel G and R pixel-wise generic index operation on one vector image. - * - * This class is parameterized over the type of the input image and - * the type of the output image. It is also parameterized by the - * operation to be applied, using a Functor style. - * - * \sa UnaryFunctorImageFilter - * \ingroup Radiometry - * - * \ingroup OTBIndices - */ -template <class TInputImage, class TOutputImage, - class TFunction = Functor::IR<typename TInputImage::InternalPixelType, - typename TInputImage::InternalPixelType, - typename TOutputImage::PixelType> > -class ITK_EXPORT MultiChannelGAndRIndexImageFilter - : public itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> -{ -public: - /** Standard class typedefs. */ - typedef MultiChannelGAndRIndexImageFilter Self; - typedef itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> ConstPointer; - - /** Method for creation through the object factory. */ - itkNewMacro(Self); - - /** Run-time type information (and related methods). */ - itkTypeMacro(MultiChannelGAndRIndexImageFilter, UnaryFunctorImageFilter); - - /** Some typedefs. */ - typedef TFunction FunctorType; - - /** Set/Get the Green channel index. Value must be in [1...[ */ - itkSetMacro(GreenIndex, unsigned int); - itkGetMacro(GreenIndex, unsigned int); - /** Set/Get the Red channel index. Value must be in [1...[ */ - itkSetMacro(RedIndex, unsigned int); - itkGetMacro(RedIndex, unsigned int); - - /** Set index, generic method */ - void SetIndex(BandName::BandName band, unsigned int channel) - { - if (band == BandName::RED) - { - m_RedIndex = channel; - } - if (band == BandName::GREEN) - { - m_GreenIndex = channel; - } - } - /** Get index, generic method */ - unsigned int GetIndex(BandName::BandName band) const - { - if (band == BandName::RED) - { - return m_RedIndex; - } - if (band == BandName::GREEN) - { - return m_GreenIndex; - } - } - -protected: - /// Constructor - MultiChannelGAndRIndexImageFilter() : m_GreenIndex(1), m_RedIndex(2) {}; - /// Destructor - ~MultiChannelGAndRIndexImageFilter() override {} - /// Before generating data, set functor parameters - void BeforeThreadedGenerateData() override - { - unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel(); - if (m_GreenIndex < 1 || m_RedIndex < 1 || - m_GreenIndex > lNbChan || m_RedIndex > lNbChan) - { - itkExceptionMacro(<< "Channel indices must belong to range [1, ...["); - } - this->GetFunctor().SetGreenIndex(m_GreenIndex); - this->GetFunctor().SetRedIndex(m_RedIndex); - } - /// PrintSelf Method - void PrintSelf(std::ostream& os, itk::Indent indent) const override - { - this->Superclass::PrintSelf(os, indent); - os << indent << "Green index: " << m_GreenIndex << std::endl; - os << indent << "Red index: " << m_RedIndex << std::endl; - } -private: - MultiChannelGAndRIndexImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - /** Green channel index */ - unsigned int m_GreenIndex; - /** Red channel index */ - unsigned int m_RedIndex; -}; -} // end namespace otb - -#endif diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelRAndBAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelRAndBAndNIRIndexImageFilter.h deleted file mode 100644 index 17012a6f8b..0000000000 --- a/Modules/Radiometry/Indices/include/otbMultiChannelRAndBAndNIRIndexImageFilter.h +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbMultiChannelRAndBAndNIRIndexImageFilter_h -#define otbMultiChannelRAndBAndNIRIndexImageFilter_h - -#include "itkUnaryFunctorImageFilter.h" -#include "otbVegetationIndicesFunctor.h" - -namespace otb -{ - -/** \class MultiChannelRAndBAndNIRIndexImageFilter - * \brief Implements multi channel R and B and NIR pixel-wise generic index operation on one vector image. - * - * This class is parameterized over the type of the input image and - * the type of the output image. It is also parameterized by the - * operation to be applied, using a Functor style. - * - * \sa UnaryFunctorImageFilter - * \ingroup Radiometry - * - * \ingroup OTBIndices - */ -template <class TInputImage, class TOutputImage, - class TFunction = Functor::ARVI<typename TInputImage::InternalPixelType, - typename TInputImage::InternalPixelType, - typename TInputImage::InternalPixelType, - typename TOutputImage::PixelType> > -class ITK_EXPORT MultiChannelRAndBAndNIRIndexImageFilter - : public itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> -{ -public: - /** Standard class typedefs. */ - typedef MultiChannelRAndBAndNIRIndexImageFilter Self; - typedef itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> ConstPointer; - - /** Method for creation through the object factory. */ - itkNewMacro(Self); - - /** Run-time type information (and related methods). */ - itkTypeMacro(MultiChannelRAndBAndNIRIndexImageFilter, UnaryFunctorImageFilter); - - /** Some typedefs. */ - typedef TFunction FunctorType; - - /** Set/Get the red channel index. Value must be in [1...[ */ - itkSetMacro(RedIndex, unsigned int); - itkGetMacro(RedIndex, unsigned int); - /** Set/Get the blue channel index. Value must be in [1...[ */ - itkSetMacro(BlueIndex, unsigned int); - itkGetMacro(BlueIndex, unsigned int); - /** Set/Get the nir channel index. Value must be in [1...[ */ - itkSetMacro(NIRIndex, unsigned int); - itkGetMacro(NIRIndex, unsigned int); - - /** Set index, generic method */ - void SetIndex(BandName::BandName band, unsigned int channel) - { - if (band == BandName::RED) - { - m_RedIndex = channel; - } - if (band == BandName::BLUE) - { - m_BlueIndex = channel; - } - if (band == BandName::NIR) - { - m_NIRIndex = channel; - } - } - /** Get index, generic method */ - unsigned int GetIndex(BandName::BandName band) const - { - if (band == BandName::RED) - { - return m_RedIndex; - } - if (band == BandName::BLUE) - { - return m_BlueIndex; - } - if (band == BandName::NIR) - { - return m_NIRIndex; - } - } - -protected: - /// Constructor - MultiChannelRAndBAndNIRIndexImageFilter() : m_RedIndex(3), m_BlueIndex(1), m_NIRIndex(4) {}; - /// Destructor - ~MultiChannelRAndBAndNIRIndexImageFilter() override {} - /// Before generating data, set functor parameters - void BeforeThreadedGenerateData() override - { - unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel(); - if (m_RedIndex < 1 || m_BlueIndex < 1 || m_NIRIndex < 1 || - m_RedIndex > lNbChan || m_BlueIndex > lNbChan || m_NIRIndex > lNbChan) - { - itkExceptionMacro(<< "Channel indices must belong to range [1, ...["); - } - this->GetFunctor().SetRedIndex(m_RedIndex); - this->GetFunctor().SetBlueIndex(m_BlueIndex); - this->GetFunctor().SetNIRIndex(m_NIRIndex); - } - /// PrintSelf - void PrintSelf(std::ostream& os, itk::Indent indent) const override - { - this->Superclass::PrintSelf(os, indent); - os << indent << "Red index: " << m_RedIndex << std::endl; - os << indent << "Blue index: " << m_BlueIndex << std::endl; - os << indent << "NIR index: " << m_NIRIndex << std::endl; - } - -private: - MultiChannelRAndBAndNIRIndexImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - - /** Red channel index */ - unsigned int m_RedIndex; - /** Blue channel index */ - unsigned int m_BlueIndex; - /** NIR channel index */ - unsigned int m_NIRIndex; -}; - -} // end namespace otb - -#endif diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelRAndGAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelRAndGAndNIRIndexImageFilter.h deleted file mode 100644 index 6732e990f7..0000000000 --- a/Modules/Radiometry/Indices/include/otbMultiChannelRAndGAndNIRIndexImageFilter.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbMultiChannelRAndGAndNIRIndexImageFilter_h -#define otbMultiChannelRAndGAndNIRIndexImageFilter_h - -#include "itkUnaryFunctorImageFilter.h" -#include "otbVegetationIndicesFunctor.h" - -namespace otb -{ - -/** \class MultiChannelRAndGAndNIRIndexImageFilter - * \brief Implements multi channel R and G and NIR pixel-wise generic index operation on one vector image. - * - * This class is parameterized over the type of the input image and - * the type of the output image. It is also parameterized by the - * operation to be applied, using a Functor style. - * - * \sa UnaryFunctorImageFilter - * \ingroup Radiometry - * - * \ingroup OTBIndices - */ -template <class TInputImage, class TOutputImage, - class TFunction = Functor::AVI<typename TInputImage::InternalPixelType, - typename TInputImage::InternalPixelType, - typename TInputImage::InternalPixelType, - typename TOutputImage::PixelType> > -class ITK_EXPORT MultiChannelRAndGAndNIRIndexImageFilter - : public itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> -{ -public: - /** Standard class typedefs. */ - typedef MultiChannelRAndGAndNIRIndexImageFilter Self; - typedef itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> ConstPointer; - - /** Method for creation through the object factory. */ - itkNewMacro(Self); - - /** Run-time type information (and related methods). */ - itkTypeMacro(MultiChannelRAndGAndNIRIndexImageFilter, UnaryFunctorImageFilter); - - /** Some typedefs. */ - typedef TFunction FunctorType; - - /** Set/Get the red channel index. Value must be in [1...[ */ - itkSetMacro(RedIndex, unsigned int); - itkGetMacro(RedIndex, unsigned int); - /** Set/Get the green channel index. Value must be in [1...[ */ - itkSetMacro(GreenIndex, unsigned int); - itkGetMacro(GreenIndex, unsigned int); - /** Set/Get the nir channel index. Value must be in [1...[ */ - itkSetMacro(NIRIndex, unsigned int); - itkGetMacro(NIRIndex, unsigned int); - - /** Set index, generic method */ - void SetIndex(BandName::BandName band, unsigned int channel) - { - if (band == BandName::RED) - { - m_RedIndex = channel; - } - if (band == BandName::GREEN) - { - m_GreenIndex = channel; - } - if (band == BandName::NIR) - { - m_NIRIndex = channel; - } - } - /** Get index, generic method */ - unsigned int GetIndex(BandName::BandName band) const - { - if (band == BandName::RED) - { - return m_RedIndex; - } - if (band == BandName::GREEN) - { - return m_GreenIndex; - } - if (band == BandName::NIR) - { - return m_NIRIndex; - } - } - -protected: - /// Constructor - MultiChannelRAndGAndNIRIndexImageFilter() : m_RedIndex(3), m_GreenIndex(2), m_NIRIndex(4) {}; - /// Destructor - ~MultiChannelRAndGAndNIRIndexImageFilter() override {} - /// Before generating data, set functor parameters - void BeforeThreadedGenerateData() override - { - - unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel(); - if (m_RedIndex < 1 || m_GreenIndex < 1 || m_NIRIndex < 1 || - m_RedIndex > lNbChan || m_GreenIndex > lNbChan || m_NIRIndex > lNbChan) - { - itkExceptionMacro(<< "Channel indices must belong to range [1, ...["); - } - this->GetFunctor().SetRedIndex(m_RedIndex); - this->GetFunctor().SetGreenIndex(m_GreenIndex); - this->GetFunctor().SetNIRIndex(m_NIRIndex); - } - /// PrintSelf - void PrintSelf(std::ostream& os, itk::Indent indent) const override - { - this->Superclass::PrintSelf(os, indent); - os << indent << "Red index: " << m_RedIndex << std::endl; - os << indent << "Green index: " << m_GreenIndex << std::endl; - os << indent << "NIR index: " << m_NIRIndex << std::endl; - } - -private: - MultiChannelRAndGAndNIRIndexImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - - /** Red channel index */ - unsigned int m_RedIndex; - /** Green channel index */ - unsigned int m_GreenIndex; - /** NIR channel index */ - unsigned int m_NIRIndex; -}; - -} // end namespace otb - -#endif diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelRAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelRAndNIRIndexImageFilter.h deleted file mode 100644 index 935576edca..0000000000 --- a/Modules/Radiometry/Indices/include/otbMultiChannelRAndNIRIndexImageFilter.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbMultiChannelRAndNIRIndexImageFilter_h -#define otbMultiChannelRAndNIRIndexImageFilter_h - -#include "itkUnaryFunctorImageFilter.h" -#include "otbVegetationIndicesFunctor.h" - -namespace otb -{ - -/** \class MultiChannelRAndNIRIndexImageFilter - * \brief Implements multi channel R and NIR pixel-wise generic index operation on one vector image. - * - * This class is parameterized over the type of the input image and - * the type of the output image. It is also parameterized by the - * operation to be applied, using a Functor style. - * - * \sa UnaryFunctorImageFilter - * \ingroup Radiometry - * - * \ingroup OTBIndices - */ -template <class TInputImage, class TOutputImage, - class TFunction = Functor::NDVI<typename TInputImage::InternalPixelType, - typename TInputImage::InternalPixelType, - typename TOutputImage::PixelType> > -class ITK_EXPORT MultiChannelRAndNIRIndexImageFilter - : public itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> -{ -public: - /** Standard class typedefs. */ - typedef MultiChannelRAndNIRIndexImageFilter Self; - typedef itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> ConstPointer; - - /** Method for creation through the object factory. */ - itkNewMacro(Self); - - /** Run-time type information (and related methods). */ - itkTypeMacro(MultiChannelRAndNIRIndexImageFilter, UnaryFunctorImageFilter); - - /** Some typedefs. */ - typedef TFunction FunctorType; - - /** Set/Get the red channel index. Value must be in [1...[ */ - itkSetMacro(RedIndex, unsigned int); - itkGetMacro(RedIndex, unsigned int); - /** Set/Get the nir channel index. Value must be in [1...[ */ - itkSetMacro(NIRIndex, unsigned int); - itkGetMacro(NIRIndex, unsigned int); - - /** Set index, generic method */ - void SetIndex(BandName::BandName band, unsigned int channel) - { - if (band == BandName::RED) - { - m_RedIndex = channel; - } - if (band == BandName::NIR) - { - m_NIRIndex = channel; - } - } - /** Get index, generic method */ - unsigned int GetIndex(BandName::BandName band) const - { - if (band == BandName::RED) - { - return m_RedIndex; - } - if (band == BandName::NIR) - { - return m_NIRIndex; - } - } - -protected: - /// Constructor - MultiChannelRAndNIRIndexImageFilter() : m_RedIndex(3), m_NIRIndex(4) {}; - /// Destructor - ~MultiChannelRAndNIRIndexImageFilter() override {} - /// Before generating data, set functor parameters - void BeforeThreadedGenerateData() override - { - unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel(); - if (m_RedIndex < 1 || m_NIRIndex < 1 || - m_RedIndex > lNbChan || m_NIRIndex > lNbChan) - { - itkExceptionMacro(<< "Channel indices must belong to range [1, ...["); - } - this->GetFunctor().SetRedIndex(m_RedIndex); - this->GetFunctor().SetNIRIndex(m_NIRIndex); - } - /// PrintSelf Method - void PrintSelf(std::ostream& os, itk::Indent indent) const override - { - this->Superclass::PrintSelf(os, indent); - os << indent << "Red index: " << m_RedIndex << std::endl; - os << indent << "NIR index: " << m_NIRIndex << std::endl; - } -private: - MultiChannelRAndNIRIndexImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - /** Red channel index */ - unsigned int m_RedIndex; - /** NIR channel index */ - unsigned int m_NIRIndex; -}; -} // end namespace otb - -#endif diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelRadiometricImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelRadiometricImageFilter.h deleted file mode 100644 index 3fd3ece50c..0000000000 --- a/Modules/Radiometry/Indices/include/otbMultiChannelRadiometricImageFilter.h +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbMultiChannelRadiometricImageFilter_h -#define otbMultiChannelRadiometricImageFilter_h - -#include "itkUnaryFunctorImageFilter.h" - -#include "otbMacro.h" -#include "otbBandName.h" - -namespace otb -{ - -/** \class MultiChannelRadiometricImageFilter - * \brief Implements multi channel radiometric indices operation on one vector image. - * - * This class is parameterized over the type of the input image and - * the type of the output image. It is also parameterized by the - * operation to be applied, using a Functor style. - * - * \sa UnaryFunctorImageFilter - * \ingroup Radiometry - * - * \ingroup OTBIndices - */ -template <class TInputImage, class TOutputImage, class TFunction> -class ITK_EXPORT MultiChannelRadiometricImageFilter - : public itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> -{ -public: - /** Standard class typedefs. */ - typedef MultiChannelRadiometricImageFilter Self; - typedef itk::UnaryFunctorImageFilter<TInputImage, TOutputImage, TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> ConstPointer; - - /** Method for creation through the object factory. */ - itkNewMacro(Self); - - /** Run-time type information (and related methods). */ - itkTypeMacro(MultiChannelRadiometricImageFilter, UnaryFunctorImageFilter); - - /** Some typedefs. */ - typedef TFunction FunctorType; - - /** Set index, generic method */ - virtual void SetIndex(BandName::BandName band, unsigned int channel) - { - switch (band) - { - case BandName::BLUE: - m_BlueIndex = channel; - break; - case BandName::GREEN: - m_GreenIndex = channel; - break; - case BandName::RED: - m_RedIndex = channel; - break; - case BandName::NIR: - m_NIRIndex = channel; - break; - case BandName::MIR: - m_MIRIndex = channel; - break; - default: - otbMsgDevMacro(<< "Band type not expected, you should probably do something about it!"); - } - } - /** Get index, generic method */ - virtual unsigned int GetIndex(BandName::BandName band) const - { - switch (band) - { - case BandName::BLUE: - return m_BlueIndex; - break; - case BandName::GREEN: - return m_GreenIndex; - break; - case BandName::RED: - return m_RedIndex; - break; - case BandName::NIR: - return m_NIRIndex; - break; - case BandName::MIR: - return m_MIRIndex; - break; - default: - otbMsgDevMacro(<< "Band type not expected, you should probably do something about it!"); - } - return 0; - } - -protected: - /// Constructor - MultiChannelRadiometricImageFilter() : - m_BlueIndex(0), m_GreenIndex(0), m_RedIndex(0), m_NIRIndex(0), m_MIRIndex(0) {}; - /// Destructor - virtual ~MultiChannelRadiometricImageFilter() {} - /// Before generating data, set functor parameters - virtual void BeforeThreadedGenerateData() - { -// unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel(); -/* if (m_RedIndex < 1 || m_NIRIndex < 1 || - m_RedIndex > lNbChan || m_NIRIndex > lNbChan) - { - itkExceptionMacro(<< "Channel indices must belong to range [1, ...["); - }*/ - this->GetFunctor().SetIndex(BandName::BLUE, m_BlueIndex); - this->GetFunctor().SetIndex(BandName::GREEN, m_GreenIndex); - this->GetFunctor().SetIndex(BandName::RED, m_RedIndex); - this->GetFunctor().SetIndex(BandName::NIR, m_NIRIndex); - this->GetFunctor().SetIndex(BandName::MIR, m_MIRIndex); - } - /// PrintSelf Method - void PrintSelf(std::ostream& os, itk::Indent indent) const - { - this->Superclass::PrintSelf(os, indent); - os << indent << "Blue index: " << m_BlueIndex << std::endl; - os << indent << "Green index: " << m_GreenIndex << std::endl; - os << indent << "Red index: " << m_RedIndex << std::endl; - os << indent << "NIR index: " << m_NIRIndex << std::endl; - os << indent << "MIR index: " << m_MIRIndex << std::endl; - } -private: - MultiChannelRadiometricImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - /** Blue channel index */ - unsigned int m_BlueIndex; - /** Green channel index */ - unsigned int m_GreenIndex; - /** Red channel index */ - unsigned int m_RedIndex; - /** NIR channel index */ - unsigned int m_NIRIndex; - /** MIR channel index */ - unsigned int m_MIRIndex; - -}; -} // end namespace otb - -#endif diff --git a/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.h deleted file mode 100644 index 7e5011f751..0000000000 --- a/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbRAndBAndNIRIndexImageFilter_h -#define otbRAndBAndNIRIndexImageFilter_h - -#include "itkTernaryFunctorImageFilter.h" -#include "otbVegetationIndicesFunctor.h" - -namespace otb -{ - -/** \class RAndBAndNIRIndexImageFilter - * \brief TODO - * - * \ingroup Radiometry - * - * - * \ingroup OTBIndices - */ - -template <class TInputImageR, class TInputImageB, class TInputImageNIR, class TOutputImage, - class TFunction = Functor::ARVI<typename TInputImageR::PixelType, - typename TInputImageB::PixelType, - typename TInputImageNIR::PixelType, - typename TOutputImage::PixelType> > -class ITK_EXPORT RAndBAndNIRIndexImageFilter : public itk::TernaryFunctorImageFilter<TInputImageR, TInputImageB, - TInputImageNIR, TOutputImage, - TFunction> -{ -public: - - /** Standard typedefs */ - typedef RAndBAndNIRIndexImageFilter Self; - typedef itk::TernaryFunctorImageFilter<TInputImageR, TInputImageB, TInputImageNIR, TOutputImage, - TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> - ConstPointer; - - /** Type macro */ - itkNewMacro(Self); - - /** Creation through object factory macro */ - itkTypeMacro(RAndBAndNIRIndexImageFilter, TernaryFunctorImageFilter); - - void SetInputR(const TInputImageR * image); - void SetInputB(const TInputImageB * image); - void SetInputNIR(const TInputImageNIR * image); - - /** Template parameters typedefs */ - typedef typename Superclass::Input1ImageType RInputImageType; - typedef typename Superclass::Input2ImageType BInputImageType; - typedef typename Superclass::Input3ImageType NIRInputImageType; - typedef typename Superclass::OutputImageType OutputImageType; - typedef typename Superclass::FunctorType FunctorType; - -protected: - RAndBAndNIRIndexImageFilter(); - ~RAndBAndNIRIndexImageFilter() override {} - - void PrintSelf(std::ostream& os, itk::Indent indent) const override; - -private: - RAndBAndNIRIndexImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - -}; - -} // end namespace otb - -#ifndef OTB_MANUAL_INSTANTIATION -#include "otbRAndBAndNIRIndexImageFilter.hxx" -#endif - -#endif diff --git a/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.hxx b/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.hxx deleted file mode 100644 index acac1bdfe5..0000000000 --- a/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.hxx +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbRAndBAndNIRIndexImageFilter_hxx -#define otbRAndBAndNIRIndexImageFilter_hxx - -#include "otbRAndBAndNIRIndexImageFilter.h" - -namespace otb -{ - -/** - * Constructor - */ -template <class TInputImageR, class TInputImageB, class TInputImageNIR, - class TOutputImage, class TFunction> -RAndBAndNIRIndexImageFilter<TInputImageR, TInputImageB, TInputImageNIR, TOutputImage, TFunction> -::RAndBAndNIRIndexImageFilter() -{ -} - -/** - * Connect one of the operands for pixel-wise addition - */ -template <class TInputImageR, class TInputImageB, class TInputImageNIR, - class TOutputImage, class TFunction> -void -RAndBAndNIRIndexImageFilter<TInputImageR, TInputImageB, TInputImageNIR, TOutputImage, TFunction> -::SetInputR(const TInputImageR * image) -{ - // Process object is not const-correct so the const casting is required. - this->SetInput1(image); -} - -/** - * Connect one of the operands for pixel-wise addition - */ -template <class TInputImageR, class TInputImageB, class TInputImageNIR, - class TOutputImage, class TFunction> -void -RAndBAndNIRIndexImageFilter<TInputImageR, TInputImageB, TInputImageNIR, TOutputImage, TFunction> -::SetInputB(const TInputImageB * image) -{ - this->SetInput2(image); -} - -/** - * Connect one of the operands for pixel-wise addition - */ -template <class TInputImageR, class TInputImageB, class TInputImageNIR, - class TOutputImage, class TFunction> -void -RAndBAndNIRIndexImageFilter<TInputImageR, TInputImageB, TInputImageNIR, TOutputImage, TFunction> -::SetInputNIR(const TInputImageNIR * image) -{ - this->SetInput3(image); -} - -template <class TInputImageR, class TInputImageB, class TInputImageNIR, class TOutputImage, class TFunction> -void -RAndBAndNIRIndexImageFilter<TInputImageR, TInputImageB, TInputImageNIR, TOutputImage, TFunction> -::PrintSelf(std::ostream& os, itk::Indent indent) const -{ - Superclass::PrintSelf(os, indent); -} - -} - -#endif diff --git a/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.h deleted file mode 100644 index 77d38bc177..0000000000 --- a/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbRAndGAndNIRIndexImageFilter_h -#define otbRAndGAndNIRIndexImageFilter_h - -#include "itkTernaryFunctorImageFilter.h" -#include "otbVegetationIndicesFunctor.h" - -namespace otb -{ - -/** \class RAndGAndNIRIndexImageFilter - * \brief TODO - * - * \ingroup Radiometry - * - * - * \ingroup OTBIndices - */ - -template <class TInputImageR, class TInputImageG, class TInputImageNIR, class TOutputImage, - class TFunction = Functor::AVI<typename TInputImageR::PixelType, - typename TInputImageG::PixelType, - typename TInputImageNIR::PixelType, - typename TOutputImage::PixelType> > -class ITK_EXPORT RAndGAndNIRIndexImageFilter : public itk::TernaryFunctorImageFilter<TInputImageR, TInputImageG, - TInputImageNIR, TOutputImage, - TFunction> -{ -public: - - /** Standard typedefs */ - typedef RAndGAndNIRIndexImageFilter Self; - typedef itk::TernaryFunctorImageFilter<TInputImageR, TInputImageG, TInputImageNIR, TOutputImage, - TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> - ConstPointer; - - /** Type macro */ - itkNewMacro(Self); - - /** Creation through object factory macro */ - itkTypeMacro(RAndGAndNIRIndexImageFilter, TernaryFunctorImageFilter); - - void SetInputR(const TInputImageR * image); - void SetInputG(const TInputImageG * image); - void SetInputNIR(const TInputImageNIR * image); - - /** Template parameters typedefs */ - typedef typename Superclass::Input1ImageType RInputImageType; - typedef typename Superclass::Input2ImageType GInputImageType; - typedef typename Superclass::Input3ImageType NIRInputImageType; - typedef typename Superclass::OutputImageType OutputImageType; - typedef typename Superclass::FunctorType FunctorType; - -protected: - RAndGAndNIRIndexImageFilter(); - ~RAndGAndNIRIndexImageFilter() override {} - - void PrintSelf(std::ostream& os, itk::Indent indent) const override; - -private: - RAndGAndNIRIndexImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - -}; - -} // end namespace otb - -#ifndef OTB_MANUAL_INSTANTIATION -#include "otbRAndGAndNIRIndexImageFilter.hxx" -#endif - -#endif diff --git a/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.hxx b/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.hxx deleted file mode 100644 index 95b75ce12b..0000000000 --- a/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.hxx +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbRAndGAndNIRIndexImageFilter_hxx -#define otbRAndGAndNIRIndexImageFilter_hxx - -#include "otbRAndGAndNIRIndexImageFilter.h" - -namespace otb -{ - -/** - * Constructor - */ -template <class TInputImageR, class TInputImageG, class TInputImageNIR, - class TOutputImage, class TFunction> -RAndGAndNIRIndexImageFilter<TInputImageR, TInputImageG, TInputImageNIR, TOutputImage, TFunction> -::RAndGAndNIRIndexImageFilter() -{ -} - -/** - * Connect one of the operands for pixel-wise addition - */ -template <class TInputImageR, class TInputImageG, class TInputImageNIR, - class TOutputImage, class TFunction> -void -RAndGAndNIRIndexImageFilter<TInputImageR, TInputImageG, TInputImageNIR, TOutputImage, TFunction> -::SetInputR(const TInputImageR * image) -{ - // Process object is not const-correct so the const casting is required. - this->SetInput1(image); -} - -/** - * Connect one of the operands for pixel-wise addition - */ -template <class TInputImageR, class TInputImageG, class TInputImageNIR, - class TOutputImage, class TFunction> -void -RAndGAndNIRIndexImageFilter<TInputImageR, TInputImageG, TInputImageNIR, TOutputImage, TFunction> -::SetInputG(const TInputImageG * image) -{ - this->SetInput2(image); -} - -/** - * Connect one of the operands for pixel-wise addition - */ -template <class TInputImageR, class TInputImageG, class TInputImageNIR, - class TOutputImage, class TFunction> -void -RAndGAndNIRIndexImageFilter<TInputImageR, TInputImageG, TInputImageNIR, TOutputImage, TFunction> -::SetInputNIR(const TInputImageNIR * image) -{ - this->SetInput3(image); -} - -template <class TInputImageR, class TInputImageG, class TInputImageNIR, class TOutputImage, class TFunction> -void -RAndGAndNIRIndexImageFilter<TInputImageR, TInputImageG, TInputImageNIR, TOutputImage, TFunction> -::PrintSelf(std::ostream& os, itk::Indent indent) const -{ - Superclass::PrintSelf(os, indent); -} - -} - -#endif diff --git a/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.h deleted file mode 100644 index 21bddc91c5..0000000000 --- a/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbRAndNIRIndexImageFilter_h -#define otbRAndNIRIndexImageFilter_h - -#include "itkBinaryFunctorImageFilter.h" -#include "otbVegetationIndicesFunctor.h" - -namespace otb -{ - -/** \class RAndNIRIndexImageFilter - * \brief TODO - * - * \ingroup Radiometry - * - * \ingroup OTBIndices - */ - -template <class TInputImageR, class TInputImageNIR, class TOutputImage, - class TFunction = Functor::NDVI<typename TInputImageR::PixelType, - typename TInputImageNIR::PixelType, - typename TOutputImage::PixelType> > -class ITK_EXPORT RAndNIRIndexImageFilter : public itk::BinaryFunctorImageFilter<TInputImageR, TInputImageNIR, - TOutputImage, TFunction> -{ -public: - - /** Standard typedefs */ - typedef RAndNIRIndexImageFilter Self; - typedef itk::BinaryFunctorImageFilter<TInputImageR, TInputImageNIR, TOutputImage, TFunction> Superclass; - typedef itk::SmartPointer<Self> Pointer; - typedef itk::SmartPointer<const Self> ConstPointer; - - /** Type macro */ - itkNewMacro(Self); - - /** Creation through object factory macro */ - itkTypeMacro(RAndNIRIndexImageFilter, BinaryFunctorImageFilter); - - void SetInputR(const TInputImageR * image1); - void SetInputNIR(const TInputImageNIR * image2); - - /** Template parameters typedefs */ - typedef typename Superclass::Input1ImageType RInputImageType; - typedef typename Superclass::Input1ImagePointer RInputImagePointer; - typedef typename Superclass::Input2ImageType NIRInputImageType; - typedef typename Superclass::Input2ImagePointer NIRInputImagePointer; - typedef typename Superclass::OutputImageType OutputImageType; - typedef typename Superclass::OutputImagePointer OutputImagePointer; - typedef typename Superclass::FunctorType FunctorType; - typedef typename Superclass::OutputImageRegionType OutputImageRegionType; - -protected: - RAndNIRIndexImageFilter(); - ~RAndNIRIndexImageFilter() override {} - - void PrintSelf(std::ostream& os, itk::Indent indent) const override; - - /* void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, - itk::ThreadIdType threadId ); - */ -private: - RAndNIRIndexImageFilter(const Self &) = delete; - void operator =(const Self&) = delete; - -}; - -} // end namespace otb - -#ifndef OTB_MANUAL_INSTANTIATION -#include "otbRAndNIRIndexImageFilter.hxx" -#endif - -#endif diff --git a/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.hxx b/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.hxx deleted file mode 100644 index 4b9adcae8c..0000000000 --- a/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.hxx +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 otbRAndNIRIndexImageFilter_hxx -#define otbRAndNIRIndexImageFilter_hxx - -#include "otbRAndNIRIndexImageFilter.h" -#include "itkImageRegionIterator.h" -#include "itkProgressReporter.h" - -namespace otb -{ - -/** - * Constructor - */ -template <class TInputImageR, class TInputImageNIR, - class TOutputImage, class TFunction> -RAndNIRIndexImageFilter<TInputImageR, TInputImageNIR, TOutputImage, TFunction> -::RAndNIRIndexImageFilter() -{ -} - -/** - * Connect one of the operands for pixel-wise addition - */ -template <class TInputImageR, class TInputImageNIR, - class TOutputImage, class TFunction> -void -RAndNIRIndexImageFilter<TInputImageR, TInputImageNIR, TOutputImage, TFunction> -::SetInputR(const TInputImageR * image1) -{ - // Process object is not const-correct so the const casting is required. - this->SetInput1(image1); -} - -/** - * Connect one of the operands for pixel-wise addition - */ -template <class TInputImageR, class TInputImageNIR, - class TOutputImage, class TFunction> -void -RAndNIRIndexImageFilter<TInputImageR, TInputImageNIR, TOutputImage, TFunction> -::SetInputNIR(const TInputImageNIR * image2) -{ - // Process object is not const-correct so the const casting is required. -// SetNthInput(1, const_cast<TInputImageNIR *>( image2 )); - this->SetInput2(image2); -} - -/** - * ThreadedGenerateData Performs the pixel-wise addition - */ -/* -template <class TInputImageR, class TInputImageNIR, class TOutputImage, class TFunction > -void -RAndNIRIndexImageFilter<TInputImageR, TInputImageNIR, TOutputImage, TFunction> -::ThreadedGenerateData( const OutputImageRegionType &outputRegionForThread, - itk::ThreadIdType threadId) -{ - - // We use dynamic_cast since inputs are stored as DataObjects. The - // ImageToImageFilter::GetInput(int) always returns a pointer to a - // TInputImageR so it cannot be used for the second input. - RInputImagePointer inputPtr1 - = dynamic_cast<const TInputImageR*>(itk::ProcessObject::GetInput(0)); - NIRInputImagePointer inputPtr2 - = dynamic_cast<const TInputImageNIR*>(itk::ProcessObject::GetInput(1)); - OutputImagePointer outputPtr = this->GetOutput(0); - - itk::ImageRegionConstIterator<TInputImageR> inputItR(inputPtr1, outputRegionForThread); - itk::ImageRegionConstIterator<TInputImageNIR> inputItNIR(inputPtr2, outputRegionForThread); - - itk::ImageRegionIterator<TOutputImage> outputIt(outputPtr, outputRegionForThread); - - itk::ProgressReporter progress(this, threadId, outputRegionForThread.GetNumberOfPixels()); - - inputItR.GoToBegin(); - inputItNIR.GoToBegin(); - outputIt.GoToBegin(); - - while( !inputItR.IsAtEnd() ) - { - outputIt.Set( this->GetFunctor()( inputItR.Get(), inputItNIR.Get() ) ); - ++inputItNIR; - ++inputItR; - ++outputIt; - progress.CompletedPixel(); // potential exception thrown here - } - -} -*/ -template <class TInputImageR, class TInputImageNIR, class TOutputImage, class TFunction> -void -RAndNIRIndexImageFilter<TInputImageR, TInputImageNIR, TOutputImage, TFunction> -::PrintSelf(std::ostream& os, itk::Indent indent) const -{ - Superclass::PrintSelf(os, indent); -} - -} - -#endif diff --git a/Modules/Radiometry/Indices/test/CMakeLists.txt b/Modules/Radiometry/Indices/test/CMakeLists.txt index 4f73a2aff0..578af53a9b 100644 --- a/Modules/Radiometry/Indices/test/CMakeLists.txt +++ b/Modules/Radiometry/Indices/test/CMakeLists.txt @@ -22,52 +22,28 @@ otb_module_test() set(OTBIndicesTests otbIndicesTestDriver.cxx -otbAVIMultiChannelRAndGAndNIRVegetationIndexImageFilter.cxx otbNDVIDataNodeFeatureFunction.cxx otbLandsatTMIndexNDSITest.cxx otbLandsatTMIndexBIOTest.cxx otbLAIFromReflectancesLinearFunctorTest.cxx -otbSetASetBMultiChannelRAndNIRVegetationIndexImageFilter.cxx -otbWDVIRAndNIRVegetationIndexImageFilter.cxx -otbGAndRIndexImageFilter.cxx -otbRAndBAndNIRVegetationIndexImageFilter.cxx -otbIBMultiChannelGAndRAndNIRIndexImageFilter.cxx otbLandsatTMIndexMIR2Test.cxx otbLandsatTMIndexNDVITest.cxx -otbISURAndNIRIndexImageFilter.cxx otbLAIFromNDVILogarithmicFunctorTest.cxx -otbMultiChannelRAndNIRVegetationIndexImageFilter.cxx otbLandsatTMIndexVisTest.cxx otbWaterSqrtSpectralAngleImageFilter.cxx otbLandsatTMIndexBrightTest.cxx -otbMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx otbLandsatTMBrightTest.cxx otbLandsatTMThinCloudTest.cxx -otbISUMultiChannelRAndNIRIndexImageFilter.cxx -otbAVIRAndGAndNIRVegetationIndexImageFilter.cxx -otbMultiChannelGAndRIndexImageFilter.cxx otbLandsatTMIndexMIRTIRTest.cxx otbLandsatTMIndexMIR1Test.cxx -otbRAndNIRVegetationIndexImageFilter.cxx otbLandsatTMVegetationTest.cxx -otbEVIRAndBAndNIRVegetationIndexImageFilter.cxx -otbNDBITM4AndTM5IndexImageFilter.cxx otbLandsatTMIndexNDBBBITest.cxx -otbIBGAndRAndNIRIndexImageFilter.cxx -otbEVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx -otbNDBIMultiChannelTM4AndTM5IndexImageFilter.cxx -otbNDWIWaterIndexImageFilter.cxx otbLandsatTMIndexTIRTest.cxx -otbTSARVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx otbLandsatTMLinguisticLabelsTest.cxx -otbNDWIMultiChannelWaterIndexImageFilter.cxx -otbWDVIMultiChannelRAndNIRVegetationIndexImageFilter.cxx otbLandsatTMIndexNDSIVisTest.cxx otbLandsatTMIndexNIRTest.cxx -otbSetASetBRAndNIRVegetationIndexImageFilter.cxx otbLandsatTMKernelSpectralRules.cxx otbLandsatTMIndexNDBSITest.cxx -otbTSARVIRAndBAndNIRVegetationIndexImageFilter.cxx otbLandsatTMThickCloudTest.cxx ) @@ -77,20 +53,6 @@ otb_module_target_label(otbIndicesTestDriver) # Tests Declaration -otb_add_test(NAME raTvAVI_MultiChannelRAndGAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raMultiChannelRAndGAndNIRVegetationIndex_AVI_qb_RoadExtract.tif - ${TEMP}/raMultiChannelRAndGAndNIRVegetationIndex_AVI_qb_RoadExtract.tif - otbAVIMultiChannelRAndGAndNIRVegetationIndexImageFilter - ${INPUTDATA}/qb_RoadExtract2sub200x200.tif - ${TEMP}/raMultiChannelRAndGAndNIRVegetationIndex_AVI_qb_RoadExtract.tif - 3 # red - 2 # green - 4 # nir - 660. # lambda r - 560. # lambda g - 830. # lambda nir - ) - otb_add_test(NAME bfTvNDVIDataNodeFeatureFunction_Polygon COMMAND otbIndicesTestDriver --compare-ogr ${NOTOL} ${BASELINE_FILES}/bfTvNDVIDataNodeFeatureFunctionOutput_Polygon.shp @@ -148,79 +110,6 @@ otb_add_test(NAME raTvLAIFromReflectancesLinearFunctorTest COMMAND otbIndicesTes 13 # nir coef ) -otb_add_test(NAME raTvPVI_MultiChannelRAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raMultiChannelRAndNIRVegetationIndex_PVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raMultiChannelRAndNIRVegetationIndex_PVI_verySmallFSATSWcRcNir.tif - otbSetASetBMultiChannelRAndNIRVegetationIndexImageFilter - PVI - 0.7 - 0.9 - ${INPUTDATA}/verySmallFSATSW.tif - ${TEMP}/raMultiChannelRAndNIRVegetationIndex_PVI_verySmallFSATSWcRcNir.tif - 3 4 - ) - -otb_add_test(NAME raTvWDVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRVegetationIndex_WDVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_WDVI_verySmallFSATSWcRcNir.tif - otbWDVIRAndNIRVegetationIndexImageFilter - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_WDVI_verySmallFSATSWcRcNir.tif - 2.0 # g : slope of soil line - ) - -otb_add_test(NAME raTvIR_GAndRIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raGAndRIndexImageFilter_IR_verySmallFSATSW.tif - ${TEMP}/raGAndRIndexImageFilter_IR_verySmallFSATSW.tif - otbGAndRIndexImageFilter - IR - ${INPUTDATA}/verySmallFSATSW_g.tif - ${INPUTDATA}/verySmallFSATSW_r.tif - ${TEMP}/raGAndRIndexImageFilter_IR_verySmallFSATSW.tif - ) - -otb_add_test(NAME raTvIB_GAndRIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raGAndRIndexImageFilter_IB_verySmallFSATSW.tif - ${TEMP}/raGAndRIndexImageFilter_IB_verySmallFSATSW.tif - otbGAndRIndexImageFilter - IB - ${INPUTDATA}/verySmallFSATSW_g.tif - ${INPUTDATA}/verySmallFSATSW_r.tif - ${TEMP}/raGAndRIndexImageFilter_IB_verySmallFSATSW.tif - ) - -otb_add_test(NAME raTvIC_GAndRIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raGAndRIndexImageFilter_IC_verySmallFSATSW.tif - ${TEMP}/raGAndRIndexImageFilter_IC_verySmallFSATSW.tif - otbGAndRIndexImageFilter - IC - ${INPUTDATA}/verySmallFSATSW_g.tif - ${INPUTDATA}/verySmallFSATSW_r.tif - ${TEMP}/raGAndRIndexImageFilter_IC_verySmallFSATSW.tif - ) - -otb_add_test(NAME raTvARVI_RAndBAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndBAndNIRVegetationIndex_ARVI_verySmallFSATSWcRcBcNir.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_ARVI_verySmallFSATSWcRcBcNir.tif - otbRAndBAndNIRVegetationIndexImageFilter - ARVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_b.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_ARVI_verySmallFSATSWcRcBcNir.tif - 0.6 # Gamma parameter - ) - -otb_add_test(NAME raTvIB2_MultiChannelGAndRIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_6} ${BASELINE}/raMultiChannelGAndRAndNIRIndex_IB2_Romania_Extract.tif - ${TEMP}/raMultiChannelGAndRAndNIRIndex_IB2_Romania_Extract.tif - otbIBMultiChannelGAndRAndNIRIndexImageFilter - ${INPUTDATA}/Romania_Extract.tif - ${TEMP}/raMultiChannelGAndRAndNIRIndex_IB2_Romania_Extract.tif - 2 1 3 - ) - otb_add_test(NAME raTvLandsatTMIndexMIR2Test COMMAND otbIndicesTestDriver otbLandsatTMIndexMIR2 3 #TM1 @@ -245,16 +134,6 @@ otb_add_test(NAME raTvLandsatTMIndexNDVITest COMMAND otbIndicesTestDriver 21 #TM7 ) -otb_add_test(NAME raTvISU_RAndNIRBuiltUpIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRBuiltUpIndex_ISU_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRBuiltUpIndex_ISU_verySmallFSATSWcRcNir.tif - otbISURAndNIRIndexImageFilter - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRBuiltUpIndex_ISU_verySmallFSATSWcRcNir.tif - 100. - 25. - ) otb_add_test(NAME raTvLAIFromNDVILogarithmicFunctorTest COMMAND otbIndicesTestDriver otbLAIFromNDVILogarithmic @@ -265,17 +144,6 @@ otb_add_test(NAME raTvLAIFromNDVILogarithmicFunctorTest COMMAND otbIndicesTestDr 0.70 # extinction coefficient ) -otb_add_test(NAME raTvLAIFromNDVIFormosat2_MultiChannelRAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_8} ${BASELINE}/raRAndNIRVegetationIndex_LAIFromNDVIFormosat2_verySmallFSATSWcRcNir.tif - ${TEMP}/raMultiChannelRAndNIRVegetationIndex_LAIFromNDVIFormosat2_verySmallFSATSWcRcNir.tif - otbMultiChannelRAndNIRVegetationIndexImageFilter - LAIFormosat2 - ${INPUTDATA}/verySmallFSATSW.tif - ${TEMP}/raMultiChannelRAndNIRVegetationIndex_LAIFromNDVIFormosat2_verySmallFSATSWcRcNir.tif - 1 - 4 - ) - otb_add_test(NAME raTvLandsatTMIndexVisTest COMMAND otbIndicesTestDriver otbLandsatTMIndexVis 3 #TM1 @@ -309,17 +177,6 @@ otb_add_test(NAME raTvLandsatTMIndexBrightTest COMMAND otbIndicesTestDriver 21 #TM7 ) -otb_add_test(NAME raTvARVI_MultiChannelRAndBAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raMultiChannelRAndBAndNIRVegetationIndex_ARVI_verySmallFSATSWcRcBcNir.tif - ${TEMP}/raMultiChannelRAndBAndNIRVegetationIndex_ARVI_verySmallFSATSWcRcBcNir.tif - otbMultiChannelRAndBAndNIRVegetationIndexImageFilter - ARVI - ${INPUTDATA}/verySmallFSATSW.tif - ${TEMP}/raMultiChannelRAndBAndNIRVegetationIndex_ARVI_verySmallFSATSWcRcBcNir.tif - 3 1 4 - 0.6 # Gamma parameter - ) - otb_add_test(NAME raTvLandsatTMBrightTest COMMAND otbIndicesTestDriver otbLandsatTMBrightTest ${INPUTDATA}/L5Strip.tif @@ -332,59 +189,6 @@ otb_add_test(NAME raTvLandsatTMThinCloudTest COMMAND otbIndicesTestDriver ${TEMP}/raTvLandsatTMThinCloudTest_cloudImage.tif ) -otb_add_test(NAME raTvISU_MultiChannelRAndNIRBuiltUpIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRBuiltUpIndex_ISU_qb_RoadExtract.tif - ${TEMP}/raRAndNIRBuiltUpIndex_ISU_qb_RoadExtract.tif - otbISUMultiChannelRAndNIRIndexImageFilter - ${INPUTDATA}/qb_RoadExtract2sub200x200.tif - ${TEMP}/raRAndNIRBuiltUpIndex_ISU_qb_RoadExtract.tif - 3 4 # red nir channels - 100. - 25. - ) - -otb_add_test(NAME raTvAVI_RAndGAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndGAndNIRVegetationIndex_AVI_verySmallFSATSWcRcGcNir.tif - ${TEMP}/raRAndGAndNIRVegetationIndex_AVI_verySmallFSATSWcRcGcNir.tif - otbAVIRAndGAndNIRVegetationIndexImageFilter - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_g.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndGAndNIRVegetationIndex_AVI_verySmallFSATSWcRcGcNir.tif - 660. # lambda r - 560. # lambda g - 830. # lambda nir - ) - -otb_add_test(NAME raTvIB_MultiChannelGAndRIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_10} ${BASELINE}/raMultiChannelGAndRIndex_IB_Romania_Extract.tif - ${TEMP}/raMultiChannelGAndRIndex_IB_Romania_Extract.tif - otbMultiChannelGAndRIndexImageFilter - IB - ${INPUTDATA}/Romania_Extract.tif - ${TEMP}/raMultiChannelGAndRIndex_IB_Romania_Extract.tif - 1 2 - ) - -otb_add_test(NAME raTvIR_MultiChannelGAndRIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_10} ${BASELINE}/raMultiChannelGAndRIndex_IR_Romania_Extract.tif - ${TEMP}/raMultiChannelGAndRIndex_IR_Romania_Extract.tif - otbMultiChannelGAndRIndexImageFilter - IR - ${INPUTDATA}/Romania_Extract.tif - ${TEMP}/raMultiChannelGAndRIndex_IR_Romania_Extract.tif - 1 2 - ) - -otb_add_test(NAME raTvIC_MultiChannelGAndRIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${NOTOL} ${BASELINE}/raMultiChannelGAndRIndex_IC_Romania_Extract.tif - ${TEMP}/raMultiChannelGAndRIndex_IC_Romania_Extract.tif - otbMultiChannelGAndRIndexImageFilter - IC - ${INPUTDATA}/Romania_Extract.tif - ${TEMP}/raMultiChannelGAndRIndex_IC_Romania_Extract.tif - 1 2 - ) otb_add_test(NAME raTvLandsatTMIndexMIRTIRTest COMMAND otbIndicesTestDriver otbLandsatTMIndexMIRTIR @@ -410,105 +214,6 @@ otb_add_test(NAME raTvLandsatTMIndexMIR1Test COMMAND otbIndicesTestDriver 21 #TM7 ) -otb_add_test(NAME raTvMSAVI2_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_8} ${BASELINE}/raRAndNIRVegetationIndex_MSAVI2_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_MSAVI2_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - MSAVI2 - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_MSAVI2_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvRVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${NOTOL} ${BASELINE}/raRAndNIRVegetationIndex_RVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_RVI_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - RVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_RVI_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvMSAVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_8} ${BASELINE}/raRAndNIRVegetationIndex_MSAVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_MSAVI_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - MSAVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_MSAVI_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvNDVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${NOTOL} ${BASELINE}/raRAndNIRVegetationIndex_NDVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_NDVI_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - NDVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_NDVI_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvTSAVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRVegetationIndex_TSAVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_TSAVI_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - TSAVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_TSAVI_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvIPVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRVegetationIndex_IPVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_IPVI_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - IPVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_IPVI_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvTNDVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRVegetationIndex_TNDVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_TNDVI_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - TNDVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_TNDVI_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvSAVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${NOTOL} ${BASELINE}/raRAndNIRVegetationIndex_SAVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_SAVI_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - SAVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_SAVI_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvLAIFromNDVIFormosat2_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRVegetationIndex_LAIFromNDVIFormosat2_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_LAIFromNDVIFormosat2_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - LAIFormosat2 - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_LAIFromNDVIFormosat2_verySmallFSATSWcRcNir.tif - ) - -otb_add_test(NAME raTvGEMI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRVegetationIndex_GEMI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_GEMI_verySmallFSATSWcRcNir.tif - otbRAndNIRVegetationIndexImageFilter - GEMI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_GEMI_verySmallFSATSWcRcNir.tif - ) otb_add_test(NAME raTvLandsatTMVegetationTest COMMAND otbIndicesTestDriver otbLandsatTMVegetationTest @@ -516,30 +221,6 @@ otb_add_test(NAME raTvLandsatTMVegetationTest COMMAND otbIndicesTestDriver ${TEMP}/raTvLandsatTMVegetationTest_Image.tif ) -otb_add_test(NAME raTvEVI_RAndBAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndBAndNIRVegetationIndex_EVI_verySmallFSATSWcRcBcNir.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_EVI_verySmallFSATSWcRcBcNir.tif - otbEVIRAndBAndNIRVegetationIndexImageFilter - EVI - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_b.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_EVI_verySmallFSATSWcRcBcNir.tif - 2.5 - 6.0 - 7.5 - 1.0 - ) - -otb_add_test(NAME raTvNDBI_TM4AndTM5BuiltUpIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raTM4AndTM5BuiltUpIndex_NDBI_verySmallFSATSW.tif - ${TEMP}/raTM4AndTM5BuiltUpIndex_NDBI_verySmallFSATSW.tif - otbNDBITM4AndTM5IndexImageFilter - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raTM4AndTM5BuiltUpIndex_NDBI_verySmallFSATSW.tif - ) - otb_add_test(NAME raTvLandsatTMIndexNDBBBITest COMMAND otbIndicesTestDriver otbLandsatTMIndexNDBBBI 3 #TM1 @@ -552,51 +233,6 @@ otb_add_test(NAME raTvLandsatTMIndexNDBBBITest COMMAND otbIndicesTestDriver 21 #TM7 ) -otb_add_test(NAME raTvIB2_GAndRAndNIRIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raGAndRAndNIRIndexImageFilter_IB2_verySmallFSATSW.tif - ${TEMP}/raGAndRAndNIRIndexImageFilter_IB2_verySmallFSATSW.tif - otbIBGAndRAndNIRIndexImageFilter - ${INPUTDATA}/verySmallFSATSW_g.tif - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raGAndRAndNIRIndexImageFilter_IB2_verySmallFSATSW.tif - ) - -otb_add_test(NAME raTvEVI_MultiChannelRAndBAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndBAndNIRVegetationIndex_EVI_qb_RoadExtract.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_EVI_qb_RoadExtract.tif - otbEVIMultiChannelRAndBAndNIRVegetationIndexImageFilter - EVI - ${INPUTDATA}/qb_RoadExtract2sub200x200.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_EVI_qb_RoadExtract.tif - 3 # red - 1 # blue - 4 # nir - 10.0 # gain factor - 30.0 # coefficient of the aerosol resistance term - 7.5 # coefficient of the aerosol resistance term - 400.0 # canopy background adjustment - ) - -otb_add_test(NAME raTvNDBI_MultiChannelTM4AndTM5BuiltUpIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raTM4AndTM5BuiltUpIndex_NDBI_qb_RoadExtract.tif - ${TEMP}/raTM4AndTM5BuiltUpIndex_NDBI_qb_RoadExtract.tif - otbNDBIMultiChannelTM4AndTM5IndexImageFilter - ${INPUTDATA}/qb_RoadExtract2sub200x200.tif - ${TEMP}/raTM4AndTM5BuiltUpIndex_NDBI_qb_RoadExtract.tif - 3 # red - 4 # nir - ) - -otb_add_test(NAME raTvNDWI_WaterIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raWaterIndex_NDWI_verySmallFSATSW.tif - ${TEMP}/raWaterIndex_NDWI_verySmallFSATSW.tif - otbNDWIWaterIndexImageFilter - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raWaterIndex_NDWI_verySmallFSATSW.tif - ) - otb_add_test(NAME raTvLandsatTMIndexTIRTest COMMAND otbIndicesTestDriver otbLandsatTMIndexTIR 3 #TM1 @@ -609,21 +245,6 @@ otb_add_test(NAME raTvLandsatTMIndexTIRTest COMMAND otbIndicesTestDriver 21 #TM7 ) -otb_add_test(NAME raTvTSARVI_MultiChannelRAndBAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndBAndNIRVegetationIndex_TSARVI_qb_RoadExtract.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_TSARVI_qb_RoadExtract.tif - otbTSARVIMultiChannelRAndBAndNIRVegetationIndexImageFilter - ${INPUTDATA}/qb_RoadExtract2sub200x200.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_TSARVI_qb_RoadExtract.tif - 3 # red - 1 # blue - 4 # nir - 0.7 # a ( pente de la droite des sols nus dans l'espace RB/PIR ) - 0.9 # b ( ordonnee a l'origine de la droite des sols nus dans l'espace RB/PIR ) - 0.08 # x coeff a priori constant - 0.5 # gamma - ) - otb_add_test(NAME raTvLandsatTMLinguisticLabelsTest COMMAND otbIndicesTestDriver otbLandsatTMLinguisticLabels 3 #TM1 @@ -648,26 +269,6 @@ otb_add_test(NAME raTvLandsatTMLinguisticLabelsTest2 COMMAND otbIndicesTestDrive 51 #TM7 ) -otb_add_test(NAME raTvNDWI_MultiChannelWaterIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raMultiChannelWaterIndex_NDWI_qb_RoadExtract.tif - ${TEMP}/raMultiChannelWaterIndex_NDWI_qb_RoadExtract.tif - otbNDWIMultiChannelWaterIndexImageFilter - ${INPUTDATA}/qb_RoadExtract2sub200x200.tif - ${TEMP}/raMultiChannelWaterIndex_NDWI_qb_RoadExtract.tif - 3 4 # mir nir channels - ) - -otb_add_test(NAME raTvWDVI_MultiChannelRAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRVegetationIndex_WDVI_qb_RoadExtract.tif - ${TEMP}/raRAndNIRVegetationIndex_WDVI_qb_RoadExtract.tif - otbWDVIMultiChannelRAndNIRVegetationIndexImageFilter - ${INPUTDATA}/qb_RoadExtract2sub200x200.tif - ${TEMP}/raRAndNIRVegetationIndex_WDVI_qb_RoadExtract.tif - 3 # red - 4 # nir - 2.0 # g : slope of soil line - ) - otb_add_test(NAME raTvLandsatTMIndexNDSIVisTest COMMAND otbIndicesTestDriver otbLandsatTMIndexNDSIVis 3 #TM1 @@ -692,18 +293,6 @@ otb_add_test(NAME raTvLandsatTMIndexNIRTest COMMAND otbIndicesTestDriver 21 #TM7 ) -otb_add_test(NAME raTvPVI_RAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndNIRVegetationIndex_PVI_verySmallFSATSWcRcNir.tif - ${TEMP}/raRAndNIRVegetationIndex_PVI_verySmallFSATSWcRcNir.tif - otbSetASetBRAndNIRVegetationIndexImageFilter - PVI - 0.7 - 0.9 - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndNIRVegetationIndex_PVI_verySmallFSATSWcRcNir.tif - ) - otb_add_test(NAME raTvLandsatTMKernelSpectralRulesTest2 COMMAND otbIndicesTestDriver otbLandsatTMKernelSpectralRules 49 #TM1 @@ -745,20 +334,6 @@ otb_add_test(NAME raTvLandsatTMIndexNDBSITest COMMAND otbIndicesTestDriver 21 #TM7 ) -otb_add_test(NAME raTvTSARVI_RAndBAndNIRVegetationIndexImageFilter COMMAND otbIndicesTestDriver - --compare-image ${EPSILON_12} ${BASELINE}/raRAndBAndNIRVegetationIndex_TSARVI_verySmallFSATSWcRcBcNir.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_TSARVI_verySmallFSATSWcRcBcNir.tif - otbTSARVIRAndBAndNIRVegetationIndexImageFilter - ${INPUTDATA}/verySmallFSATSW_r.tif - ${INPUTDATA}/verySmallFSATSW_b.tif - ${INPUTDATA}/verySmallFSATSW_nir.tif - ${TEMP}/raRAndBAndNIRVegetationIndex_TSARVI_verySmallFSATSWcRcBcNir.tif - 0.7 # a ( pente de la droite des sols nus dans l'espace RB/PIR ) - 0.9 # b ( ordonnee a l'origine de la droite des sols nus dans l'espace RB/PIR ) - 0.08 # x coeff a priori constant - 0.5 # gamma - ) - otb_add_test(NAME raTvLandsatTMThickCloudTest COMMAND otbIndicesTestDriver otbLandsatTMThickCloudTest ${INPUTDATA}/L5Strip.tif diff --git a/Modules/Radiometry/Indices/test/otbAVIMultiChannelRAndGAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbAVIMultiChannelRAndGAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index 855750463d..0000000000 --- a/Modules/Radiometry/Indices/test/otbAVIMultiChannelRAndGAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndGAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -int otbAVIMultiChannelRAndGAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - typedef otb::ImageFileReader<InputImageType> ReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - typedef otb::Functor::AVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> FunctorType; - typedef otb::MultiChannelRAndGAndNIRIndexImageFilter<InputImageType, OutputImageType, FunctorType> - MultiChannelRAndGAndNIRIndexImageFilterType; - - // Instantiating object - MultiChannelRAndGAndNIRIndexImageFilterType::Pointer filter = MultiChannelRAndGAndNIRIndexImageFilterType::New(); - ReaderType::Pointer reader = ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - - unsigned int redChannel(::atoi(argv[3])); - unsigned int greenChannel(::atoi(argv[4])); - unsigned int nirChannel(::atoi(argv[5])); - - double lg(::atof(argv[6])); - double lr(::atof(argv[7])); - double lnir(::atof(argv[8])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetRedIndex(redChannel); - filter->SetGreenIndex(greenChannel); - filter->SetNIRIndex(nirChannel); - filter->SetInput(reader->GetOutput()); - - filter->GetFunctor().SetLambdaG(lg); - filter->GetFunctor().SetLambdaR(lr); - filter->GetFunctor().SetLambdaNir(lnir); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbAVIRAndGAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbAVIRAndGAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index 5a1c4a2cf9..0000000000 --- a/Modules/Radiometry/Indices/test/otbAVIRAndGAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndGAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -int otbAVIRAndGAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputGImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - typedef otb::ImageFileReader<InputRImageType> RReaderType; - typedef otb::ImageFileReader<InputGImageType> GReaderType; - typedef otb::ImageFileReader<InputNIRImageType> NIRReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - - typedef otb::Functor::AVI<InputRImageType::PixelType, - InputGImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> FunctorType; - - typedef otb::RAndGAndNIRIndexImageFilter<InputRImageType, - InputGImageType, - InputNIRImageType, - OutputImageType, - FunctorType> RAndGAndNIRIndexImageFilterType; - - // Instantiating object - RAndGAndNIRIndexImageFilterType::Pointer filter = RAndGAndNIRIndexImageFilterType::New(); - RReaderType::Pointer readerR = RReaderType::New(); - GReaderType::Pointer readerG = GReaderType::New(); - NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameR = argv[1]; - const char * inputFilenameG = argv[2]; - const char * inputFilenameNIR = argv[3]; - const char * outputFilename = argv[4]; - - double lg(::atof(argv[5])); - double lr(::atof(argv[6])); - double lnir(::atof(argv[7])); - - readerR->SetFileName(inputFilenameR); - readerG->SetFileName(inputFilenameG); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputG(readerG->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - - filter->GetFunctor().SetLambdaR(lr); - filter->GetFunctor().SetLambdaG(lg); - filter->GetFunctor().SetLambdaNir(lnir); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbEVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbEVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index 96b4befa62..0000000000 --- a/Modules/Radiometry/Indices/test/otbEVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndBAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputImage, class TOutputImage, class TFunction> -int generic_EVIMultiChannelRAndBAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputImage> ReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::MultiChannelRAndBAndNIRIndexImageFilter<TInputImage, TOutputImage, TFunction> - MultiChannelRAndBAndNIRIndexImageFilterType; - - // Instantiating object - typename MultiChannelRAndBAndNIRIndexImageFilterType::Pointer filter = - MultiChannelRAndBAndNIRIndexImageFilterType::New(); - typename ReaderType::Pointer reader = ReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - - unsigned int redChannel(::atoi(argv[3])); - unsigned int blueChannel(::atoi(argv[4])); - unsigned int nirChannel(::atoi(argv[5])); - - double g(::atof(argv[6])); - double c1(::atof(argv[7])); - double c2(::atof(argv[8])); - double l(::atof(argv[9])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetRedIndex(redChannel); - filter->SetBlueIndex(blueChannel); - filter->SetNIRIndex(nirChannel); - filter->SetInput(reader->GetOutput()); - filter->GetFunctor().SetG(g); - filter->GetFunctor().SetC1(c1); - filter->GetFunctor().SetC2(c2); - filter->GetFunctor().SetL(l); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} - -int otbEVIMultiChannelRAndBAndNIRVegetationIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "EVI") - return (generic_EVIMultiChannelRAndBAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::EVI<InputImageType:: - InternalPixelType, - InputImageType:: - InternalPixelType, - InputImageType:: - InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else return EXIT_FAILURE; - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbEVIRAndBAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbEVIRAndBAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index 67721d4810..0000000000 --- a/Modules/Radiometry/Indices/test/otbEVIRAndBAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndBAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputRImage, class TInputBImage, class TInputNIRImage, class TOutputImage, class TFunction> -int generic_EVIRAndBAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputRImage> RReaderType; - typedef otb::ImageFileReader<TInputBImage> BReaderType; - typedef otb::ImageFileReader<TInputNIRImage> NIRReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::RAndBAndNIRIndexImageFilter<TInputRImage, TInputBImage, TInputNIRImage, TOutputImage, TFunction> - RAndBAndNIRIndexImageFilterType; - - // Instantiating object - typename RAndBAndNIRIndexImageFilterType::Pointer filter = RAndBAndNIRIndexImageFilterType::New(); - typename RReaderType::Pointer readerR = RReaderType::New(); - typename BReaderType::Pointer readerB = BReaderType::New(); - typename NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameR = argv[1]; - const char * inputFilenameB = argv[2]; - const char * inputFilenameNIR = argv[3]; - const char * outputFilename = argv[4]; - double g(::atof(argv[5])); - double c1(::atof(argv[6])); - double c2(::atof(argv[7])); - double l(::atof(argv[8])); - - readerR->SetFileName(inputFilenameR); - readerB->SetFileName(inputFilenameB); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputB(readerB->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - - filter->GetFunctor().SetG(g); - filter->GetFunctor().SetC1(c1); - filter->GetFunctor().SetC2(c2); - filter->GetFunctor().SetL(l); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} - -int otbEVIRAndBAndNIRVegetationIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputBImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "EVI") - return (generic_EVIRAndBAndNIRVegetationIndexImageFilter<InputRImageType, InputBImageType, InputNIRImageType, - OutputImageType, - otb::Functor::EVI<InputRImageType::PixelType, - InputBImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else return EXIT_FAILURE; - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbGAndRIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbGAndRIndexImageFilter.cxx deleted file mode 100644 index 6451c4c5b3..0000000000 --- a/Modules/Radiometry/Indices/test/otbGAndRIndexImageFilter.cxx +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbGAndRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputGImage, class TInputRImage, class TOutputImage, class TFunction> -int generic_GAndRIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputGImage> GReaderType; - typedef otb::ImageFileReader<TInputRImage> RReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::GAndRIndexImageFilter<TInputGImage, TInputRImage, TOutputImage, TFunction> - GAndRIndexImageFilterType; - - // Instantiating object - typename GAndRIndexImageFilterType::Pointer filter = GAndRIndexImageFilterType::New(); - typename GReaderType::Pointer readerG = GReaderType::New(); - typename RReaderType::Pointer readerR = RReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameG = argv[1]; - const char * inputFilenameR = argv[2]; - const char * outputFilename = argv[3]; - - readerG->SetFileName(inputFilenameG); - readerR->SetFileName(inputFilenameR); - writer->SetFileName(outputFilename); - filter->SetInputG(readerG->GetOutput()); - filter->SetInputR(readerR->GetOutput()); - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} - -int otbGAndRIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef unsigned char PixelType; - typedef otb::Image<PixelType, Dimension> InputGImageType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "IR") - return (generic_GAndRIndexImageFilter<InputGImageType, InputRImageType, OutputImageType, - otb::Functor::IR<InputRImageType::PixelType, - InputRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "IC") - return (generic_GAndRIndexImageFilter<InputGImageType, InputRImageType, OutputImageType, - otb::Functor::IC<InputGImageType::PixelType, - InputRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "IB") - return (generic_GAndRIndexImageFilter<InputGImageType, InputRImageType, OutputImageType, - otb::Functor::IB<InputGImageType::PixelType, - InputRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else return EXIT_FAILURE; - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbIBGAndRAndNIRIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbIBGAndRAndNIRIndexImageFilter.cxx deleted file mode 100644 index fb2af1e80b..0000000000 --- a/Modules/Radiometry/Indices/test/otbIBGAndRAndNIRIndexImageFilter.cxx +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndGAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbSoilIndicesFunctor.h" - -int otbIBGAndRAndNIRIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputGImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - typedef otb::ImageFileReader<InputRImageType> RReaderType; - typedef otb::ImageFileReader<InputGImageType> GReaderType; - typedef otb::ImageFileReader<InputNIRImageType> NIRReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - - typedef otb::Functor::IB2<InputGImageType::PixelType, - InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> FunctorType; - - // Warning : the order of the channels are not the same between the functor and the filter - typedef otb::RAndGAndNIRIndexImageFilter<InputRImageType, - InputGImageType, - InputNIRImageType, - OutputImageType, - FunctorType> RAndGAndNIRIndexImageFilterType; - - // Instantiating object - RAndGAndNIRIndexImageFilterType::Pointer filter = RAndGAndNIRIndexImageFilterType::New(); - RReaderType::Pointer readerR = RReaderType::New(); - GReaderType::Pointer readerG = GReaderType::New(); - NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameR = argv[1]; - const char * inputFilenameG = argv[2]; - const char * inputFilenameNIR = argv[3]; - const char * outputFilename = argv[4]; - - readerR->SetFileName(inputFilenameR); - readerG->SetFileName(inputFilenameG); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputG(readerG->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbIBMultiChannelGAndRAndNIRIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbIBMultiChannelGAndRAndNIRIndexImageFilter.cxx deleted file mode 100644 index d930a7d70b..0000000000 --- a/Modules/Radiometry/Indices/test/otbIBMultiChannelGAndRAndNIRIndexImageFilter.cxx +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndGAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbSoilIndicesFunctor.h" - -int otbIBMultiChannelGAndRAndNIRIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - typedef otb::ImageFileReader<InputImageType> ReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - typedef otb::Functor::IB2<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> FunctorType; - - // Warning : the order of the channels are not the same between the functor and the filter - typedef otb::MultiChannelRAndGAndNIRIndexImageFilter<InputImageType, OutputImageType, FunctorType> - MultiChannelRAndGAndNIRIndexImageFilterType; - - // Instantiating object - MultiChannelRAndGAndNIRIndexImageFilterType::Pointer filter = MultiChannelRAndGAndNIRIndexImageFilterType::New(); - ReaderType::Pointer reader = ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - - unsigned int redChannel(::atoi(argv[3])); - unsigned int greenChannel(::atoi(argv[4])); - unsigned int nirChannel(::atoi(argv[5])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetRedIndex(redChannel); - filter->SetGreenIndex(greenChannel); - filter->SetNIRIndex(nirChannel); - filter->SetInput(reader->GetOutput()); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbISUMultiChannelRAndNIRIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbISUMultiChannelRAndNIRIndexImageFilter.cxx deleted file mode 100644 index 3628380d29..0000000000 --- a/Modules/Radiometry/Indices/test/otbISUMultiChannelRAndNIRIndexImageFilter.cxx +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbBuiltUpIndicesFunctor.h" - -int otbISUMultiChannelRAndNIRIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - typedef otb::ImageFileReader<InputImageType> ReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - typedef otb::Functor::ISU <InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> FunctorType; - typedef otb::MultiChannelRAndNIRIndexImageFilter<InputImageType, OutputImageType, FunctorType> - MultiChannelRAndNIRIndexImageFilterType; - - // Instantiating object - MultiChannelRAndNIRIndexImageFilterType::Pointer filter = MultiChannelRAndNIRIndexImageFilterType::New(); - ReaderType::Pointer reader = ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - - unsigned int redChannel(::atoi(argv[3])); - unsigned int nirChannel(::atoi(argv[4])); - - double a(::atof(argv[5])); - double b(::atof(argv[6])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetRedIndex(redChannel); - filter->SetNIRIndex(nirChannel); - filter->SetInput(reader->GetOutput()); - - filter->GetFunctor().SetA(a); - filter->GetFunctor().SetB(b); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbISURAndNIRIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbISURAndNIRIndexImageFilter.cxx deleted file mode 100644 index 9c6ed20e1b..0000000000 --- a/Modules/Radiometry/Indices/test/otbISURAndNIRIndexImageFilter.cxx +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbBuiltUpIndicesFunctor.h" - -int otbISURAndNIRIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - typedef otb::ImageFileReader<InputRImageType> RReaderType; - typedef otb::ImageFileReader<InputNIRImageType> NIRReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - - typedef otb::Functor::ISU <InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> FunctorType; - - typedef otb::RAndNIRIndexImageFilter<InputRImageType, - InputNIRImageType, - OutputImageType, - FunctorType> RAndNIRIndexImageFilterType; - - // Instantiating object - RAndNIRIndexImageFilterType::Pointer filter = RAndNIRIndexImageFilterType::New(); - RReaderType::Pointer readerR = RReaderType::New(); - NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameR = argv[1]; - const char * inputFilenameNIR = argv[2]; - const char * outputFilename = argv[3]; - - double a(::atof(argv[4])); - double b(::atof(argv[5])); - - readerR->SetFileName(inputFilenameR); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - - filter->GetFunctor().SetA(a); - filter->GetFunctor().SetB(b); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbIndicesTestDriver.cxx b/Modules/Radiometry/Indices/test/otbIndicesTestDriver.cxx index d542122fba..d0b41d61e7 100644 --- a/Modules/Radiometry/Indices/test/otbIndicesTestDriver.cxx +++ b/Modules/Radiometry/Indices/test/otbIndicesTestDriver.cxx @@ -22,52 +22,28 @@ void RegisterTests() { - REGISTER_TEST(otbAVIMultiChannelRAndGAndNIRVegetationIndexImageFilter); REGISTER_TEST(otbNDVIDataNodeFeatureFunction); REGISTER_TEST(otbLandsatTMIndexNDSI); REGISTER_TEST(otbLandsatTMIndexBIO); REGISTER_TEST(otbLAIFromReflectancesLinear); - REGISTER_TEST(otbSetASetBMultiChannelRAndNIRVegetationIndexImageFilter); - REGISTER_TEST(otbWDVIRAndNIRVegetationIndexImageFilter); - REGISTER_TEST(otbGAndRIndexImageFilter); - REGISTER_TEST(otbRAndBAndNIRVegetationIndexImageFilter); - REGISTER_TEST(otbIBMultiChannelGAndRAndNIRIndexImageFilter); REGISTER_TEST(otbLandsatTMIndexMIR2); REGISTER_TEST(otbLandsatTMIndexNDVI); - REGISTER_TEST(otbISURAndNIRIndexImageFilter); REGISTER_TEST(otbLAIFromNDVILogarithmic); - REGISTER_TEST(otbMultiChannelRAndNIRVegetationIndexImageFilter); REGISTER_TEST(otbLandsatTMIndexVis); REGISTER_TEST(otbWaterSqrtSpectralAngleImageFilter); REGISTER_TEST(otbLandsatTMIndexBright); - REGISTER_TEST(otbMultiChannelRAndBAndNIRVegetationIndexImageFilter); REGISTER_TEST(otbLandsatTMBrightTest); REGISTER_TEST(otbLandsatTMThinCloudTest); - REGISTER_TEST(otbISUMultiChannelRAndNIRIndexImageFilter); - REGISTER_TEST(otbAVIRAndGAndNIRVegetationIndexImageFilter); - REGISTER_TEST(otbMultiChannelGAndRIndexImageFilter); REGISTER_TEST(otbLandsatTMIndexMIRTIR); REGISTER_TEST(otbLandsatTMIndexMIR1); - REGISTER_TEST(otbRAndNIRVegetationIndexImageFilter); REGISTER_TEST(otbLandsatTMVegetationTest); - REGISTER_TEST(otbEVIRAndBAndNIRVegetationIndexImageFilter); - REGISTER_TEST(otbNDBITM4AndTM5IndexImageFilter); REGISTER_TEST(otbLandsatTMIndexNDBBBI); - REGISTER_TEST(otbIBGAndRAndNIRIndexImageFilter); - REGISTER_TEST(otbEVIMultiChannelRAndBAndNIRVegetationIndexImageFilter); - REGISTER_TEST(otbNDBIMultiChannelTM4AndTM5IndexImageFilter); - REGISTER_TEST(otbNDWIWaterIndexImageFilter); REGISTER_TEST(otbLandsatTMIndexTIR); - REGISTER_TEST(otbTSARVIMultiChannelRAndBAndNIRVegetationIndexImageFilter); REGISTER_TEST(otbLandsatTMLinguisticLabels); - REGISTER_TEST(otbNDWIMultiChannelWaterIndexImageFilter); - REGISTER_TEST(otbWDVIMultiChannelRAndNIRVegetationIndexImageFilter); REGISTER_TEST(otbLandsatTMIndexNDSIVis); REGISTER_TEST(otbLandsatTMIndexNIR); - REGISTER_TEST(otbSetASetBRAndNIRVegetationIndexImageFilter); REGISTER_TEST(otbLandsatTMKernelSpectralRules); REGISTER_TEST(otbLandsatTMKernelSpectralRulesWithImage); REGISTER_TEST(otbLandsatTMIndexNDBSI); - REGISTER_TEST(otbTSARVIRAndBAndNIRVegetationIndexImageFilter); REGISTER_TEST(otbLandsatTMThickCloudTest); } diff --git a/Modules/Radiometry/Indices/test/otbMultiChannelGAndRIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbMultiChannelGAndRIndexImageFilter.cxx deleted file mode 100644 index 64a1631329..0000000000 --- a/Modules/Radiometry/Indices/test/otbMultiChannelGAndRIndexImageFilter.cxx +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelGAndRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbVegetationIndicesFunctor.h" - -template<class TInputImage, class TOutputImage, class TFunction> -int generic_MultiChannelGAndRIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputImage> ReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::MultiChannelGAndRIndexImageFilter<TInputImage, TOutputImage, TFunction> - MultiChannelGAndRIndexImageFilterType; - - // Instantiating object - typename MultiChannelGAndRIndexImageFilterType::Pointer filter = MultiChannelGAndRIndexImageFilterType::New(); - typename ReaderType::Pointer reader = ReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - unsigned int greenChannel(::atoi(argv[3])); - unsigned int redChannel(::atoi(argv[4])); - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetGreenIndex(greenChannel); - filter->SetRedIndex(redChannel); - filter->SetInput(reader->GetOutput()); - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} - -int otbMultiChannelGAndRIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<unsigned char, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "IR") - return (generic_MultiChannelGAndRIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::IR<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "IC") - return (generic_MultiChannelGAndRIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::IC<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "IB") - return (generic_MultiChannelGAndRIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::IB<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else return EXIT_FAILURE; - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index dcee07faef..0000000000 --- a/Modules/Radiometry/Indices/test/otbMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndBAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputImage, class TOutputImage, class TFunction> -int generic_MultiChannelRAndBAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputImage> ReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::MultiChannelRAndBAndNIRIndexImageFilter<TInputImage, TOutputImage, TFunction> - MultiChannelRAndBAndNIRIndexImageFilterType; - - // Instantiating object - typename MultiChannelRAndBAndNIRIndexImageFilterType::Pointer filter = - MultiChannelRAndBAndNIRIndexImageFilterType::New(); - typename ReaderType::Pointer reader = ReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - unsigned int redChannel(::atoi(argv[3])); - unsigned int blueChannel(::atoi(argv[4])); - unsigned int nirChannel(::atoi(argv[5])); - double gamma(::atof(argv[6])); - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetRedIndex(redChannel); - filter->SetBlueIndex(blueChannel); - filter->SetNIRIndex(nirChannel); - filter->GetFunctor().SetGamma(gamma); - filter->SetInput(reader->GetOutput()); - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} - -int otbMultiChannelRAndBAndNIRVegetationIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "ARVI") - return (generic_MultiChannelRAndBAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::ARVI<InputImageType:: - InternalPixelType, - InputImageType:: - InternalPixelType, - InputImageType:: - InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else return EXIT_FAILURE; - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbMultiChannelRAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbMultiChannelRAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index 988d427f19..0000000000 --- a/Modules/Radiometry/Indices/test/otbMultiChannelRAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputImage, class TOutputImage, class TFunction> -int generic_MultiChannelRAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputImage> ReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::MultiChannelRAndNIRIndexImageFilter<TInputImage, TOutputImage, TFunction> - MultiChannelRAndNIRIndexImageFilterType; - - // Instantiating object - typename MultiChannelRAndNIRIndexImageFilterType::Pointer filter = MultiChannelRAndNIRIndexImageFilterType::New(); - typename ReaderType::Pointer reader = ReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - unsigned int redChannel(::atoi(argv[3])); - unsigned int nirChannel(::atoi(argv[4])); - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetRedIndex(redChannel); - filter->SetNIRIndex(nirChannel); - filter->SetInput(reader->GetOutput()); - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} - -int otbMultiChannelRAndNIRVegetationIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "NDVI") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::NDVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "RVI") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::RVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "SAVI") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::SAVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "TSAVI") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::TSAVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "MSAVI") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::MSAVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "MSAVI2") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::MSAVI2<InputImageType:: - InternalPixelType, - InputImageType:: - InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "GEMI") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::GEMI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "IPVI") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::IPVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "TNDVI") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::TNDVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "LAIFormosat2") - return (generic_MultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::LAIFromNDVIFormosat2Functor<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv)); - else return EXIT_FAILURE; - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbNDBIMultiChannelTM4AndTM5IndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbNDBIMultiChannelTM4AndTM5IndexImageFilter.cxx deleted file mode 100644 index 6306668239..0000000000 --- a/Modules/Radiometry/Indices/test/otbNDBIMultiChannelTM4AndTM5IndexImageFilter.cxx +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "itkUnaryFunctorImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbBuiltUpIndicesFunctor.h" - -int otbNDBIMultiChannelTM4AndTM5IndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - typedef otb::ImageFileReader<InputImageType> ReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - typedef otb::Functor::NDBI <InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> FunctorType; - - typedef itk::UnaryFunctorImageFilter<InputImageType, OutputImageType, FunctorType> - UnaryFunctorImageFilterType; - - // Instantiating object - UnaryFunctorImageFilterType::Pointer filter = UnaryFunctorImageFilterType::New(); - ReaderType::Pointer reader = ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - - unsigned int tm4Channel(::atoi(argv[3])); - unsigned int tm5Channel(::atoi(argv[4])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->GetFunctor().SetIndex1(tm4Channel); - filter->GetFunctor().SetIndex2(tm5Channel); - //filter->GetFunctor().SetTM5Index(tm5Channel); - //filter->GetFunctor().SetTM4Index(tm4Channel); - filter->SetInput(reader->GetOutput()); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbNDBITM4AndTM5IndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbNDBITM4AndTM5IndexImageFilter.cxx deleted file mode 100644 index f8b8a28ead..0000000000 --- a/Modules/Radiometry/Indices/test/otbNDBITM4AndTM5IndexImageFilter.cxx +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "itkBinaryFunctorImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbBuiltUpIndicesFunctor.h" - -int otbNDBITM4AndTM5IndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputTM4ImageType; - typedef otb::Image<PixelType, Dimension> InputTM5ImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - typedef otb::ImageFileReader<InputTM4ImageType> TM4ReaderType; - typedef otb::ImageFileReader<InputTM5ImageType> TM5ReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - - typedef otb::Functor::NDBI <InputTM4ImageType::PixelType, - InputTM5ImageType::PixelType, - OutputImageType::PixelType> FunctorType; - - typedef itk::BinaryFunctorImageFilter<InputTM4ImageType, - InputTM5ImageType, - OutputImageType, - FunctorType> BinaryFunctorImageFilterType; - - // Instantiating object - BinaryFunctorImageFilterType::Pointer filter = BinaryFunctorImageFilterType::New(); - TM4ReaderType::Pointer readerTM4 = TM4ReaderType::New(); - TM5ReaderType::Pointer readerTM5 = TM5ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameTM4 = argv[1]; - const char * inputFilenameTM5 = argv[2]; - const char * outputFilename = argv[3]; - - readerTM4->SetFileName(inputFilenameTM4); - readerTM5->SetFileName(inputFilenameTM5); - writer->SetFileName(outputFilename); - filter->SetInput1(readerTM4->GetOutput()); - filter->SetInput2(readerTM5->GetOutput()); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbNDWIMultiChannelWaterIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbNDWIMultiChannelWaterIndexImageFilter.cxx deleted file mode 100644 index 24e15d34b5..0000000000 --- a/Modules/Radiometry/Indices/test/otbNDWIMultiChannelWaterIndexImageFilter.cxx +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "itkUnaryFunctorImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbWaterIndicesFunctor.h" - -int otbNDWIMultiChannelWaterIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - typedef otb::ImageFileReader<InputImageType> ReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - typedef otb::Functor::NDWI <InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> FunctorType; - - typedef itk::UnaryFunctorImageFilter<InputImageType, OutputImageType, FunctorType> - UnaryFunctorImageFilterType; - - // Instantiating object - UnaryFunctorImageFilterType::Pointer filter = UnaryFunctorImageFilterType::New(); - ReaderType::Pointer reader = ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - - unsigned int nirChannel(::atoi(argv[3])); - unsigned int mirChannel(::atoi(argv[4])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->GetFunctor().SetNIRIndex(nirChannel); - filter->GetFunctor().SetMIRIndex(mirChannel); - filter->SetInput(reader->GetOutput()); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbNDWIWaterIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbNDWIWaterIndexImageFilter.cxx deleted file mode 100644 index 840ceca9e8..0000000000 --- a/Modules/Radiometry/Indices/test/otbNDWIWaterIndexImageFilter.cxx +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "itkBinaryFunctorImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" -#include "otbWaterIndicesFunctor.h" - -int otbNDWIWaterIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<PixelType, Dimension> InputMIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - typedef otb::ImageFileReader<InputNIRImageType> NIRReaderType; - typedef otb::ImageFileReader<InputMIRImageType> MIRReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - - typedef otb::Functor::NDWI <InputNIRImageType::PixelType, - InputMIRImageType::PixelType, - OutputImageType::PixelType> FunctorType; - - typedef itk::BinaryFunctorImageFilter<InputNIRImageType, - InputMIRImageType, - OutputImageType, - FunctorType> BinaryFunctorImageFilterType; - - // Instantiating object - BinaryFunctorImageFilterType::Pointer filter = BinaryFunctorImageFilterType::New(); - NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - MIRReaderType::Pointer readerMIR = MIRReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameNIR = argv[1]; - const char * inputFilenameMIR = argv[2]; - const char * outputFilename = argv[3]; - - readerNIR->SetFileName(inputFilenameNIR); - readerMIR->SetFileName(inputFilenameMIR); - writer->SetFileName(outputFilename); - filter->SetInput1(readerNIR->GetOutput()); - filter->SetInput2(readerMIR->GetOutput()); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbRAndBAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbRAndBAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index d77e6a45cc..0000000000 --- a/Modules/Radiometry/Indices/test/otbRAndBAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndBAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputRImage, class TInputBImage, class TInputNIRImage, class TOutputImage, class TFunction> -int generic_RAndBAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputRImage> RReaderType; - typedef otb::ImageFileReader<TInputBImage> BReaderType; - typedef otb::ImageFileReader<TInputNIRImage> NIRReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::RAndBAndNIRIndexImageFilter<TInputRImage, TInputBImage, TInputNIRImage, TOutputImage, TFunction> - RAndBAndNIRIndexImageFilterType; - - // Instantiating object - typename RAndBAndNIRIndexImageFilterType::Pointer filter = RAndBAndNIRIndexImageFilterType::New(); - typename RReaderType::Pointer readerR = RReaderType::New(); - typename BReaderType::Pointer readerB = BReaderType::New(); - typename NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameR = argv[1]; - const char * inputFilenameB = argv[2]; - const char * inputFilenameNIR = argv[3]; - const char * outputFilename = argv[4]; - double gamma(::atof(argv[5])); - - readerR->SetFileName(inputFilenameR); - readerB->SetFileName(inputFilenameB); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputB(readerB->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - filter->GetFunctor().SetGamma(gamma); - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} - -int otbRAndBAndNIRVegetationIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef unsigned char PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputBImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "ARVI") - return (generic_RAndBAndNIRVegetationIndexImageFilter<InputRImageType, InputBImageType, InputNIRImageType, - OutputImageType, - otb::Functor::ARVI<InputRImageType::PixelType, - InputBImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else return EXIT_FAILURE; - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbRAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbRAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index e517e59943..0000000000 --- a/Modules/Radiometry/Indices/test/otbRAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputRImage, class TInputNIRImage, class TOutputImage, class TFunction> -int generic_RAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputRImage> RReaderType; - typedef otb::ImageFileReader<TInputNIRImage> NIRReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::RAndNIRIndexImageFilter<TInputRImage, TInputNIRImage, TOutputImage, TFunction> - RAndNIRIndexImageFilterType; - - // Instantiating object - typename RAndNIRIndexImageFilterType::Pointer filter = RAndNIRIndexImageFilterType::New(); - typename RReaderType::Pointer readerR = RReaderType::New(); - typename NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameR = argv[1]; - const char * inputFilenameNIR = argv[2]; - const char * outputFilename = argv[3]; - - readerR->SetFileName(inputFilenameR); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} - -int otbRAndNIRVegetationIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "NDVI") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::NDVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "RVI") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::RVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "SAVI") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::SAVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "TSAVI") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::TSAVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "MSAVI") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::MSAVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "MSAVI2") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::MSAVI2<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "GEMI") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::GEMI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "IPVI") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::IPVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "TNDVI") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::TNDVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else if (strArgv == "LAIFormosat2") - return (generic_RAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::LAIFromNDVIFormosat2Functor<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv)); - else return EXIT_FAILURE; - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbSetASetBMultiChannelRAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbSetASetBMultiChannelRAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index ecab97f2b1..0000000000 --- a/Modules/Radiometry/Indices/test/otbSetASetBMultiChannelRAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputImage, class TOutputImage, class TFunction> -void generic_SetASetBMultiChannelRAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputImage> ReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::MultiChannelRAndNIRIndexImageFilter<TInputImage, TOutputImage, TFunction> - MultiChannelRAndNIRIndexImageFilterType; - - // Instantiating object - typename MultiChannelRAndNIRIndexImageFilterType::Pointer filter = MultiChannelRAndNIRIndexImageFilterType::New(); - typename ReaderType::Pointer reader = ReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - double a(::atof(argv[1])); - double b(::atof(argv[2])); - const char * inputFilename = argv[3]; - const char * outputFilename = argv[4]; - unsigned int redChannel(::atoi(argv[5])); - unsigned int nirChannel(::atoi(argv[6])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetInput(reader->GetOutput()); - filter->SetRedIndex(redChannel); - filter->SetNIRIndex(nirChannel); - filter->GetFunctor().SetA(a); - filter->GetFunctor().SetB(b); - writer->SetInput(filter->GetOutput()); - writer->Update(); -} - -int otbSetASetBMultiChannelRAndNIRVegetationIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<unsigned char, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "PVI") - generic_SetASetBMultiChannelRAndNIRVegetationIndexImageFilter<InputImageType, OutputImageType, - otb::Functor::PVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> > - (argc, argv); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbSetASetBRAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbSetASetBRAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index 61d33943f0..0000000000 --- a/Modules/Radiometry/Indices/test/otbSetASetBRAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -template<class TInputRImage, class TInputNIRImage, class TOutputImage, class TFunction> -void generic_SetASetBRAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - typedef otb::ImageFileReader<TInputRImage> RReaderType; - typedef otb::ImageFileReader<TInputNIRImage> NIRReaderType; - typedef otb::ImageFileWriter<TOutputImage> WriterType; - - typedef otb::RAndNIRIndexImageFilter<TInputRImage, TInputNIRImage, TOutputImage, TFunction> - RAndNIRIndexImageFilterType; - - // Instantiating object - typename RAndNIRIndexImageFilterType::Pointer filter = RAndNIRIndexImageFilterType::New(); - typename RReaderType::Pointer readerR = RReaderType::New(); - typename NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - typename WriterType::Pointer writer = WriterType::New(); - double a(::atof(argv[1])); - double b(::atof(argv[2])); - const char * inputFilenameR = argv[3]; - const char * inputFilenameNIR = argv[4]; - const char * outputFilename = argv[5]; - - readerR->SetFileName(inputFilenameR); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - filter->GetFunctor().SetA(a); - filter->GetFunctor().SetB(b); - writer->SetInput(filter->GetOutput()); - writer->Update(); -} - -int otbSetASetBRAndNIRVegetationIndexImageFilter(int argc, char * argv[]) -{ - const unsigned int Dimension = 2; - typedef unsigned char PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - std::string strArgv(argv[1]); - argc--; - argv++; - if (strArgv == "PVI") - generic_SetASetBRAndNIRVegetationIndexImageFilter<InputRImageType, InputNIRImageType, OutputImageType, - otb::Functor::PVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> > - (argc, argv); - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbTSARVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbTSARVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index d1383be3c6..0000000000 --- a/Modules/Radiometry/Indices/test/otbTSARVIMultiChannelRAndBAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndBAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -int otbTSARVIMultiChannelRAndBAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - typedef otb::ImageFileReader<InputImageType> ReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - typedef otb::Functor::TSARVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> FunctorType; - typedef otb::MultiChannelRAndBAndNIRIndexImageFilter<InputImageType, OutputImageType, FunctorType> - MultiChannelRAndBAndNIRIndexImageFilterType; - - // Instantiating object - MultiChannelRAndBAndNIRIndexImageFilterType::Pointer filter = MultiChannelRAndBAndNIRIndexImageFilterType::New(); - ReaderType::Pointer reader = ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - - unsigned int redChannel(::atoi(argv[3])); - unsigned int blueChannel(::atoi(argv[4])); - unsigned int nirChannel(::atoi(argv[5])); - - double a(::atof(argv[6])); - double b(::atof(argv[7])); - double x(::atof(argv[8])); - double gamma(::atof(argv[9])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetRedIndex(redChannel); - filter->SetBlueIndex(blueChannel); - filter->SetNIRIndex(nirChannel); - filter->SetInput(reader->GetOutput()); - - filter->GetFunctor().SetA(a); - filter->GetFunctor().SetB(b); - filter->GetFunctor().SetX(x); - filter->GetFunctor().SetGamma(gamma); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbTSARVIRAndBAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbTSARVIRAndBAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index 9282a63e63..0000000000 --- a/Modules/Radiometry/Indices/test/otbTSARVIRAndBAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndBAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -int otbTSARVIRAndBAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputBImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - typedef otb::ImageFileReader<InputRImageType> RReaderType; - typedef otb::ImageFileReader<InputBImageType> BReaderType; - typedef otb::ImageFileReader<InputNIRImageType> NIRReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - - typedef otb::Functor::TSARVI<InputRImageType::PixelType, - InputBImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> FunctorType; - - typedef otb::RAndBAndNIRIndexImageFilter<InputRImageType, - InputBImageType, - InputNIRImageType, - OutputImageType, - FunctorType> RAndBAndNIRIndexImageFilterType; - - // Instantiating object - RAndBAndNIRIndexImageFilterType::Pointer filter = RAndBAndNIRIndexImageFilterType::New(); - RReaderType::Pointer readerR = RReaderType::New(); - BReaderType::Pointer readerB = BReaderType::New(); - NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameR = argv[1]; - const char * inputFilenameB = argv[2]; - const char * inputFilenameNIR = argv[3]; - const char * outputFilename = argv[4]; - - double a(::atof(argv[5])); - double b(::atof(argv[6])); - double x(::atof(argv[7])); - double gamma(::atof(argv[8])); - - readerR->SetFileName(inputFilenameR); - readerB->SetFileName(inputFilenameB); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputB(readerB->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - - filter->GetFunctor().SetA(a); - filter->GetFunctor().SetB(b); - filter->GetFunctor().SetX(x); - filter->GetFunctor().SetGamma(gamma); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbWDVIMultiChannelRAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbWDVIMultiChannelRAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index 9f914f7738..0000000000 --- a/Modules/Radiometry/Indices/test/otbWDVIMultiChannelRAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbMultiChannelRAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbVectorImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -int otbWDVIMultiChannelRAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef otb::VectorImage<double, Dimension> InputImageType; - typedef otb::Image<double, Dimension> OutputImageType; - typedef otb::ImageFileReader<InputImageType> ReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - typedef otb::Functor::WDVI<InputImageType::InternalPixelType, - InputImageType::InternalPixelType, - OutputImageType::PixelType> FunctorType; - typedef otb::MultiChannelRAndNIRIndexImageFilter<InputImageType, OutputImageType, FunctorType> - MultiChannelRAndNIRIndexImageFilterType; - - // Instantiating object - MultiChannelRAndNIRIndexImageFilterType::Pointer filter = MultiChannelRAndNIRIndexImageFilterType::New(); - ReaderType::Pointer reader = ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilename = argv[1]; - const char * outputFilename = argv[2]; - - unsigned int redChannel(::atoi(argv[3])); - unsigned int nirChannel(::atoi(argv[4])); - - double s(::atof(argv[5])); - - reader->SetFileName(inputFilename); - writer->SetFileName(outputFilename); - filter->SetRedIndex(redChannel); - filter->SetNIRIndex(nirChannel); - filter->SetInput(reader->GetOutput()); - - filter->GetFunctor().SetS(s); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} diff --git a/Modules/Radiometry/Indices/test/otbWDVIRAndNIRVegetationIndexImageFilter.cxx b/Modules/Radiometry/Indices/test/otbWDVIRAndNIRVegetationIndexImageFilter.cxx deleted file mode 100644 index f2bb61defc..0000000000 --- a/Modules/Radiometry/Indices/test/otbWDVIRAndNIRVegetationIndexImageFilter.cxx +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2005-2019 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. - */ - -#include "itkMacro.h" - -#include "otbRAndNIRIndexImageFilter.h" -#include "otbImage.h" -#include "otbImageFileReader.h" -#include "otbImageFileWriter.h" - -int otbWDVIRAndNIRVegetationIndexImageFilter(int itkNotUsed(argc), char * argv[]) -{ - const unsigned int Dimension = 2; - typedef double PixelType; - typedef otb::Image<PixelType, Dimension> InputRImageType; - typedef otb::Image<PixelType, Dimension> InputNIRImageType; - typedef otb::Image<double, Dimension> OutputImageType; - - typedef otb::ImageFileReader<InputRImageType> RReaderType; - typedef otb::ImageFileReader<InputNIRImageType> NIRReaderType; - typedef otb::ImageFileWriter<OutputImageType> WriterType; - - typedef otb::Functor::WDVI<InputRImageType::PixelType, - InputNIRImageType::PixelType, - OutputImageType::PixelType> FunctorType; - - typedef otb::RAndNIRIndexImageFilter<InputRImageType, - InputNIRImageType, - OutputImageType, - FunctorType> RAndNIRIndexImageFilterType; - - // Instantiating object - RAndNIRIndexImageFilterType::Pointer filter = RAndNIRIndexImageFilterType::New(); - RReaderType::Pointer readerR = RReaderType::New(); - NIRReaderType::Pointer readerNIR = NIRReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - const char * inputFilenameR = argv[1]; - const char * inputFilenameNIR = argv[2]; - const char * outputFilename = argv[3]; - - double s(::atof(argv[4])); - - readerR->SetFileName(inputFilenameR); - readerNIR->SetFileName(inputFilenameNIR); - writer->SetFileName(outputFilename); - filter->SetInputR(readerR->GetOutput()); - filter->SetInputNIR(readerNIR->GetOutput()); - - filter->GetFunctor().SetS(s); - - writer->SetInput(filter->GetOutput()); - writer->Update(); - - return EXIT_SUCCESS; -} -- GitLab