diff --git a/Modules/Filtering/Contrast/test/CMakeLists.txt b/Modules/Filtering/Contrast/test/CMakeLists.txt index 0e7d88e33126ab0eefce0418f998c9aa3154208e..c35e9d79c641db4111633c3b80c8a8fcb5d93456 100644 --- a/Modules/Filtering/Contrast/test/CMakeLists.txt +++ b/Modules/Filtering/Contrast/test/CMakeLists.txt @@ -26,6 +26,7 @@ otbComputeHistoFilterNew.cxx otbComputeHistoFilter.cxx otbApplyGainFilterNew.cxx otbComputeGainLutFilterNew.cxx +otbComputeGainLutFilter.cxx otbCLHistogramEqualizationFilterNew.cxx otbCLHistogramEqualizationFilter.cxx otbHelperCLAHE.cxx diff --git a/Modules/Filtering/Contrast/test/otbComputeGainLutFilter.cxx b/Modules/Filtering/Contrast/test/otbComputeGainLutFilter.cxx index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ec5e0532af7d0710eb46193dc9c6541ee318eb30 100644 --- a/Modules/Filtering/Contrast/test/otbComputeGainLutFilter.cxx +++ b/Modules/Filtering/Contrast/test/otbComputeGainLutFilter.cxx @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) + * + * This file is part of Orfeo Toolbox + * + * https://www.orfeo-toolbox.org/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "otbVectorImage.h" +#include "otbImage.h" +#include "otbImageFileWriter.h" +#include "otbImageFileReader.h" +#include "otbComputeGainLutFilter.h" + +int otbComputeGainLutFilter(int itkNotUsed(argc), char * itkNotUsed(argv) []) +{ + typedef int InputPixelType; + typedef double OutputPixelType; + const unsigned int Dimension = 2; + + typedef otb::VectorImage< InputPixelType , Dimension > HistoImageType; + typedef otb::Image< InputPixelType , Dimension > InputImageType; + typedef otb::VectorImage< OutputPixelType , Dimension > LutImageType; + typedef otb::ComputeGainLutFilter< HistoImageType , LutImageType > FilterType; + + typedef otb::ImageFileReader< InputImageType > ReaderImageType; + typedef otb::ImageFileReader< HistoImageType > ReaderType; + typedef otb::ImageFileWriter< LutImageType > WriterType; + ReaderImageType::Pointer readerImage( ReaderImageType::New() ); + ReaderType::Pointer reader( ReaderType::New() ); + WriterType::Pointer writer ( WriterType::New() ); + readerImage->SetFileName( "/home/antoine/dev/my_data/test/smallinput.tif" ); + reader->SetFileName( "/home/antoine/dev/my_data/test/small_glob_histo_ref.tif" ); + writer->SetFileName( "/home/antoine/dev/my_data/test/small_glob_lut.tif" ); + reader->UpdateOutputInformation(); + readerImage->UpdateOutputInformation(); + + FilterType::Pointer computeGainLut ( FilterType::New() ); + + computeGainLut->SetInput( reader->GetOutput() ); + computeGainLut->SetMin(0); + computeGainLut->SetMax(255); + auto size = readerImage->GetOutput()->GetLargestPossibleRegion().GetSize(); + auto nbPix = size[0]*size[1]; + computeGainLut->SetNbPixel( nbPix ); + + writer->SetInput( computeGainLut->GetOutput() ); + writer->Update(); + + auto index = computeGainLut->GetOutput()->GetLargestPossibleRegion().GetIndex(); + std::cout<<computeGainLut->GetOutput()->GetPixel( index )<<std::endl; + + return EXIT_SUCCESS; +} diff --git a/Modules/Filtering/Contrast/test/otbContrastTestDriver.cxx b/Modules/Filtering/Contrast/test/otbContrastTestDriver.cxx index 4a4311f5982044256511ca7af8ce2194ca425700..5bc08fb03dff322793e3c44622cc60c65e15e586 100644 --- a/Modules/Filtering/Contrast/test/otbContrastTestDriver.cxx +++ b/Modules/Filtering/Contrast/test/otbContrastTestDriver.cxx @@ -25,6 +25,7 @@ void RegisterTests() REGISTER_TEST(otbComputeHistoFilterNew); REGISTER_TEST(otbComputeHistoFilter); REGISTER_TEST(otbComputeGainLutFilterNew); + REGISTER_TEST(otbComputeGainLutFilter); REGISTER_TEST(otbApplyGainFilterNew); REGISTER_TEST(otbCLHistogramEqualizationFilterNew); REGISTER_TEST(otbCLHistogramEqualizationFilter);