diff --git a/Testing/Code/Radiometry/CMakeLists.txt b/Testing/Code/Radiometry/CMakeLists.txt index 37449a3cb1ee28dbc2fbc5e672864c1b4d2f7d76..ae75eeb47725be16497e2ea13d50a12e5233b4f1 100644 --- a/Testing/Code/Radiometry/CMakeLists.txt +++ b/Testing/Code/Radiometry/CMakeLists.txt @@ -1052,6 +1052,7 @@ ADD_TEST(raTvTerraSarCalibrationImageFilterTest ${RADIOMETRY_TESTS9} ${TEMP}/raTvTerraSarCalibrationImageFilterTest.tif ) + # ------- TerraSarBrightnessImageFunctor ------------------------------ ADD_TEST(raTvTerraSarBrightnessImageFunctor ${RADIOMETRY_TESTS9} --compare-ascii ${EPSILON} @@ -1083,13 +1084,23 @@ ADD_TEST(raTvTerraSarBrightnessImageFilterTest ${RADIOMETRY_TESTS9} IF(OTB_DATA_USE_LARGEINPUT) ADD_TEST(raTvTerraSarBrightnessImageFilterUPSALA ${RADIOMETRY_TESTS9} --compare-image ${EPSILON} - ${BASELINE}//raTvTerraSarBrightnessImageFilter_UPSALA.tif - ${TEMP}//raTvTerraSarBrightnessImageFilter_UPSALA.tif + ${BASELINE}/raTvTerraSarBrightnessImageFilter_UPSALA.tif + ${TEMP}/raTvTerraSarBrightnessImageFilter_UPSALA.tif otbTerraSarBrightnessImageFilterTest ${LARGEINPUT}/TERRASARX/UPSALA_GLACIER/TSX1_SAR__MGD/IMAGEDATA/IMAGE_HH_SRA_strip_012.tif ${TEMP}/raTvTerraSarBrightnessImageFilter_UPSALA.tif 0 # don't set calfactor ) + +ADD_TEST(raTvTerraSarBrightnessImageFilterTORONTO ${RADIOMETRY_TESTS9} + --compare-image ${EPSILON} + ${BASELINE}/raTvTerraSarBrightnessImageFilter_TORONTO.tif + ${TEMP}/raTvTerraSarBrightnessImageFilter_TORONTO.tif + otbTerraSarBrightnessImageFilterTest + ${LARGEINPUT}/TERRASARX/TORONTO/TSX1_SAR__SSC/IMAGEDATA/IMAGE_HH_SRA_spot_074.cos + ${TEMP}/raTvTerraSarBrightnessImageFilter_TORONTO.tif + 0 # don't set calfactor +) ENDIF(OTB_DATA_USE_LARGEINPUT) diff --git a/Testing/Code/Radiometry/otbTerraSarBrightnessImageFilterTest.cxx b/Testing/Code/Radiometry/otbTerraSarBrightnessImageFilterTest.cxx index 26c5c9bfa1897f3248bf2dec05eb58860b02cbd8..c335ebca2c0cbf196907dc2349e869a0307cb9a2 100644 --- a/Testing/Code/Radiometry/otbTerraSarBrightnessImageFilterTest.cxx +++ b/Testing/Code/Radiometry/otbTerraSarBrightnessImageFilterTest.cxx @@ -19,6 +19,7 @@ #include "otbTerraSarBrightnessImageFilter.h" #include "otbImage.h" +#include "itkExtractImageFilter.h" #include "otbImageFileReader.h" #include "otbImageFileWriter.h" @@ -27,30 +28,47 @@ int otbTerraSarBrightnessImageFilterTest(int argc, char * argv[]) { const char * inputFileName = argv[1]; const char * outputFileName = argv[2]; + bool useMetadata = true; + if(atoi(argv[3]) != 1) + useMetadata = true; typedef otb::Image<double, 2> ImageType; typedef otb::ImageFileReader<ImageType> ReaderType; typedef otb::ImageFileWriter<ImageType> WriterType; typedef otb::TerraSarBrightnessImageFilter<ImageType, ImageType> FilterType; + typedef itk::ExtractImageFilter<ImageType, ImageType> ExtractorType; - - ReaderType::Pointer reader = ReaderType::New(); - WriterType::Pointer writer = WriterType::New(); - - FilterType::Pointer filter = FilterType::New(); + ReaderType::Pointer reader = ReaderType::New(); + WriterType::Pointer writer = WriterType::New(); + FilterType::Pointer filter = FilterType::New(); + ExtractorType::Pointer extractor = ExtractorType::New(); + reader->SetFileName(inputFileName); writer->SetFileName(outputFileName); - reader->UpdateOutputInformation(); - - //std::cout<<reader->GetOutput()->GetNumberOfComponentsPerPixel()<<std::endl; - - if( atoi(argv[3]) == 1 ) - filter->SetCalFactor( 10 ); - filter->SetInput(reader->GetOutput()); - writer->SetInput(filter->GetOutput()); + + if( useMetadata ) + { + // Generate an extract from the large input + ImageType::RegionType region; + ImageType::IndexType id; + id[0] = 50; id[1] = 100; + ImageType::SizeType size; + size[0] = 150; size[1] = 100; + region.SetIndex(id); + region.SetSize(size); + extractor->SetExtractionRegion(region); + + extractor->SetInput(filter->GetOutput()); + writer->SetInput(extractor->GetOutput()); + } + else + { + filter->SetCalFactor( 10 ); + writer->SetInput(filter->GetOutput()); + } writer->Update();