OTB
9.0.0
Orfeo Toolbox
|
#include <otbImageFileWriter.h>
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectPointer | DataObjectPointer |
typedef ExtendedFilenameToWriterOptions | FNameHelperType |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef InputImageType::IndexType | InputIndexType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TInputImage | OutputImageType |
typedef itk::SmartPointer< Self > | Pointer |
typedef ImageFileWriter | Self |
typedef StreamingManagerType::Pointer | StreamingManagerPointerType |
typedef StreamingManager< InputImageType > | StreamingManagerType |
typedef itk::ProcessObject | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
const InputImageType * | GetInput () |
virtual const char * | GetNameOfClass () const |
StreamingManagerType * | GetStreamingManager (void) |
void | SetAutomaticAdaptativeStreaming (unsigned int availableRAM=0, double bias=1.0) |
void | SetAutomaticStrippedStreaming (unsigned int availableRAM=0, double bias=1.0) |
void | SetAutomaticTiledStreaming (unsigned int availableRAM=0, double bias=1.0) |
virtual void | SetInput (const InputImageType *input) |
void | SetNumberOfDivisionsStrippedStreaming (unsigned int nbDivisions) |
void | SetNumberOfDivisionsTiledStreaming (unsigned int nbDivisions) |
void | SetNumberOfLinesStrippedStreaming (unsigned int nbLinesPerStrip) |
void | SetStreamingManager (StreamingManagerType *streamingManager) |
void | SetTileDimensionTiledStreaming (unsigned int tileDimension) |
void | Update () override |
virtual void | SetFileName (const std::string &extendedFileName) |
virtual const char * | GetFileName () const |
Static Public Member Functions | |
static Pointer | New () |
Writes image data to a single file with streaming process.
ImageFileWriter writes its input data to a single output file. ImageFileWriter interfaces with an ImageIO class to write out the data with streaming process.
ImageFileWriter will divide the output into several pieces (controlled by SetNumberOfDivisionsStrippedStreaming, SetNumberOfLinesStrippedStreaming, SetAutomaticStrippedStreaming, SetTileDimensionTiledStreaming or SetAutomaticTiledStreaming), and call the upstream pipeline for each piece, tiling the individual outputs into one large output. This reduces the memory footprint for the application since each filter does not have to process the entire dataset at once.
ImageFileWriter will write directly the streaming buffer in the image file, so that the output image never needs to be completely allocated
ImageFileWriter supports extended filenames, which allow controlling some properties of the output file. See http://wiki.orfeo-toolbox.org/index.php/ExtendedFileName for more information.
Definition at line 66 of file otbImageFileWriter.h.
typedef itk::SmartPointer<const Self> otb::ImageFileWriter< TInputImage >::ConstPointer |
Definition at line 73 of file otbImageFileWriter.h.
typedef Superclass::DataObjectPointer otb::ImageFileWriter< TInputImage >::DataObjectPointer |
Definition at line 91 of file otbImageFileWriter.h.
typedef ExtendedFilenameToWriterOptions otb::ImageFileWriter< TInputImage >::FNameHelperType |
The Filename Helper.
Definition at line 94 of file otbImageFileWriter.h.
typedef InputImageType::PixelType otb::ImageFileWriter< TInputImage >::InputImagePixelType |
Definition at line 85 of file otbImageFileWriter.h.
typedef InputImageType::Pointer otb::ImageFileWriter< TInputImage >::InputImagePointer |
Definition at line 83 of file otbImageFileWriter.h.
typedef InputImageType::RegionType otb::ImageFileWriter< TInputImage >::InputImageRegionType |
Definition at line 84 of file otbImageFileWriter.h.
typedef TInputImage otb::ImageFileWriter< TInputImage >::InputImageType |
Some typedefs for the input and output.
Definition at line 79 of file otbImageFileWriter.h.
typedef InputImageType::IndexType otb::ImageFileWriter< TInputImage >::InputIndexType |
Definition at line 86 of file otbImageFileWriter.h.
typedef OutputImageType::PixelType otb::ImageFileWriter< TInputImage >::OutputImagePixelType |
Definition at line 90 of file otbImageFileWriter.h.
typedef OutputImageType::Pointer otb::ImageFileWriter< TInputImage >::OutputImagePointer |
Definition at line 88 of file otbImageFileWriter.h.
typedef OutputImageType::RegionType otb::ImageFileWriter< TInputImage >::OutputImageRegionType |
Definition at line 89 of file otbImageFileWriter.h.
typedef TInputImage otb::ImageFileWriter< TInputImage >::OutputImageType |
Definition at line 87 of file otbImageFileWriter.h.
typedef itk::SmartPointer<Self> otb::ImageFileWriter< TInputImage >::Pointer |
Definition at line 72 of file otbImageFileWriter.h.
typedef ImageFileWriter otb::ImageFileWriter< TInputImage >::Self |
Standard class typedefs.
Definition at line 70 of file otbImageFileWriter.h.
typedef StreamingManagerType::Pointer otb::ImageFileWriter< TInputImage >::StreamingManagerPointerType |
Definition at line 101 of file otbImageFileWriter.h.
typedef StreamingManager<InputImageType> otb::ImageFileWriter< TInputImage >::StreamingManagerType |
Streaming manager base class pointer
Definition at line 100 of file otbImageFileWriter.h.
typedef itk::ProcessObject otb::ImageFileWriter< TInputImage >::Superclass |
Definition at line 71 of file otbImageFileWriter.h.
|
protected |
ImageFileWriter Parameters
Definition at line 61 of file otbImageFileWriter.hxx.
|
overrideprotected |
ImageFileWriter Parameters
Definition at line 90 of file otbImageFileWriter.hxx.
|
privatedelete |
ImageFileWriter Parameters
virtual::itk::LightObject::Pointer otb::ImageFileWriter< TInputImage >::CreateAnother | ( | void | ) | const |
|
overrideprotected |
Does the real work.
Definition at line 688 of file otbImageFileWriter.hxx.
|
overrideprotected |
Prepare the streaming and write the output information on disk
Prepare everything and call m_ImageIO.WriteInformation()
Parse streaming modes
Prepare ImageIO : create ImageFactory
End of Prepare ImageIO : create ImageFactory
Grab the input
Parse region size modes
Determine of number of pieces to divide the input. This will be the minimum of what the user specified via SetNumberOfDivisionsStrippedStreaming() and what the Splitter thinks is a reasonable value.
Control if the ImageIO is CanStreamWrite
Compare the buffered region with the inputRegion which is the largest possible region or a user defined region through extended filename Not sure that if this modification is needed
Create Image file
Definition at line 241 of file otbImageFileWriter.hxx.
|
override |
This override doesn't return a const ref on the actual boolean
Definition at line 818 of file otbImageFileWriter.hxx.
|
virtual |
Definition at line 812 of file otbImageFileWriter.hxx.
|
virtual |
ImageFileWriter Parameters
|
virtual |
ImageFileWriter Parameters
const TInputImage * otb::ImageFileWriter< TInputImage >::GetInput |
Get writer only input
Definition at line 229 of file otbImageFileWriter.hxx.
|
virtual |
ImageFileWriter Parameters
|
virtual |
Run-time type information (and related methods).
|
inline |
Return the StreamingManager object responsible for dividing the region to write
Definition at line 105 of file otbImageFileWriter.h.
|
virtual |
ImageFileWriter Parameters
|
virtual |
ImageFileWriter Parameters
otb::ImageFileWriter< TInputImage >::itkGetObjectMacro | ( | ImageIO | , |
otb::ImageIOBase | |||
) |
ImageFileWriter Parameters
|
static |
Method for creation through the object factory.
Referenced by otb::ScalarBufferToImageFileWriter< TBufferType, TOutputPixelType >::ScalarBufferToImageFileWriter().
|
inlineprivate |
ImageFileWriter Parameters
Definition at line 229 of file otbImageFileWriter.h.
|
privatedelete |
ImageFileWriter Parameters
|
overrideprotected |
ImageFileWriter Parameters
Definition at line 164 of file otbImageFileWriter.hxx.
|
override |
ImageFileWriter Parameters
Definition at line 830 of file otbImageFileWriter.hxx.
void otb::ImageFileWriter< TInputImage >::SetAutomaticAdaptativeStreaming | ( | unsigned int | availableRAM = 0 , |
double | bias = 1.0 |
||
) |
Set the streaming mode to 'adaptative' and configure the number of MB available. The actual number of divisions is computed automatically by estimating the memory consumption of the pipeline. Tiles will try to match the input file tile scheme. Setting the availableRAM parameter to 0 means that the available RAM is set from the CMake configuration option
Definition at line 151 of file otbImageFileWriter.hxx.
void otb::ImageFileWriter< TInputImage >::SetAutomaticStrippedStreaming | ( | unsigned int | availableRAM = 0 , |
double | bias = 1.0 |
||
) |
Set the streaming mode to 'stripped' and configure the number of MB available. The actual number of divisions is computed automatically by estimating the memory consumption of the pipeline. Setting the availableRAM parameter to 0 means that the available RAM is set from the CMake configuration option. The bias parameter is a multiplier applied on the estimated memory size of the pipeline and can be used to fine tune the potential gap between estimated memory and actual memory used, which can happen because of composite filters for example
Definition at line 122 of file otbImageFileWriter.hxx.
void otb::ImageFileWriter< TInputImage >::SetAutomaticTiledStreaming | ( | unsigned int | availableRAM = 0 , |
double | bias = 1.0 |
||
) |
Set the streaming mode to 'tiled' and configure the number of MB available. The actual number of divisions is computed automatically by estimating the memory consumption of the pipeline. Tiles will be square. Setting the availableRAM parameter to 0 means that the available RAM is set from the CMake configuration option The bias parameter is a multiplier applied on the estimated memory size of the pipeline and can be used to fine tune the potential gap between estimated memory and actual memory used, which can happen because of composite filters for example
Definition at line 141 of file otbImageFileWriter.hxx.
|
virtual |
Definition at line 803 of file otbImageFileWriter.hxx.
Referenced by otb::MultiImageFileWriter::Sink< TImage >::Sink().
|
virtual |
ImageFileWriter Parameters
|
virtual |
Definition at line 223 of file otbImageFileWriter.hxx.
Referenced by otb::MultiImageFileWriter::Sink< TImage >::Sink().
void otb::ImageFileWriter< TInputImage >::SetIORegion | ( | const itk::ImageIORegion & | region | ) |
Specify the region to write. If left NULL, then the whole image is written.
Definition at line 212 of file otbImageFileWriter.hxx.
void otb::ImageFileWriter< TInputImage >::SetNumberOfDivisionsStrippedStreaming | ( | unsigned int | nbDivisions | ) |
Set the streaming mode to 'stripped' and configure the number of strips which will be used to stream the image
Definition at line 95 of file otbImageFileWriter.hxx.
void otb::ImageFileWriter< TInputImage >::SetNumberOfDivisionsTiledStreaming | ( | unsigned int | nbDivisions | ) |
Set the streaming mode to 'tiled' and configure the number of tiles which will be used to stream the image
Definition at line 104 of file otbImageFileWriter.hxx.
void otb::ImageFileWriter< TInputImage >::SetNumberOfLinesStrippedStreaming | ( | unsigned int | nbLinesPerStrip | ) |
Set the streaming mode to 'stripped' and configure the number of strips which will be used to stream the image with respect to a number of line per strip
Definition at line 113 of file otbImageFileWriter.hxx.
|
inline |
Set a user-specified implementation of StreamingManager used to divide the largest possible region in several divisions
Definition at line 112 of file otbImageFileWriter.h.
void otb::ImageFileWriter< TInputImage >::SetTileDimensionTiledStreaming | ( | unsigned int | tileDimension | ) |
Set the streaming mode to 'tiled' and configure the dimension of the tiles in pixels for each dimension (square tiles will be generated)
Definition at line 132 of file otbImageFileWriter.hxx.
|
virtual |
Set the compression On or Off
|
virtual |
By default the MetaDataDictionary is taken from the input image and passed to the ImageIO. In some cases, however, a user may prefer to introduce her/his own MetaDataDictionary. This is often the case of the ImageSeriesWriter. This flag defined whether the MetaDataDictionary to use will be the one from the input image or the one already set in the ImageIO object.
|
override |
Override Update() from ProcessObject because this filter has no output.
Update method : update output information of input and write to file
Tell all Observers that the filter is starting
Loop over the number of pieces, execute the upstream pipeline on each piece, and copy the results into the output image.
If we ended due to aborting, push the progress up to 1.0 (since it probably didn't end there)
Release any inputs if marked for release
Definition at line 578 of file otbImageFileWriter.hxx.
|
inlineprivate |
ImageFileWriter Parameters
Definition at line 245 of file otbImageFileWriter.h.
|
virtual |
ImageFileWriter Parameters
|
virtual |
ImageFileWriter Parameters
|
virtual |
ImageFileWriter Parameters
|
virtual |
ImageFileWriter Parameters
|
static |
Dimension of input image.
Definition at line 97 of file otbImageFileWriter.h.
|
private |
Mapping between origin components and output components (before any conversion)
Definition at line 282 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 251 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 252 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 263 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 255 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 272 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 257 of file otbImageFileWriter.h.
|
private |
Store the number of components to be exported to the output image This variable can be the number of components in m_ImageIO or the number of components in the m_BandList (if used)
Definition at line 287 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 261 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 276 of file otbImageFileWriter.h.
|
private |
Lock to ensure thread-safety (added for the AbortGenerateData flag)
Definition at line 290 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 250 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 277 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 278 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 274 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 264 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 265 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 259 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 262 of file otbImageFileWriter.h.
|
private |
ImageFileWriter Parameters
Definition at line 269 of file otbImageFileWriter.h.