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