diff --git a/Code/Visualization/Viewer/Model/otbViewerModel.cxx b/Code/Visualization/Viewer/Model/otbViewerModel.cxx index 6f9584dbfa3f8adfe9e9439a38b43000352cd810..bec4025633aa5660a4ab27497bc2124ae5384136 100644 --- a/Code/Visualization/Viewer/Model/otbViewerModel.cxx +++ b/Code/Visualization/Viewer/Model/otbViewerModel.cxx @@ -142,7 +142,6 @@ ViewerModel // If jpeg2000, add the selected resolution at the end of the file name if( isJPEG2000 ) { -// unsigned int resolution = 0; otbFilepath += ":"; std::ostringstream ossRes; ossRes << id; @@ -171,11 +170,11 @@ ViewerModel quicklook= jpeg2000QLReader->GetOutput(); quicklook->DisconnectPipeline(); shrinkFactor = (1 << (resSize - 1)); + + // Adapt the shrinkFactor to the asked resolution (here it is id) + shrinkFactor = shrinkFactor/(1<<id); } - //// If not jpeg2000 or trouble in jpeg2000 quicloock, use a - //// streaming shrink image filter -// unsigned int maxSize = std::max( reader->GetOutput()->GetLargestPossibleRegion().GetSize()[0], -// reader->GetOutput()->GetLargestPossibleRegion().GetSize()[1] ); + if (quicklook.IsNull()) { typedef otb::StreamingShrinkImageFilter<ImageType> StreamingShrinkImageFilterType; @@ -205,6 +204,7 @@ ViewerModel visuGenerator->SetImage(reader->GetOutput()); visuGenerator->GenerateQuicklookOff(); visuGenerator->SetQuicklook(quicklook); + visuGenerator->SetSubsamplingRate(shrinkFactor); visuGenerator->GenerateLayer(); RenderingFunctionType::Pointer rendrerFunction = visuGenerator->GetRenderingFunction();