From 4d5a5ddc5763460c7a1000c007be04512eb93b9e Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@orfeo-toolbox.org>
Date: Tue, 24 Mar 2009 09:43:56 +0100
Subject: [PATCH] TEST: Generating quicklook by hands because
 ImageLayerGenerator computes the subsampling rate according to screen
 resolution

---
 Testing/Code/Visualization/CMakeLists.txt           |  1 +
 .../otbImageLayerRenderingModelSingleLayer.cxx      | 13 ++++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/Testing/Code/Visualization/CMakeLists.txt b/Testing/Code/Visualization/CMakeLists.txt
index 7d341484f2..49ace5940e 100644
--- a/Testing/Code/Visualization/CMakeLists.txt
+++ b/Testing/Code/Visualization/CMakeLists.txt
@@ -181,6 +181,7 @@ ${INPUTDATA}/couleurs.tif
 ${TEMP}/vrTvImageLayerRenderingModelSingleLayerQuicklookOutput.png
 ${TEMP}/vrTvImageLayerRenderingModelSingleLayerExtractOutput.png
 ${TEMP}/vrTvImageLayerRenderingModelSingleLayerScaledExtractOutput.png
+10
 )
 
 #------------ otb::ImageLayerGenerator ------------
diff --git a/Testing/Code/Visualization/otbImageLayerRenderingModelSingleLayer.cxx b/Testing/Code/Visualization/otbImageLayerRenderingModelSingleLayer.cxx
index a5b3fa91c6..0c580c796a 100644
--- a/Testing/Code/Visualization/otbImageLayerRenderingModelSingleLayer.cxx
+++ b/Testing/Code/Visualization/otbImageLayerRenderingModelSingleLayer.cxx
@@ -41,6 +41,7 @@ int otbImageLayerRenderingModelSingleLayer( int argc, char * argv[] )
   typedef otb::ImageLayerGenerator<LayerType>        LayerGeneratorType;
   typedef otb::ImageLayerRenderingModel<OutputImageType>     ModelType;
   typedef otb::ImageFileWriter<OutputImageType>      WriterType;
+  typedef LayerGeneratorType::ResampleFilterType     ResampleFilterType;
 
   // Instantiation
   ModelType::Pointer model = ModelType::New();
@@ -48,9 +49,19 @@ int otbImageLayerRenderingModelSingleLayer( int argc, char * argv[] )
   // Reading input image
   ReaderType::Pointer reader = ReaderType::New();
   reader->SetFileName(infname);
-  
+
+  // Resampling (generator resampling depends on screen resolution, so
+  // we are generating quicklook outside of the generator)
+  ResampleFilterType::Pointer resampler = ResampleFilterType::New();
+  resampler->SetInput(reader->GetOutput());
+  resampler->SetShrinkFactor(atoi(argv[5]));
+  resampler->Update();
+
   // Generate the layer
   LayerGeneratorType::Pointer generator = LayerGeneratorType::New();
+  generator->GenerateQuicklookOff();
+  generator->SetSubsamplingRate(atoi(argv[5]));
+  generator->SetQuicklook(resampler->GetOutput());
   generator->SetImage(reader->GetOutput());
   generator->GenerateLayer();
 
-- 
GitLab