Skip to content
Snippets Groups Projects
Commit 51fc0bd0 authored by Angelos Tzotsos's avatar Angelos Tzotsos
Browse files

ENH: Add LMVM tests

parent edfdfb6a
No related branches found
No related tags found
No related merge requests found
......@@ -42,6 +42,20 @@ ADD_TEST(fuTvSimpleRcsPanSharpeningFusionImageFilter ${FUSION_TESTS1}
${TEMP}/fuTvRcsPanSharpeningFusion.tif
)
# ------- otb::LmvmPanSharpeningFusionImageFilter -------------------
ADD_TEST(fuTuLmvmPanSharpeningFusionImageFilterNew ${FUSION_TESTS1}
otbLmvmPanSharpeningFusionImageFilterNew
)
ADD_TEST(fuTvLmvmPanSharpeningFusionImageFilter ${FUSION_TESTS1}
--compare-image ${EPSILON_8} ${BASELINE}/fuTvLmvmPanSharpeningFusion.tif
${TEMP}/fuTvLmvmPanSharpeningFusion.tif
otbLmvmPanSharpeningFusionImageFilter
${INPUTDATA}/QB_Toulouse_Ortho_PAN.tif
${INPUTDATA}/QB_Toulouse_Ortho_XS.tif
${TEMP}/fuTvLmvmPanSharpeningFusion.tif
)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ otbFusion2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......@@ -54,6 +68,8 @@ otbBayesianFusionFilterNew.cxx
otbBayesianFusionFilter.cxx
otbSimpleRcsPanSharpeningFusionImageFilterNew.cxx
otbSimpleRcsPanSharpeningFusionImageFilter.cxx
otbLmvmPanSharpeningFusionImageFilterNew.cxx
otbLmvmPanSharpeningFusionImageFilter.cxx
)
OTB_ADD_EXECUTABLE(otbFusionTests1 "${Fusion_SRCS1}" "OTBFusion;OTBIO;OTBTesting")
......
......@@ -29,4 +29,6 @@ void RegisterTests()
REGISTER_TEST(otbFusionImageBaseNew);
REGISTER_TEST(otbSimpleRcsPanSharpeningFusionImageFilterNew);
REGISTER_TEST(otbSimpleRcsPanSharpeningFusionImageFilter);
REGISTER_TEST(otbLmvmPanSharpeningFusionImageFilterNew);
REGISTER_TEST(otbLmvmPanSharpeningFusionImageFilter);
}
/*=========================================================================
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 "otbImageFileReader.h"
#include "otbStreamingImageFileWriter.h"
#include "otbVectorImage.h"
#include "otbImage.h"
#include "otbLmvmPanSharpeningFusionImageFilter.h"
int otbLmvmPanSharpeningFusionImageFilter(int argc, char * argv[])
{
const char * panchro = argv[1];
const char * multispect = argv[2];
const char * output = argv[3];
const unsigned int Dimension = 2;
typedef double PixelType;
typedef otb::VectorImage<PixelType, Dimension> VectorImageType;
typedef otb::Image<PixelType, Dimension> PanchroImageType;
typedef otb::ImageFileReader<VectorImageType> VectorReaderType;
typedef otb::ImageFileReader<PanchroImageType> ImageReaderType;
typedef otb::StreamingImageFileWriter<VectorImageType> VectorImageWriterType;
typedef otb::LmvmPanSharpeningFusionImageFilter
<PanchroImageType, VectorImageType, VectorImageType, double> FilterType;
VectorReaderType::Pointer multiSpectReader = VectorReaderType::New();
ImageReaderType::Pointer panchroReader = ImageReaderType::New();
FilterType::Pointer filter = FilterType::New();
VectorImageWriterType::Pointer writer = VectorImageWriterType::New();
multiSpectReader->SetFileName(multispect);
panchroReader->SetFileName(panchro);
PanchroImageType::SizeType radius;
radius[0] = 3;
radius[1] = 3;
itk::Array<double> filterCoeffs;
filterCoeffs.SetSize((2 * radius[0] + 1) * (2 * radius[1] + 1));
// double filterTmp[] = {
// 0.00390625, 0.0078125, 0.0117188, 0.015625, 0.0117188, 0.0078125, 0.00390625,
// 0.0078125, 0.015625, 0.0234375, 0.03125, 0.0234375, 0.015625, 0.0078125,
// 0.0117188, 0.0234375, 0.0351562, 0.046875, 0.0351562, 0.0234375, 0.0117188,
// 0.015625, 0.03125, 0.046875, 0.0625, 0.046875, 0.03125, 0.015625,
// 0.0117188, 0.0234375, 0.0351562, 0.046875, 0.0351562, 0.0234375, 0.0117188,
// 0.0078125, 0.015625, 0.0234375, 0.03125, 0.0234375, 0.015625, 0.0078125,
// 0.00390625, 0.0078125, 0.0117188, 0.015625, 0.0117188, 0.0078125, 0.00390625 };
//
// filterCoeffs.SetData(filterTmp);
filterCoeffs.Fill(1);
filter->SetXsInput(multiSpectReader->GetOutput());
filter->SetPanInput(panchroReader->GetOutput());
filter->SetRadius(radius);
filter->SetFilter(filterCoeffs);
writer->SetInput(filter->GetOutput());
writer->SetFileName(output);
writer->Update();
return EXIT_SUCCESS;
}
/*=========================================================================
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 "otbImageFileReader.h"
#include "otbImageFileWriter.h"
#include "otbVectorImage.h"
#include "otbImage.h"
#include "otbLmvmPanSharpeningFusionImageFilter.h"
int otbLmvmPanSharpeningFusionImageFilterNew(int argc, char * argv[])
{
const unsigned int Dimension = 2;
typedef double PixelType;
typedef otb::VectorImage<PixelType, Dimension> VectorImageType;
typedef otb::Image<PixelType, Dimension> PanchroImageType;
typedef otb::ImageFileReader<VectorImageType> VectorReaderType;
typedef otb::ImageFileReader<PanchroImageType> ImageReaderType;
typedef otb::LmvmPanSharpeningFusionImageFilter
<PanchroImageType, VectorImageType, VectorImageType> FilterType;
FilterType::Pointer filter = FilterType::New();
std::cout << filter << std::endl;
return EXIT_SUCCESS;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment