Image Component Library (ICL)
Public Member Functions | Private Attributes | List of all members
icl::io::GenericImageOutput Class Reference

Generic Sink for images. More...

#include <GenericImageOutput.h>

Inheritance diagram for icl::io::GenericImageOutput:
icl::io::ImageOutput icl::io::ImageCompressor icl::utils::Uncopyable

Public Member Functions

 GenericImageOutput ()
 Null constructor. More...
 
 GenericImageOutput (const std::string &type, const std::string &description)
 Create and initialize. More...
 
 GenericImageOutput (const utils::ProgArg &pa)
 Create from given program argument. More...
 
void init (const std::string &type, const std::string &description)
 initialize this instance More...
 
void init (const utils::ProgArg &pa)
 initialization method (from given progarg) More...
 
void release ()
 releases the internal plugin (after this, isNull() returns true again!) More...
 
virtual void send (const core::ImgBase *image)
 sends a new image More...
 
bool isNull () const
 returns whether this instance was already initialized More...
 
const std::string & getType () const
 retusn current type string More...
 
const std::string & getDescription () const
 retusn current description string More...
 
virtual void setCompression (const ImageCompressor::CompressionSpec &spec)
 sets the implementations compression options More...
 
virtual CompressionSpec getCompression () const
 returns the implementation's current compression type (result.first) and quality (result.second) More...
 
- Public Member Functions inherited from icl::io::ImageOutput
virtual ~ImageOutput ()
 virtual destructor More...
 
virtual CompressionSpec getCompression () const
 provide the protectedly inherited image compressor options here More...
 
virtual void setCompression (const CompressionSpec &spec)
 provide the protectedly inherited image compressor options here More...
 

Private Attributes

std::string type
 
std::string description
 
utils::SmartPtr< ImageOutputimpl
 

Additional Inherited Members

- Protected Member Functions inherited from icl::io::ImageCompressor
Header uncompressHeader (const icl8u *compressedData, int len)
 only decodes an image header More...
 
Header createHeader (const core::ImgBase *image, bool skipMetaData)
 creates a header for a given image (not data will be null) More...
 
 ImageCompressor (const CompressionSpec &spec=CompressionSpec("none"))
 Creates an image Compressor with given compression mode. More...
 
 ~ImageCompressor ()
 Destructor. More...
 
utils::Time pickTimeStamp (const icl8u *compressedData)
 this can help to find out wheter the data is new and must be encoded More...
 
const CompressedData compress (const core::ImgBase *image, bool skipMetaData=false)
 encodes a given image into the compressed code More...
 
const core::ImgBaseuncompress (const icl8u *compressedData, int len, core::ImgBase **dst=0)
 decodes the given byte segment More...
 
- Protected Member Functions inherited from icl::utils::Uncopyable
 Uncopyable ()
 Empty base constructor. More...
 

Detailed Description

Generic Sink for images.

Like the GenericGrabber, the GenericImageOutput provides a string-configurable interface for arbitrary image sinks.

Supported Backends

Supported Backends are:

Image Meta Data

Only a few backends do actually support sending also image meta data. So far, this is only supported by the RSB and by the shared memory backend, however, we plan to add this feature at least for the .icl-file core::format. The corresponding GenericGrabber backends for these types are also able to deserialize the images meta data

Constructor & Destructor Documentation

◆ GenericImageOutput() [1/3]

icl::io::GenericImageOutput::GenericImageOutput ( )
inline

Null constructor.

◆ GenericImageOutput() [2/3]

icl::io::GenericImageOutput::GenericImageOutput ( const std::string &  type,
const std::string &  description 
)

Create and initialize.

See also
init

◆ GenericImageOutput() [3/3]

icl::io::GenericImageOutput::GenericImageOutput ( const utils::ProgArg pa)

Create from given program argument.

Member Function Documentation

◆ getCompression()

virtual CompressionSpec icl::io::GenericImageOutput::getCompression ( ) const
inlinevirtual

returns the implementation's current compression type (result.first) and quality (result.second)

Reimplemented from icl::io::ImageCompressor.

◆ getDescription()

const std::string& icl::io::GenericImageOutput::getDescription ( ) const
inline

retusn current description string

◆ getType()

const std::string& icl::io::GenericImageOutput::getType ( ) const
inline

retusn current type string

◆ init() [1/2]

void icl::io::GenericImageOutput::init ( const std::string &  type,
const std::string &  description 
)

initialize this instance

◆ init() [2/2]

void icl::io::GenericImageOutput::init ( const utils::ProgArg pa)

initialization method (from given progarg)

◆ isNull()

bool icl::io::GenericImageOutput::isNull ( ) const
inline

returns whether this instance was already initialized

◆ release()

void icl::io::GenericImageOutput::release ( )

releases the internal plugin (after this, isNull() returns true again!)

◆ send()

virtual void icl::io::GenericImageOutput::send ( const core::ImgBase image)
inlinevirtual

sends a new image

Implements icl::io::ImageOutput.

◆ setCompression()

virtual void icl::io::GenericImageOutput::setCompression ( const ImageCompressor::CompressionSpec spec)
inlinevirtual

sets the implementations compression options

Reimplemented from icl::io::ImageCompressor.

Member Data Documentation

◆ description

std::string icl::io::GenericImageOutput::description
private

◆ impl

utils::SmartPtr<ImageOutput> icl::io::GenericImageOutput::impl
private

◆ type

std::string icl::io::GenericImageOutput::type
private

The documentation for this class was generated from the following file: