From dcd2b240c00e75e76312dba47839faa407374f9c Mon Sep 17 00:00:00 2001
From: Aurelien Bricier <aurelien.bricier@c-s.fr>
Date: Mon, 12 Nov 2012 17:48:20 +0100
Subject: [PATCH] TEST: added tests for the RadiometricMomentsImageFilter

---
 Testing/Code/FeatureExtraction/CMakeLists.txt | 15 ++++
 .../otbFeatureExtractionTests16.cxx           |  2 +
 .../otbRadiometricMomentsImageFilter.cxx      | 72 +++++++++++++++++++
 3 files changed, 89 insertions(+)
 create mode 100644 Testing/Code/FeatureExtraction/otbRadiometricMomentsImageFilter.cxx

diff --git a/Testing/Code/FeatureExtraction/CMakeLists.txt b/Testing/Code/FeatureExtraction/CMakeLists.txt
index a1c905c7f8..e1d5e27a6d 100644
--- a/Testing/Code/FeatureExtraction/CMakeLists.txt
+++ b/Testing/Code/FeatureExtraction/CMakeLists.txt
@@ -1543,6 +1543,20 @@ ADD_TEST(feTvHistogramOfOrientedGradientCovariantImageFunction ${FEATUREEXTRACTI
   5 273 64
 )
 
+# ------ otb::RadiometricMomentsImageFilter --------
+ADD_TEST(feTuRadiometricMomentsImageFilterNew ${FEATUREEXTRACTION_TESTS16}
+         otbRadiometricMomentsImageFilterNew)
+         
+ADD_TEST(feTvRadiometricMomentsImageFilter ${FEATUREEXTRACTION_TESTS16}
+         --compare-image ${EPSILON_8}  
+			${BASELINE}/feTvRadiometricMomentsImageFilter.tif
+            ${TEMP}/feTvRadiometricMomentsImageFilter.tif
+        otbRadiometricMomentsImageFilter
+        ${INPUTDATA}/QB_Toulouse_Ortho_PAN.tif
+        ${TEMP}/feTvRadiometricMomentsImageFilter.tif
+        3 #radius
+        )
+
 # A enrichir
 SET(BasicFeatureExtraction_SRCS1
 otbFeatureExtractionTests1.cxx
@@ -1742,6 +1756,7 @@ otbImageFunctionAdaptor.cxx
 otbMetaImageFunction.cxx
 otbHaralickTexturesImageFunction.cxx
 otbHistogramOfOrientedGradientCovariantImageFunction.cxx
+otbRadiometricMomentsImageFilter.cxx
 )
 
 
diff --git a/Testing/Code/FeatureExtraction/otbFeatureExtractionTests16.cxx b/Testing/Code/FeatureExtraction/otbFeatureExtractionTests16.cxx
index d2b75741db..324f0d94ba 100644
--- a/Testing/Code/FeatureExtraction/otbFeatureExtractionTests16.cxx
+++ b/Testing/Code/FeatureExtraction/otbFeatureExtractionTests16.cxx
@@ -38,4 +38,6 @@ void RegisterTests()
   REGISTER_TEST(otbHaralickTexturesImageFunction);
   REGISTER_TEST(otbHistogramOfOrientedGradientCovariantImageFunctionNew);
   REGISTER_TEST(otbHistogramOfOrientedGradientCovariantImageFunction);
+  REGISTER_TEST(otbRadiometricMomentsImageFilterNew);
+  REGISTER_TEST(otbRadiometricMomentsImageFilter);
 }
diff --git a/Testing/Code/FeatureExtraction/otbRadiometricMomentsImageFilter.cxx b/Testing/Code/FeatureExtraction/otbRadiometricMomentsImageFilter.cxx
new file mode 100644
index 0000000000..fdd0496d9c
--- /dev/null
+++ b/Testing/Code/FeatureExtraction/otbRadiometricMomentsImageFilter.cxx
@@ -0,0 +1,72 @@
+/*=========================================================================
+
+  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 "otbImage.h"
+#include "otbVectorImage.h"
+#include "otbImageFileReader.h"
+#include "otbStreamingImageFileWriter.h"
+#include "otbRadiometricMomentsImageFilter.h"
+
+int otbRadiometricMomentsImageFilterNew(int argc, char * argv[])
+{
+  typedef float InputPixelType;
+  const unsigned int Dimension = 2;
+
+  /** Typedefs */
+  typedef otb::Image<InputPixelType,  Dimension>       ImageType;
+  typedef otb::VectorImage<InputPixelType,  Dimension> VectorImageType;
+
+  typedef otb::RadiometricMomentsImageFilter<ImageType, VectorImageType> FilterType;
+
+  FilterType::Pointer filter = FilterType::New();
+
+  std::cout << filter << std::endl;
+
+  return EXIT_SUCCESS;
+}
+
+int otbRadiometricMomentsImageFilter(int argc, char * argv[])
+{
+  typedef float InputPixelType;
+  const unsigned int Dimension = 2;
+
+  // Typedefs
+  typedef otb::Image<InputPixelType,  Dimension>         ImageType;
+  typedef otb::ImageFileReader<ImageType>                ReaderType;
+  typedef otb::VectorImage<InputPixelType,  Dimension>   VectorImageType;
+  typedef otb::StreamingImageFileWriter<VectorImageType> WriterType;
+  typedef otb::RadiometricMomentsImageFilter<ImageType, VectorImageType> FilterType;
+
+  ReaderType::Pointer reader = ReaderType::New();
+  FilterType::Pointer filter = FilterType::New();
+  WriterType::Pointer writer = WriterType::New();
+
+  reader->SetFileName(argv[1]);
+  reader->GenerateOutputInformation();
+
+  filter->SetInput(reader->GetOutput());
+  filter->SetRadius(atoi(argv[3]));
+  filter->SetNumberOfThreads(1);
+
+  writer->SetFileName(argv[2]);
+  writer->SetInput(filter->GetOutput());
+  writer->Update();
+
+  return EXIT_SUCCESS;
+}
+
-- 
GitLab