diff --git a/Code/IO/otbStreamingImageVirtualWriter.h b/Code/IO/otbStreamingImageVirtualWriter.h index ec8d48db979b3a821d1eb9b8122ad0e945aa71ef..0b5db086be5a4aff754c7cbe78bb0cc7bb9d1b58 100644 --- a/Code/IO/otbStreamingImageVirtualWriter.h +++ b/Code/IO/otbStreamingImageVirtualWriter.h @@ -94,6 +94,14 @@ public: m_StreamingManager = streamingManager; } + /** Set the streaming mode to 'stripped' and configure the number of strips + * which will be used to stream the image */ + void SetNumberOfDivisionsStrippedStreaming(unsigned int nbDivisions); + + /** Set the streaming mode to 'tiled' and configure the number of tiles + * which will be used to stream the image */ + void SetNumberOfDivisionsTiledStreaming(unsigned int nbDivisions); + /** Set the streaming mode to 'stripped' and configure the number of strips * which will be used to stream the image */ void SetNumberOfLinesStrippedStreaming(unsigned int nbLinesPerStrip); diff --git a/Code/IO/otbStreamingImageVirtualWriter.txx b/Code/IO/otbStreamingImageVirtualWriter.txx index bae2553bd0bcb426ac2f6880e8a27813c2675c86..0bcf560b6703ee4c684054432e09ead1f17074d8 100644 --- a/Code/IO/otbStreamingImageVirtualWriter.txx +++ b/Code/IO/otbStreamingImageVirtualWriter.txx @@ -23,6 +23,8 @@ #include "otbConfigure.h" #include "itkCommand.h" +#include "otbNumberOfDivisionsStrippedStreamingManager.h" +#include "otbNumberOfDivisionsTiledStreamingManager.h" #include "otbNumberOfLinesStrippedStreamingManager.h" #include "otbRAMDrivenStrippedStreamingManager.h" #include "otbTileDimensionTiledStreamingManager.h" @@ -54,6 +56,30 @@ StreamingImageVirtualWriter<TInputImage> Superclass::PrintSelf(os, indent); } +template <class TInputImage> +void +StreamingImageVirtualWriter<TInputImage> +::SetNumberOfDivisionsStrippedStreaming(unsigned int nbDivisions) +{ + typedef NumberOfDivisionsStrippedStreamingManager<TInputImage> NumberOfDivisionsStrippedStreamingManagerType; + typename NumberOfDivisionsStrippedStreamingManagerType::Pointer streamingManager = NumberOfDivisionsStrippedStreamingManagerType::New(); + streamingManager->SetNumberOfDivisions(nbDivisions); + + m_StreamingManager = streamingManager; +} + +template <class TInputImage> +void +StreamingImageVirtualWriter<TInputImage> +::SetNumberOfDivisionsTiledStreaming(unsigned int nbDivisions) +{ + typedef NumberOfDivisionsTiledStreamingManager<TInputImage> NumberOfDivisionsTiledStreamingManagerType; + typename NumberOfDivisionsTiledStreamingManagerType::Pointer streamingManager = NumberOfDivisionsTiledStreamingManagerType::New(); + streamingManager->SetNumberOfDivisions(nbDivisions); + + m_StreamingManager = streamingManager; +} + template <class TInputImage> void StreamingImageVirtualWriter<TInputImage>