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