Skip to content
Snippets Groups Projects
Commit 4eb1cdd6 authored by Julien Malik's avatar Julien Malik
Browse files

BACKOUT: revert last changes on StreamingTraits

parent 4c3914f5
No related branches found
No related tags found
No related merge requests found
...@@ -28,8 +28,6 @@ ...@@ -28,8 +28,6 @@
#include "itkLinearInterpolateImageFunction.h" #include "itkLinearInterpolateImageFunction.h"
#include "itkNearestNeighborInterpolateImageFunction.h" #include "itkNearestNeighborInterpolateImageFunction.h"
#include "otbImageRegionSquareTileSplitter.h"
namespace otb namespace otb
{ {
...@@ -55,30 +53,32 @@ unsigned long StreamingTraitsBase<TImage> ...@@ -55,30 +53,32 @@ unsigned long StreamingTraitsBase<TImage>
break; break;
case SET_BUFFER_MEMORY_SIZE: case SET_BUFFER_MEMORY_SIZE:
{ {
const unsigned long bufferMemorySizeOctet = bufferMemorySize / 8;
unsigned long numberColumnsOfRegion = region.GetSize()[0]; // X dimension unsigned long numberColumnsOfRegion = region.GetSize()[0]; // X dimension
const unsigned long sizeLineInBytes = numberColumnsOfRegion * \ const unsigned long sizeLine = numberColumnsOfRegion * \
image->GetNumberOfComponentsPerPixel() * \ image->GetNumberOfComponentsPerPixel() * \
sizeof(PixelType); sizeof(PixelType);
unsigned long regionSizeInBytes = region.GetSize()[1] * sizeLineInBytes; unsigned long regionSize = region.GetSize()[1] * sizeLine;
otbMsgDevMacro(<< "image->GetNumberOfComponentsPerPixel() = " << image->GetNumberOfComponentsPerPixel()); otbMsgDevMacro(<< "image->GetNumberOfComponentsPerPixel() = " << image->GetNumberOfComponentsPerPixel());
otbMsgDevMacro(<< "sizeof(PixelType) = " << sizeof(PixelType)); otbMsgDevMacro(<< "sizeof(PixelType) = " << sizeof(PixelType));
otbMsgDevMacro(<< "numberColumnsOfRegion = " << numberColumnsOfRegion); otbMsgDevMacro(<< "numberColumnsOfRegion = " << numberColumnsOfRegion);
otbMsgDevMacro(<< "sizeLine = " << sizeLineInBytes); otbMsgDevMacro(<< "sizeLine = " << sizeLine);
otbMsgDevMacro(<< "regionSize = " << regionSizeInBytes); otbMsgDevMacro(<< "regionSize = " << regionSize);
otbMsgDevMacro(<< "BufferMemorySize = " << bufferMemorySize); otbMsgDevMacro(<< "BufferMemorySize = " << bufferMemorySize);
otbMsgDevMacro(<< "bufferMemorySizeOctet = " << bufferMemorySizeOctet);
//Active streaming //Active streaming
if (regionSizeInBytes > bufferMemorySize) if (regionSize > bufferMemorySizeOctet)
{ {
//The regionSize must be at list equal to the sizeLine //The regionSize must be at list equal to the sizeLine
if (regionSizeInBytes < sizeLineInBytes) if (regionSize < sizeLine)
{ {
otbMsgDevMacro(<< "Force buffer size."); otbMsgDevMacro(<< "Force buffer size.");
regionSizeInBytes = sizeLineInBytes; regionSize = sizeLine;
} }
//Calculate NumberOfStreamDivisions //Calculate NumberOfStreamDivisions
numDivisions = static_cast<unsigned long>( numDivisions = static_cast<unsigned long>(
vcl_ceil(static_cast<double>(regionSizeInBytes) / static_cast<double>(bufferMemorySize)) vcl_ceil(static_cast<double>(regionSize) / static_cast<double>(bufferMemorySizeOctet))
); );
} }
else else
...@@ -161,19 +161,6 @@ unsigned long StreamingTraitsBase<TImage> ...@@ -161,19 +161,6 @@ unsigned long StreamingTraitsBase<TImage>
otbMsgDevMacro(<< "streamMaxSizeBufferForStreaming in Bytes = " << streamMaxSizeBufferForStreamingInBytes); otbMsgDevMacro(<< "streamMaxSizeBufferForStreaming in Bytes = " << streamMaxSizeBufferForStreamingInBytes);
// Is the splitter a otb::ImageRegionSquareTileSplitter ?
otb::ImageRegionSquareTileSplitter<2>* squareTileSplitter = dynamic_cast<otb::ImageRegionSquareTileSplitter<2>*>(splitter);
if (squareTileSplitter)
{
// in that case, inform it about PixelSize so that the tiles
squareTileSplitter->SetPixelSizeInBytes(static_cast<std::streamoff>(image->GetNumberOfComponentsPerPixel()) *
static_cast<std::streamoff>(sizeof(PixelType)));
squareTileSplitter->SetTileSizeInBytes(streamMaxSizeBufferForStreamingInBytes);
}
//Calculate NumberOfStreamDivisions //Calculate NumberOfStreamDivisions
numDivisions = numDivisions =
static_cast<unsigned long>(vcl_ceil(static_cast<double>(regionSizeInBytes) / static_cast<unsigned long>(vcl_ceil(static_cast<double>(regionSizeInBytes) /
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment