|  | Image Component Library (ICL)
    | 
Utility class that helps applying UnaryOps one after another. More...
#include <UnaryOpPipe.h>
 
  
| Public Member Functions | |
| UnaryOpPipe () | |
| create an empty pipe  More... | |
| ~UnaryOpPipe () | |
| Destructor.  More... | |
| void | add (UnaryOp *op, core::ImgBase *im=0) | 
| appends a new op on the end of this pipe (ownership of op and im is passed to the pipe)  More... | |
| UnaryOpPipe & | operator<< (UnaryOp *op) | 
| stream based wrapper for the add function (calls add(op,0))  More... | |
| virtual void | apply (const core::ImgBase *src, core::ImgBase **dst) | 
| applies all ops sequentially  More... | |
| virtual const core::ImgBase * | apply (const core::ImgBase *src) | 
| This function is reimplemented here; it uses getLastImage() as destination image.  More... | |
| int | getLength () const | 
| returns the number of contained ops  More... | |
| UnaryOp *& | getOp (int i) | 
| returns the op at given index  More... | |
| core::ImgBase *& | getImage (int i) | 
| returns the result buffer image at given index  More... | |
| core::ImgBase *& | getLastImage () | 
| returns the last image (which is not used by default)  More... | |
|  Public Member Functions inherited from icl::filter::UnaryOp | |
| UnaryOp () | |
| Explicit empty constructor.  More... | |
| UnaryOp (const UnaryOp &other) | |
| Explicit copy constructor.  More... | |
| UnaryOp & | operator= (const UnaryOp &other) | 
| Explicit declaration of the assignment operator.  More... | |
| virtual | ~UnaryOp () | 
| Destructor.  More... | |
| virtual ICL_DEPRECATED void | applyMT (const core::ImgBase *operand1, core::ImgBase **dst, unsigned int nThreads) | 
| apply function for multithreaded filtering (currently even slower than using one thread)  More... | |
| void | operator() (const core::ImgBase *src, core::ImgBase **dst) | 
| function operator (alternative for apply(src,dst)  More... | |
| const core::ImgBase * | operator() (const core::ImgBase *src) | 
| function operator for the implicit destination apply(src) call  More... | |
| const core::ImgBase & | operator() (const core::ImgBase &src) | 
| reference based function operator  More... | |
| void | setClipToROI (bool bClipToROI) | 
| sets if the image should be clip to ROI or not  More... | |
| void | setCheckOnly (bool bCheckOnly) | 
| sets if the destination image should be adapted to the source, or if it is only checked if it can be adapted.  More... | |
| bool | getClipToROI () const | 
| returns the ClipToROI status  More... | |
| bool | getCheckOnly () const | 
| returns the CheckOnly status  More... | |
| virtual void | setPropertyValue (const std::string &propertyName, const utils::Any &value) | 
| sets value of a property (always call call_callbacks(propertyName) or Configurable::setPropertyValue)  More... | |
|  Public Member Functions inherited from icl::utils::Configurable | |
| virtual | ~Configurable () | 
| virtual destructor  More... | |
| Configurable (const Configurable &other) | |
| Copy constructor.  More... | |
| Configurable & | operator= (const Configurable &other) | 
| Assignment operator.  More... | |
| void | setConfigurableID (const std::string &ID) | 
| sets the ID of this configurable  More... | |
| const std::string & | getConfigurableID () const | 
| returns the configurables static ID  More... | |
| bool | isOrderedFlagSet () const | 
| returns whether the ordered flag is set  More... | |
| void | deactivateProperty (const std::string &pattern) | 
| adds an additional deativation pattern  More... | |
| void | deleteDeactivationPattern (const std::string &pattern) | 
| removed a formerly added deactivation pattern  More... | |
| std::vector< std::string > | getPropertyListWithoutDeactivated () const | 
| this returns a filtered list of properties (using all filters added by deactivateProperty)  More... | |
| virtual void | adaptProperty (const std::string &name, const std::string &newType, const std::string &newInfo, const std::string &newToolTip) | 
| this function can be used to adapt a specific property afterwards  More... | |
| void | registerCallback (const Callback &cb) | 
| add a callback for changed properties  More... | |
| void | removedCallback (const Callback &cb) | 
| removes a callback that was registered before  More... | |
| void | syncChangesTo (Configurable *others, int num=1) | 
| this can be used to let this instance also apply property changes to others  More... | |
| virtual std::vector< std::string > | getPropertyList () const | 
| returns a list of All properties, that can be set using setProperty  More... | |
| virtual bool | supportsProperty (const std::string &propertyName) const | 
| base implementation for property check (seaches in the property list)  More... | |
| virtual void | saveProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) const | 
| writes all available properties into a file  More... | |
| virtual void | loadProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) | 
| reads a camera config file from disc  More... | |
| virtual std::string | getPropertyType (const std::string &propertyName) const | 
| get type of property  More... | |
| virtual std::string | getPropertyInfo (const std::string &propertyName) const | 
| get information of a properties valid values  More... | |
| virtual Any | getPropertyValue (const std::string &propertyName) const | 
| returns the current value of a property or a parameter  More... | |
| virtual std::string | getPropertyToolTip (const std::string &propertyName) const | 
| returns the tooltip description for a given property  More... | |
| virtual int | getPropertyVolatileness (const std::string &propertyName) const | 
| Returns whether this property may be changed internally.  More... | |
| Private Attributes | |
| std::vector< UnaryOp * > | ops | 
| Internal buffer of ops.  More... | |
| std::vector< core::ImgBase * > | ims | 
| Internal buffer of result images.  More... | |
| Additional Inherited Members | |
|  Public Types inherited from icl::utils::Configurable | |
| typedef Function< void, const Property & > | Callback | 
| Function type for changed properties.  More... | |
|  Static Public Member Functions inherited from icl::filter::UnaryOp | |
| static UnaryOp * | fromString (const std::string &definition) | 
| Creates a UnaryOp instance from given string definition.  More... | |
| static std::string | getFromStringSyntax (const std::string &opSpecifier) | 
| gives a string syntax description for given opSpecifier  More... | |
| static std::vector< std::string > | listFromStringOps () | 
| returns a list of all supported OP_SPEC values for the fromString function  More... | |
| static void | applyFromString (const std::string &definition, const core::ImgBase *src, core::ImgBase **dst) | 
| creates, applies and releases a UnaryOp defined by given definition string  More... | |
|  Static Public Member Functions inherited from icl::utils::Configurable | |
| static std::string | create_default_ID (const std::string &prefix) | 
| this function can be used in subclasses to create a default ID  More... | |
| static Configurable * | get (const std::string &id) | 
| returns configurable by given ID  More... | |
| static void | register_configurable_type (const std::string &classname, Function< Configurable * > creator) | 
| registers a configurable type  More... | |
| static std::vector< std::string > | get_registered_configurables () | 
| returns a list of all registered configurable classnames  More... | |
| static Configurable * | create_configurable (const std::string &classname) | 
| creates a configurable by given name  More... | |
|  Static Public Attributes inherited from icl::utils::Configurable | |
| static const std::vector< std::string > | EMPTY_VEC | 
| used as shortcut – just an empty vector of std::strings  More... | |
|  Protected Member Functions inherited from icl::filter::UnaryOp | |
| bool | prepare (core::ImgBase **ppoDst, core::depth eDepth, const utils::Size &imgSize, core::format eFormat, int nChannels, const utils::Rect &roi, utils::Time timestamp=utils::Time::null) | 
| virtual bool | prepare (core::ImgBase **ppoDst, const core::ImgBase *poSrc) | 
| check+adapt destination image to properties of given source image  More... | |
| virtual bool | prepare (core::ImgBase **ppoDst, const core::ImgBase *poSrc, core::depth eDepth) | 
|  Protected Member Functions inherited from icl::utils::Configurable | |
| void | addProperty (const std::string &name, const std::string &type, const std::string &info, const Any &value=Any(), const int volatileness=0, const std::string &tooltip=std::string()) | 
| This can be used by derived classes to store supported properties in the internal list.  More... | |
| void | addChildConfigurable (Configurable *configurable, const std::string &childPrefix="") | 
| This adds another configurable as child.  More... | |
| void | removeChildConfigurable (Configurable *configurable) | 
| removes the given child configurable  More... | |
| Property & | prop (const std::string &propertyName) | 
| this CAN be used e.g. to store a property value in internal property-list  More... | |
| const Property & | prop (const std::string &propertyName) const | 
| this CAN be used e.g. to store a property value in internal property-list  More... | |
| Configurable (const std::string &ID="", bool ordered=true) | |
| create this configurable with given ID  More... | |
| void | call_callbacks (const std::string &propertyName, const Configurable *caller) const | 
| calls all registered callbacks  More... | |
|  Protected Attributes inherited from icl::filter::UnaryOp | |
| utils::MultiThreader * | m_poMT | 
|  Protected Attributes inherited from icl::utils::Configurable | |
| std::vector< Callback > | callbacks | 
| internally managed list of callbacks  More... | |
Utility class that helps applying UnaryOps one after another.
Consider a default computer vision system, which has some preprocessing steps in the following operation order:
To facilitate this, you can easily use a UnaryOpPipe, which internally creates a queue of UnaryOp instances and their individual result images (as ImgBase*). Once you have created this Pipe under a certain name (e.g. "MyProprocessor") you can easily add or remove specific preprocessing steps, without having to consider fall-outs elsewhere in your code.
Take a look on the following example:
| icl::filter::UnaryOpPipe::UnaryOpPipe | ( | ) | 
create an empty pipe
| icl::filter::UnaryOpPipe::~UnaryOpPipe | ( | ) | 
Destructor.
| void icl::filter::UnaryOpPipe::add | ( | UnaryOp * | op, | 
| core::ImgBase * | im = 0 | ||
| ) | 
appends a new op on the end of this pipe (ownership of op and im is passed to the pipe)
| 
 | virtual | 
applies all ops sequentially
Implements icl::filter::UnaryOp.
| 
 | virtual | 
This function is reimplemented here; it uses getLastImage() as destination image.
Reimplemented from icl::filter::UnaryOp.
| core::ImgBase*& icl::filter::UnaryOpPipe::getImage | ( | int | i | ) | 
returns the result buffer image at given index
| core::ImgBase*& icl::filter::UnaryOpPipe::getLastImage | ( | ) | 
returns the last image (which is not used by default)
This image is only used, if it is given a 2nd parameter to the apply function
| int icl::filter::UnaryOpPipe::getLength | ( | ) | const | 
returns the number of contained ops
| UnaryOp*& icl::filter::UnaryOpPipe::getOp | ( | int | i | ) | 
returns the op at given index
| 
 | inline | 
stream based wrapper for the add function (calls add(op,0))
ownership of op is passed to the pipe
| 
 | private | 
Internal buffer of result images.
| 
 | private | 
Internal buffer of ops.
 1.8.15
 1.8.15