From a3ccb817e5f06d5219f4d9f630e6141ad4a68c38 Mon Sep 17 00:00:00 2001
From: Guillaume Pasero <guillaume.pasero@c-s.fr>
Date: Tue, 2 Dec 2014 10:32:04 +0100
Subject: [PATCH] TEST: remove obsolete tests

---
 .../BasicFilters/otbMatrixImageFilterNew.cxx  |  37 ----
 .../FeatureExtraction/otbTextureFunctor.cxx   | 162 -----------------
 .../otbTextureImageFunction.cxx               | 168 ------------------
 ...FullyConstrainedLeastSquareImageFilter.cxx |  78 --------
 .../otbTerraSarCalibrationImageFilterNew.cxx  |  38 ----
 .../otbHermitianEigenAnalysisTest.cxx         | 154 ----------------
 6 files changed, 637 deletions(-)
 delete mode 100644 Testing/Code/BasicFilters/otbMatrixImageFilterNew.cxx
 delete mode 100644 Testing/Code/FeatureExtraction/otbTextureFunctor.cxx
 delete mode 100644 Testing/Code/FeatureExtraction/otbTextureImageFunction.cxx
 delete mode 100644 Testing/Code/Hyperspectral/otbFullyConstrainedLeastSquareImageFilter.cxx
 delete mode 100644 Testing/Code/Radiometry/otbTerraSarCalibrationImageFilterNew.cxx
 delete mode 100644 Testing/Code/SARPolarimetry/otbHermitianEigenAnalysisTest.cxx

