Skip to content
Snippets Groups Projects
Commit 2e183559 authored by Rashad Kanavath's avatar Rashad Kanavath
Browse files

TEST: new test to wavelet forward and inverse transform

parent 13bf7c6d
No related branches found
No related tags found
No related merge requests found
......@@ -15,6 +15,7 @@ otbWaveletFilterBank.cxx
otbWaveletPacketTransformNew.cxx
otbWaveletFilterBankNew.cxx
otbWaveletOperatorNew.cxx
otbWaveletImageToImageFilter.cxx
)
add_executable(otbWaveletTestDriver ${OTBWaveletTests})
......@@ -572,3 +573,11 @@ otb_add_test(NAME msTuWaveletFilterBankNew COMMAND otbWaveletTestDriver
otb_add_test(NAME msTuWaveletOperatorNew COMMAND otbWaveletTestDriver
otbWaveletOperatorNew )
otb_add_test(NAME msTvWaveletImageToImageFilter COMMAND otbWaveletTestDriver
--compare-image ${EPSILON_6}
${INPUTDATA}/QB_Toulouse_Ortho_PAN.tif
${TEMP}/msTvWaveletImageToImageFilterOut.tif
otbWaveletImageToImageFilter
${INPUTDATA}/QB_Toulouse_Ortho_PAN.tif
${TEMP}/msTvWaveletImageToImageFilterOut.tif
)
/*=========================================================================
Program: ORFEO Toolbox
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
See OTBCopyright.txt for details.
Copyright (c) Institut Mines-Telecom. All rights reserved.
See IMTCopyright.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.
=========================================================================*/
/*
This test code will run a WaveletImageFilter on given input image.
Output from this filter is fed to WaveletInverseImageFilter which does the inverse
transform that will result in the same input image.
Wavelet operator used is HAAR (otb::Wavelet::HAAR).
This filter works only in single-threaded setup
*/
#include "otbImage.h"
#include "otbImageFileReader.h"
#include "otbImageFileWriter.h"
#include "otbWaveletImageFilter.h"
#include "otbWaveletInverseImageFilter.h"
int otbWaveletImageToImageFilter(int argc, char * argv[])
{
const char * inputFileName = argv[1];
const char * outputFileName = argv[argc-1];
/* Wavelet operator */
const otb::Wavelet::Wavelet OperatorType = otb::Wavelet::HAAR;
const int Dimension = 2;
typedef double PixelType;
typedef otb::Image<PixelType, Dimension> ImageType;
typedef otb::ImageFileReader<ImageType> ReaderType;
typedef otb::WaveletImageFilter<
ImageType,
ImageType,
OperatorType> FwdFilterType;
typedef otb::WaveletInverseImageFilter<
ImageType,
ImageType,
OperatorType> InvFilterType;
typedef otb::ImageFileWriter<ImageType> WriterType;
itk::MultiThreader::SetGlobalMaximumNumberOfThreads( 1 );
/* Reading */
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(inputFileName);
/* Forward Transformation */
FwdFilterType::Pointer fwdFilter = FwdFilterType::New();
fwdFilter->SetInput(reader->GetOutput());
fwdFilter->Update();
/* Inverse Transformation */
InvFilterType::Pointer invFilter = InvFilterType::New();
invFilter->SetInput(fwdFilter->GetOutput());
invFilter->Update();
/* Writing output */
WriterType::Pointer writer = WriterType::New();
writer->SetFileName(outputFileName);
writer->SetInput(invFilter->GetOutput());
writer->Update();
return EXIT_SUCCESS;
}
......@@ -14,4 +14,5 @@ void RegisterTests()
REGISTER_TEST(otbWaveletPacketTransformNew);
REGISTER_TEST(otbWaveletFilterBankNew);
REGISTER_TEST(otbWaveletOperatorNew);
REGISTER_TEST(otbWaveletImageToImageFilter);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment