21 #ifndef otbStreamingImageVirtualWriter_h
22 #define otbStreamingImageVirtualWriter_h
25 #include "itkImageToImageFilter.h"
27 #include "itkFastMutexLock.h"
59 template <
class TInputImage>
65 typedef itk::ImageToImageFilter<TInputImage, TInputImage>
Superclass;
86 itkStaticConstMacro(InputImageDimension,
unsigned int, InputImageType::ImageDimension);
92 return m_StreamingManager;
99 m_StreamingManager = streamingManager;
104 void SetNumberOfDivisionsStrippedStreaming(
unsigned int nbDivisions);
108 void SetNumberOfDivisionsTiledStreaming(
unsigned int nbDivisions);
112 void SetNumberOfLinesStrippedStreaming(
unsigned int nbLinesPerStrip);
119 void SetAutomaticStrippedStreaming(
unsigned int availableRAM = 0,
double bias = 1.0);
123 void SetTileDimensionTiledStreaming(
unsigned int tileDimension);
131 void SetAutomaticTiledStreaming(
unsigned int availableRAM = 0,
double bias = 1.0);
139 void SetAutomaticAdaptativeStreaming(
unsigned int availableRAM = 0,
double bias = 1.0);
143 void Update()
override;
146 const bool& GetAbortGenerateData()
const override;
148 void SetAbortGenerateData(
const bool val)
override;
155 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
157 void GenerateData(
void)
override;
159 void GenerateInputRequestedRegion(
void)
override;
167 if (
typeid(event) !=
typeid(itk::ProgressEvent))
172 itk::ProcessObject* processObject =
dynamic_cast<itk::ProcessObject*
>(object);
175 m_DivisionProgress = processObject->GetProgress();
178 this->UpdateFilterProgress();
183 this->UpdateProgress((m_DivisionProgress + m_CurrentDivision) / m_NumberOfDivisions);
201 #ifndef OTB_MANUAL_INSTANTIATION