diff --git a/Testing/Code/BasicFilters/otbMatrixImageFilterNew.cxx b/Testing/Code/BasicFilters/otbMatrixImageFilterNew.cxx
deleted file mode 100644
index a2eb87e4b2..0000000000
--- a/Testing/Code/BasicFilters/otbMatrixImageFilterNew.cxx
+++ /dev/null
@@ -1,37 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-
-#include "otbApplyTransitionMatrixImageFilter.h"
-
-#include "otbVectorImage.h"
-
-int otbApplyTransitionMatrixImageFilterNew(int itkNotUsed(argc), char * itkNotUsed(argv) [])
-{
-  typedef double InputPixelType;
-  typedef float OutputPixelType;
-
-  typedef otb::VectorImage<InputPixelType> InputImageType;
-  typedef otb::VectorImage<OutputPixelType> OutputImageType;
-
-  typedef otb::ApplyTransitionMatrixImageFilter<InputImageType, OutputImageType> FilterType;
-
-  FilterType::Pointer filter = FilterType::New();
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Code/FeatureExtraction/otbTextureFunctor.cxx b/Testing/Code/FeatureExtraction/otbTextureFunctor.cxx
deleted file mode 100644
index 735b5758d7..0000000000
--- a/Testing/Code/FeatureExtraction/otbTextureFunctor.cxx
+++ /dev/null
@@ -1,162 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "otbUnaryFunctorNeighborhoodWithOffsetImageFilter.h"
-#include "otbVectorImage.h"
-#include "otbImageFileReader.h"
-#include "otbImageFileWriter.h"
-#include "otbTextureFunctors.h"
-
-template<class TInputImage, class TOutputImage, class TFunctor>
-int generic_TextureFunctor(int itkNotUsed(argc), char * argv[])
-{
-  const char * inputFileName  = argv[1];
-  const char * outputFileName = argv[2];
-
-  typedef typename TInputImage::SizeType              SizeType;
-  typedef typename TInputImage::OffsetType            OffsetType;
-  typedef otb::ImageFileReader<TInputImage>           ReaderType;
-  typedef otb::ImageFileWriter<TOutputImage> WriterType;
-
-  typedef otb::UnaryFunctorNeighborhoodWithOffsetImageFilter<TInputImage, TOutputImage, TFunctor> FilterType;
-
-  // Instantiating object
-  typename FilterType::Pointer object = FilterType::New();
-  typename ReaderType::Pointer reader  = ReaderType::New();
-  typename WriterType::Pointer writer = WriterType::New();
-  reader->SetFileName(inputFileName);
-  writer->SetFileName(outputFileName);
-
-  object->SetInput(reader->GetOutput());
-  object->SetRadius(atoi(argv[3]));
-  OffsetType offset;
-  offset[0] =  atoi(argv[4]);
-  offset[1] =  atoi(argv[5]);
-
-  object->SetOffset(offset);
-  writer->SetInput(object->GetOutput());
-
-  writer->Update();
-
-  return EXIT_SUCCESS;
-}
-
-int otbTextureFunctor(int argc, char * argv[])
-{
-  std::string strArgv(argv[1]);
-  argc--;
-  argv++;
-
-  typedef double InputPixelType;
-  const int Dimension = 2;
-  typedef otb::VectorImage<InputPixelType, Dimension> ImageType;
-  typedef ImageType::PixelType                        PixelType;
-  typedef itk::ConstNeighborhoodIterator<ImageType>   IteratorType;
-
-  if (strArgv == "ENJ")
-    {
-    typedef otb::Functor::EnergyTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "ENT")
-    {
-    typedef otb::Functor::EntropyTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "IMD")
-    {
-    typedef otb::Functor::InverseDifferenceMomentTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "ASM")
-    {
-    typedef otb::Functor::AngularSecondMomentumTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "VAR")
-    {
-    typedef otb::Functor::VarianceTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "COR")
-    {
-    typedef otb::Functor::CorrelationTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "CON")
-    {
-    typedef otb::Functor::ContrastTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "SAV")
-    {
-    typedef otb::Functor::SumAverageTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "DEN")
-    {
-    typedef otb::Functor::DifferenceEntropyTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "SEN")
-    {
-    typedef otb::Functor::SumEntropyTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "SVA")
-    {
-    typedef otb::Functor::SumVarianceTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "DVA")
-    {
-    typedef otb::Functor::DifferenceVarianceTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "IC1")
-    {
-    typedef otb::Functor::InformationMeasureOfCorrelation1TextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "IC2")
-    {
-    typedef otb::Functor::InformationMeasureOfCorrelation2TextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "CSH")
-    {
-    typedef otb::Functor::ClusterShadeTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "CPR")
-    {
-    typedef otb::Functor::ClusterProminenceTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "MEA")
-    {
-    typedef otb::Functor::MeanTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureFunctor<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else
-    {
-    return EXIT_FAILURE;
-    }
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Code/FeatureExtraction/otbTextureImageFunction.cxx b/Testing/Code/FeatureExtraction/otbTextureImageFunction.cxx
deleted file mode 100644
index c73d42b07f..0000000000
--- a/Testing/Code/FeatureExtraction/otbTextureImageFunction.cxx
+++ /dev/null
@@ -1,168 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "otbFunctionWithNeighborhoodToImageFilter.h"
-#include "otbTextureImageFunction.h"
-#include "otbImage.h"
-#include "otbImageFileReader.h"
-#include "otbImageFileWriter.h"
-
-#include "otbTextureFunctors.h"
-
-template<class TInputImage, class TOutputImage, class TFunctor>
-int generic_TextureImageFunction(int itkNotUsed(argc), char * argv[])
-{
-  const char * inputFileName  = argv[1];
-  const char * outputFileName = argv[2];
-
-  typedef typename TInputImage::SizeType              SizeType;
-  typedef typename TInputImage::OffsetType            OffsetType;
-  typedef otb::ImageFileReader<TInputImage>           ReaderType;
-  typedef otb::ImageFileWriter<TOutputImage> WriterType;
-
-  typedef otb::TextureImageFunction<TInputImage, TFunctor>                                    FunctionType;
-  typedef otb::FunctionWithNeighborhoodToImageFilter<TInputImage, TOutputImage, FunctionType> FilterType;
-  typename FilterType::Pointer filter = FilterType::New();
-
-  // Instantiating object
-  typename ReaderType::Pointer reader  = ReaderType::New();
-  typename WriterType::Pointer writer = WriterType::New();
-  reader->SetFileName(inputFileName);
-  writer->SetFileName(outputFileName);
-
-  filter->SetInput(reader->GetOutput());
-  SizeType radius;
-  radius[0] = atoi(argv[3]);
-  radius[1] = atoi(argv[4]);
-  filter->SetRadius(radius);
-  OffsetType offset;
-  offset[0] =  atoi(argv[5]);
-  offset[1] =  atoi(argv[6]);
-  filter->SetOffset(offset);
-
-  writer->SetInput(filter->GetOutput());
-
-  writer->Update();
-
-  return EXIT_SUCCESS;
-}
-
-int otbTextureImageFunction(int argc, char * argv[])
-{
-  std::string strArgv(argv[1]);
-  argc--;
-  argv++;
-
-  typedef double InputPixelType;
-  const int Dimension = 2;
-  typedef otb::Image<InputPixelType, Dimension>     ImageType;
-  typedef itk::VariableLengthVector<double>         VectorType;
-  typedef itk::ConstNeighborhoodIterator<ImageType> IteratorType;
-
-  if (strArgv == "ENJ")
-    {
-    typedef otb::Functor::EnergyTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "ENT")
-    {
-    typedef otb::Functor::EntropyTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "IMD")
-    {
-    typedef otb::Functor::InverseDifferenceMomentTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "ASM")
-    {
-    typedef otb::Functor::AngularSecondMomentumTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "VAR")
-    {
-    typedef otb::Functor::VarianceTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "COR")
-    {
-    typedef otb::Functor::CorrelationTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "CON")
-    {
-    typedef otb::Functor::ContrastTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "SAV")
-    {
-    typedef otb::Functor::SumAverageTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "DEN")
-    {
-    typedef otb::Functor::DifferenceEntropyTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "SEN")
-    {
-    typedef otb::Functor::SumEntropyTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "SVA")
-    {
-    typedef otb::Functor::SumVarianceTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "DVA")
-    {
-    typedef otb::Functor::DifferenceVarianceTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "IC1")
-    {
-    typedef otb::Functor::InformationMeasureOfCorrelation1TextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "IC2")
-    {
-    typedef otb::Functor::InformationMeasureOfCorrelation2TextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "CSH")
-    {
-    typedef otb::Functor::ClusterShadeTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "CPR")
-    {
-    typedef otb::Functor::ClusterProminenceTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else if (strArgv == "MEA")
-    {
-    typedef otb::Functor::MeanTextureFunctor<InputPixelType, InputPixelType> FunctorType;
-    return (generic_TextureImageFunction<ImageType, ImageType, FunctorType>(argc, argv));
-    }
-  else
-    {
-    return EXIT_FAILURE;
-    }
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Code/Hyperspectral/otbFullyConstrainedLeastSquareImageFilter.cxx b/Testing/Code/Hyperspectral/otbFullyConstrainedLeastSquareImageFilter.cxx
deleted file mode 100644
index 16e4322e9c..0000000000
--- a/Testing/Code/Hyperspectral/otbFullyConstrainedLeastSquareImageFilter.cxx
+++ /dev/null
@@ -1,78 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-#include "otbFullyConstrainedLeastSquareImageFilter.h"
-
-#include "otbVectorImage.h"
-#include "otbImageFileReader.h"
-#include "otbImageFileWriter.h"
-#include "otbVectorImageToMatrixImageFilter.h"
-#include "otbStandardWriterWatcher.h"
-
-const unsigned int Dimension = 2;
-typedef double PixelType;
-
-typedef otb::VectorImage<PixelType, Dimension> ImageType;
-typedef otb::ImageFileReader<ImageType> ReaderType;
-typedef otb::FullyConstrainedLeastSquareImageFilter<ImageType, ImageType, double> FullyConstrainedLeastSquareSolverType;
-typedef otb::VectorImageToMatrixImageFilter<ImageType> VectorImageToMatrixImageFilterType;
-typedef otb::ImageFileWriter<ImageType> WriterType;
-
-int otbFullyConstrainedLeastSquareImageFilterNewTest(int itkNotUsed(argc), char * itkNotUsed(argv)[])
-{
-  FullyConstrainedLeastSquareSolverType::Pointer filter = FullyConstrainedLeastSquareSolverType::New();
-  std::cout << filter << std::endl;
-  return EXIT_SUCCESS;
-}
-
-int otbFullyConstrainedLeastSquareImageFilterTest(int itkNotUsed(argc), char * argv[])
-{
-  const char * inputImage = argv[1];
-  const char * inputEndmembers = argv[2];
-  const char * outputImage = argv[3];
-
-  ReaderType::Pointer readerImage = ReaderType::New();
-  readerImage->SetFileName(inputImage);
-
-  ReaderType::Pointer readerEndMembers = ReaderType::New();
-  readerEndMembers->SetFileName(inputEndmembers);
-  VectorImageToMatrixImageFilterType::Pointer endMember2Matrix = VectorImageToMatrixImageFilterType::New();
-  endMember2Matrix->SetInput(readerEndMembers->GetOutput());
-
-  endMember2Matrix->Update();
-
-  typedef VectorImageToMatrixImageFilterType::MatrixType MatrixType;
-  MatrixType endMembers = endMember2Matrix->GetMatrix();
-  MatrixType pinv = vnl_matrix_inverse<PixelType>(endMembers);
-
-  FullyConstrainedLeastSquareSolverType::Pointer unmixer = \
-      FullyConstrainedLeastSquareSolverType::New();
-
-  unmixer->SetInput(readerImage->GetOutput());
-  unmixer->SetMatrix(endMember2Matrix->GetMatrix());
-
-  WriterType::Pointer writer = WriterType::New();
-  writer->SetFileName(outputImage);
-  writer->SetInput(unmixer->GetOutput());
-  writer->SetNumberOfDivisionsStrippedStreaming(10);
-
-  otb::StandardWriterWatcher w4(writer, unmixer,"FullyConstrainedLeastSquare");
-
-  writer->Update();
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Code/Radiometry/otbTerraSarCalibrationImageFilterNew.cxx b/Testing/Code/Radiometry/otbTerraSarCalibrationImageFilterNew.cxx
deleted file mode 100644
index 2062139c12..0000000000
--- a/Testing/Code/Radiometry/otbTerraSarCalibrationImageFilterNew.cxx
+++ /dev/null
@@ -1,38 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-#include "itkMacro.h"
-
-#include "otbTerraSarCalibrationImageFilter.h"
-#include "otbImage.h"
-
-int otbTerraSarCalibrationImageFilterNew(int itkNotUsed(argc), char * itkNotUsed(argv)[])
-{
-  typedef otb::Image<double, 2>               ImageType;
-  typedef otb::Image<std::complex<double>, 2> ComplexImageType;
-
-  typedef otb::TerraSarCalibrationImageFilter<ImageType, ImageType>               FilterType;
-  typedef otb::TerraSarCalibrationImageFilter<ComplexImageType, ComplexImageType> ComplexFilterType;
-
-  FilterType::Pointer        filter = FilterType::New();
-  ComplexFilterType::Pointer complexFilter = ComplexFilterType::New();
-
-  std::cout << filter << std::endl;
-  std::cout << complexFilter << std::endl;
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Code/SARPolarimetry/otbHermitianEigenAnalysisTest.cxx b/Testing/Code/SARPolarimetry/otbHermitianEigenAnalysisTest.cxx
deleted file mode 100644
index a18e854ca9..0000000000
--- a/Testing/Code/SARPolarimetry/otbHermitianEigenAnalysisTest.cxx
+++ /dev/null
@@ -1,154 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-
-#include <iostream>
-#include "otbHermitianEigenAnalysis.h"
-#include "itkVariableLengthVector.h"
-#include "vnl/algo/vnl_complex_eigensystem.h"
-#include <complex>
-
-
-int otbHermitianEigenAnalysisTest(int argc, char * argv[])
-{
-  typedef itk::Vector<float, 9> MatrixType;
-  typedef itk::Vector<float, 3> EigenvalueType;
-  typedef itk::Vector<itk::Vector<float, 6>, 3> EigenMatrixType;
-
-  typedef otb::HermitianEigenAnalysis<MatrixType, EigenvalueType, EigenMatrixType> FilterType;
-
-  EigenMatrixType resEigVal;
-
-  itk::Vector<float, 6> temp;
-  temp[0] = 0.162793;
-  temp[1] = -0.432753;
-  temp[2] = 0.766443;
-  temp[3] = 1.08418e-18;
-  temp[4] = 0.338266;
-  temp[5] = 0.290456;
-  resEigVal[0] = temp;
-  temp[0] = 0.420547;
-  temp[1] = -0.406821;
-  temp[2] = -0.541437;
-  temp[3] = 0.112727;
-  temp[4] = 0.58546;
-  temp[5] = -0.0949371;
-  resEigVal[1] = temp;
-  temp[0] = 0.664613;
-  temp[1] = -0.0463679;
-  temp[2] = 0.206196;
-  temp[3] = -0.253351;
-  temp[4] = -0.361684;
-  temp[5] =  -0.564465;
-  resEigVal[2] = temp;
-
-  EigenvalueType resVect;
-  resVect[0] = 8.22892;
-  resVect[1] = -1.08457;
-  resVect[2] = -5.64434;
-
-  FilterType filter;
-
-  MatrixType mat;
-  mat.Fill(0.);
-
-  float val = 0;
-  for(unsigned int i=0; i<mat.Size(); ++i)
-    {
-      mat[i] = val;
-      val += 0.5;
-    }
-  std::cout<<"Matrix: "<<std::endl;
-  std::cout<<mat<<std::endl;
-
-  EigenvalueType vect;
-  EigenMatrixType eigVal;
-  // Only method used in SARPolarimetry...
-  filter.ComputeEigenValuesAndVectors( mat, vect, eigVal);
-
-  if( (vcl_abs(resVect[0] - vect[0]) > 1e-5) || (vcl_abs(resVect[1] - vect[1]) > 1e-5) || (vcl_abs(resVect[2] - vect[2]) > 1e-5) )
-  {
-    std::cout<<"Test gives :"<<std::endl;
-    std::cout<<"Values: "<<vect<<std::endl;
-    std::cout<<"Wanted results are :"<<std::endl;
-    std::cout<<"Values: "<<resVect<<std::endl;
-
-    return EXIT_FAILURE;
-  }
-
-  bool isOK = true;
-  for(unsigned int i=0; i<6; ++i)
-    {
-      for(unsigned int j=0; j<3; ++j)
-        {
-          if(vcl_abs(eigVal[j][i] - resEigVal[j][i]) > 1e-5)
-            {
-              isOK = false;
-            }
-        }
-    }
-  if( isOK == false )
-  {
-    std::cout<<"Test gives :"<<std::endl;
-    std::cout<<"Vectors: "<<eigVal<<std::endl;
-    std::cout<<"Wanted results are :"<<std::endl;
-    std::cout<<"Vectors: "<<resEigVal<<std::endl;
-
-    return EXIT_FAILURE;
-  }
-
-  std::cout<<"Values: "<<vect<<std::endl;
-  std::cout<<"Vectors: "<<eigVal<<std::endl;
-
-
-  typedef std::complex<double> ComplexType;
-  vnl_matrix<ComplexType> vnlMat(3, 3, 0);
-  vnlMat[0][0] = ComplexType(0., 0.);
-  vnlMat[0][1] = ComplexType(1.5, 2.);
-  vnlMat[0][2] = ComplexType(2.5, 3.);
-  vnlMat[1][0] = ComplexType(1.5, -2.);
-  vnlMat[1][1] = ComplexType(0.5, 0.);
-  vnlMat[1][2] = ComplexType(3.5, 4.);
-  vnlMat[2][0] = ComplexType(2.5, -3.);
-  vnlMat[2][1] = ComplexType(3.5, -4.);
-  vnlMat[2][2] = ComplexType(1., 0.);
-
-  std::cout<<"Matrix:: "<<std::endl;
-  vnlMat.print(std::cout);
-
-  vnl_complex_eigensystem syst(vnlMat, true, true);
-
-  vnl_matrix< ComplexType > pm = syst.L;
- std::cout<<"Left:: "<<std::endl;
-  pm.print(std::cout);
-  std::cout<<"Right:: "<<std::endl;
-
-
-  pm = syst.R;
-  pm.print(std::cout);
-  std::cout<<"W:: "<<std::endl;
-  vnl_vector< ComplexType > lol = syst.W;
-
-  for(unsigned i=0; i<lol.size(); ++i)
-  {
-    std::cout<<"  "<<lol[i];
-  }
-  std::cout<<std::endl;
-
-  return EXIT_SUCCESS;
-}
-- 
GitLab