OTB
9.0.0
Orfeo Toolbox
|
#include <otbStreamingManager.h>
Public Types | |
typedef itk::ImageRegionSplitterBase | AbstractSplitterType |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef ImageType::Pointer | ImagePointerType |
typedef TImage | ImageType |
typedef RegionType::IndexType | IndexType |
typedef otb::PipelineMemoryPrintCalculator::MemoryPrintType | MemoryPrintType |
typedef ImageType::InternalPixelType | PixelType |
typedef itk::SmartPointer< Self > | Pointer |
typedef ImageType::RegionType | RegionType |
typedef StreamingManager | Self |
typedef RegionType::SizeType | SizeType |
typedef itk::LightObject | Superclass |
Public Member Functions | |
virtual MemoryPrintType | GetDefaultRAM () |
virtual const char * | GetNameOfClass () const |
virtual unsigned int | GetNumberOfSplits () |
virtual RegionType | GetSplit (unsigned int i) |
const AbstractSplitterType * | GetSplitter () const |
virtual void | PrepareStreaming (itk::DataObject *input, const RegionType ®ion)=0 |
virtual void | SetDefaultRAM (MemoryPrintType _arg) |
Static Public Attributes | |
static const unsigned int | ImageDimension = ImageType::ImageDimension |
Protected Types | |
typedef AbstractSplitterType::Pointer | AbstractSplitterPointerType |
Protected Member Functions | |
virtual unsigned int | EstimateOptimalNumberOfDivisions (itk::DataObject *input, const RegionType ®ion, MemoryPrintType availableRAMInMB, double bias=1.0) |
StreamingManager () | |
~StreamingManager () override | |
Protected Attributes | |
unsigned int | m_ComputedNumberOfSplits |
RegionType | m_Region |
AbstractSplitterPointerType | m_Splitter |
Private Member Functions | |
MemoryPrintType | GetActualAvailableRAMInBytes (MemoryPrintType availableRAMInMB) |
void | operator= (const StreamingManager &)=delete |
StreamingManager (const StreamingManager &)=delete | |
Private Attributes | |
MemoryPrintType | m_DefaultRAM |
This class handles the streaming process used in the writers implementation.
The streaming mode can be chosen with either SetStrippedRAMStreamingMode, SetStrippedNumberOfLinesStreamingMode, SetTiledRAMStreamingMode, or SetTiledTileDimensionStreamingMode.
Then, PrepareStreaming must be called so that the stream type and dimensions are computed This involves passing the actual DataObject who will be written, since it will be used during memory estimation for some specific streaming modes.
After PrepareStreaming has been called, the actual number of splits and streaming mode which will be used can be retrieved with GetStreamingMode and GetNumberOfSplits. The different splits can be retrieved with GetSplit
Definition at line 53 of file otbStreamingManager.h.
|
protected |
The splitter used to compute the different strips
Definition at line 110 of file otbStreamingManager.h.
typedef itk::ImageRegionSplitterBase otb::StreamingManager< TImage >::AbstractSplitterType |
Definition at line 70 of file otbStreamingManager.h.
typedef itk::SmartPointer<const Self> otb::StreamingManager< TImage >::ConstPointer |
Definition at line 60 of file otbStreamingManager.h.
typedef ImageType::Pointer otb::StreamingManager< TImage >::ImagePointerType |
Definition at line 63 of file otbStreamingManager.h.
typedef TImage otb::StreamingManager< TImage >::ImageType |
Definition at line 62 of file otbStreamingManager.h.
typedef RegionType::IndexType otb::StreamingManager< TImage >::IndexType |
Definition at line 65 of file otbStreamingManager.h.
typedef otb::PipelineMemoryPrintCalculator::MemoryPrintType otb::StreamingManager< TImage >::MemoryPrintType |
Definition at line 69 of file otbStreamingManager.h.
typedef ImageType::InternalPixelType otb::StreamingManager< TImage >::PixelType |
Definition at line 67 of file otbStreamingManager.h.
typedef itk::SmartPointer<Self> otb::StreamingManager< TImage >::Pointer |
Definition at line 59 of file otbStreamingManager.h.
typedef ImageType::RegionType otb::StreamingManager< TImage >::RegionType |
Definition at line 64 of file otbStreamingManager.h.
typedef StreamingManager otb::StreamingManager< TImage >::Self |
Standard class typedefs.
Definition at line 57 of file otbStreamingManager.h.
typedef RegionType::SizeType otb::StreamingManager< TImage >::SizeType |
Definition at line 66 of file otbStreamingManager.h.
typedef itk::LightObject otb::StreamingManager< TImage >::Superclass |
Definition at line 58 of file otbStreamingManager.h.
|
protected |
Definition at line 32 of file otbStreamingManager.hxx.
|
overrideprotected |
Definition at line 37 of file otbStreamingManager.hxx.
|
privatedelete |
|
protectedvirtual |
Definition at line 68 of file otbStreamingManager.hxx.
|
private |
Compute the available RAM in Bytes from an input value in MByte. If the input value is 0, it uses the m_DefaultRAM value. If m_DefaultRAM is also 0, it uses the configuration settings
Definition at line 48 of file otbStreamingManager.hxx.
|
virtual |
|
virtual |
Type macro
Reimplemented in otb::RAMDrivenAdaptativeStreamingManager< TImage >, otb::TileDimensionTiledStreamingManager< TImage >, otb::RAMDrivenStrippedStreamingManager< TImage >, otb::NumberOfDivisionsStrippedStreamingManager< TImage >, otb::NumberOfLinesStrippedStreamingManager< TImage >, otb::RAMDrivenTiledStreamingManager< TImage >, and otb::NumberOfDivisionsTiledStreamingManager< TImage >.
|
virtual |
Returns the actual number of pieces that will be used to process the image. PrepareStreaming() must have been called before. This can be different than the requested number
Definition at line 158 of file otbStreamingManager.hxx.
|
virtual |
Get a region definition that represents the ith piece a specified region. The "numberOfPieces" must be equal to what GetNumberOfSplits() returns.
Definition at line 164 of file otbStreamingManager.hxx.
const StreamingManager< TImage >::AbstractSplitterType * otb::StreamingManager< TImage >::GetSplitter |
Definition at line 42 of file otbStreamingManager.hxx.
|
privatedelete |
|
pure virtual |
Actually computes the stream divisions, according to the specified streaming mode, eventually using the input parameter to estimate memory consumption
Implemented in otb::StreamingShrinkStreamingManager< TInputImage >, otb::RAMDrivenAdaptativeStreamingManager< TImage >, otb::RAMDrivenStrippedStreamingManager< TImage >, otb::RAMDrivenTiledStreamingManager< TImage >, otb::TileDimensionTiledStreamingManager< TImage >, otb::NumberOfDivisionsTiledStreamingManager< TImage >, otb::NumberOfLinesStrippedStreamingManager< TImage >, and otb::NumberOfDivisionsStrippedStreamingManager< TImage >.
|
virtual |
|
static |
Dimension of input image.
Definition at line 76 of file otbStreamingManager.h.
|
protected |
The number of splits generated by the splitter
Definition at line 104 of file otbStreamingManager.h.
|
private |
Default available RAM in MB
Definition at line 123 of file otbStreamingManager.h.
|
protected |
The region to stream
Definition at line 107 of file otbStreamingManager.h.
|
protected |
Definition at line 111 of file otbStreamingManager.h.