|
Class for using two-parameter function objects (like std::functor) for sequential and spatial pixel iteration. More...
#include <FunctorOp.h>
Public Member Functions | |
BinaryFunctorOp (bool adaptParams=true, bool adoptLimit=true) | |
Default constructor. More... | |
BinaryFunctorOp (const BinaryFunctorOp &op) | |
virtual void | traverseChannels (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const |
virtual void | traverseChannel (const Channel &src, Channel &dst) const |
Apply to single channel. | |
virtual void | traverseChannel (const Channel &src1, const Channel &src2, Channel &dst) const |
virtual void | traverseSequentially (const Channel &src1, const Channel &src2, Channel &dst) const |
virtual void | traverseSpatially (const Channel &src1, const Channel &src2, Channel &dst) const |
virtual void | initializeParameters (const ImageFrame &src, const ImageFrame &dst) const |
Set applicable internal parameters before calling traverse(). | |
virtual void | initializeParameters (const ImageFrame &src, const ImageFrame &src2, const ImageFrame &dst) const |
Set applicable internal parameters before calling traverse(). | |
Public Member Functions inherited from FunctorOp< F > | |
FunctorOp (const FunctorOp &op) | |
void | adaptParameters (bool adaptLimit=false) |
Public Member Functions inherited from FunctorWrapper< F > | |
FunctorWrapper (const FunctorWrapper< F > &op) | |
Public Member Functions inherited from ImageOp | |
virtual void | process (const ImageFrame &src, Image &dst) const |
Main interface. Typically splits processing to each channel. More... | |
virtual void | process (const ImageFrame &src, const ImageFrame &srcWeight, Image &dst, Image &dstWeight) const |
virtual void | process (const ImageTray< const Channel > &src, ImageTray< Image > &dst, bool checkOverlap=true) const |
Run the operator on a series of images. Geometry and type may be changed. UNDER CONSTR. More... | |
virtual void | traverseChannel (const Channel &src, const Channel &srcAlpha, Channel &dst, Channel &dstAlpha) const |
Apply to single channel with alpha. | |
virtual void | makeCompatible (const ImageConf &src, Image &dst) const |
Depending on the operator, modifies the geometry and type of dst. More... | |
virtual void | makeCompatible2 (const ImageFrame &src1, const ImageFrame &src2, Image &dst) const |
Modifies the geometry and type of dst to fit the computation result. | |
virtual void | help (std::ostream &ostr=std::cout) const |
Prints name, description and parameters using BeanLike::toOStr(). Virtual, so derived classes may extend output. | |
Public Member Functions inherited from ImageMod | |
virtual int | srcAlpha () const |
Tell if alpha channel(s) is required in input. More... | |
virtual void | process (Image &dst) const |
Run this modifier for an image. More... | |
virtual void | traverseChannels (ImageTray< Channel > &dst) const |
Run this modifier for a set of channels. More... | |
virtual void | traverseChannel (Channel &dst) const |
Run this modifier for an image frame. More... | |
virtual void | traverseChannel (Channel &dst, Channel &dstAlpha) const |
Run this modifier for an image frame. More... | |
virtual void | traverseChannels (ImageFrame &dst) const |
Converts dst to ImageTray<Channel> and calls traverseFrame(ImageTray<Channel> &) . | |
Public Member Functions inherited from BeanLike | |
virtual const std::string & | getName () const |
Return the name of an instance. | |
virtual const std::string & | getDescription () const |
Return a brief description. | |
bool | hasParameters () const |
template<class F > | |
F | getParameter (const std::string &p) const |
Gets a single parameter. | |
const ReferenceMap & | getParameters () const |
ReferenceMap & | getParameters () |
template<class F > | |
void | setParametersFromEntries (const F &args) |
void | setParameters (std::initializer_list< Variable::init_pair_t > args) |
Grants access to (if above hidden) | |
virtual void | setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0) |
Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2". More... | |
template<class T > | |
void | setParameters (const std::map< std::string, T > &args) |
Set parameters. | |
template<class T > | |
void | setParameters (const SmartMap< T > &args) |
Set parameters. | |
void | setParameter (const std::string &p, const Castable &value) |
Sets a single parameter. | |
template<class T > | |
void | setParameter (const std::string &p, const VariableT< T > &value) |
template<class F > | |
void | setParameter (const std::string &p, const F &value) |
Sets a single parameter. More... | |
template<class F > | |
void | setParameter (const std::string &p, std::initializer_list< F > value) |
Sets a single parameter. | |
BeanLike & | operator= (const BeanLike &b) |
virtual std::ostream & | toStream (std::ostream &ostr, bool compact=true) const |
BeanLike (const BeanLike &b) | |
BeanLike (const std::string &name, const std::string &description="") | |
Protected Member Functions | |
void | getDstConf (const ImageConf &src, ImageConf &dst) const |
Does not change dst geometry. | |
Protected Member Functions inherited from FunctorOp< F > | |
virtual bool | processOverlappingWithTemp (const ImageFrame &srcFrame, Image &dstImage) const |
bool | processOverlappingWithTemp (const ImageTray< const Channel > &src, ImageTray< Image > &dst) const |
FunctorOp (bool adaptParams=false, bool adoptLimit=false) | |
Protected Member Functions inherited from ImageOp | |
ImageOp (const std::string &name=__FUNCTION__, const std::string &description="") | |
ImageOp (const ImageOp &op) | |
bool | traverseOverlappingWithTemp (const Channel &src, Channel &dst) const |
bool | traverseOverlappingWithTemp (const Channel &src, const Channel &srcWeight, Channel &dst, Channel &dstWeight) const |
void | traverseChannelsEqually (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const |
Calls processWithTemp() if the frames overlap. More... | |
void | traverseChannelsRepeated (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const |
Recycle channels until all dst channels completed. | |
void | traverseChannelsSeparately (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const |
Process each (src,dst) channel pair independently. Raise error if their counts differ. More... | |
void | traverseAsChannelTrays (const ImageFrame &src, ImageFrame &dst) const |
Redirect to processing as trays. This is the opposite of processChannels...() functions. | |
void | traverseAsChannelTrays (const ImageFrame &src, const ImageFrame &srcWeight, ImageFrame &dst, ImageFrame &dstWeight) const |
Redirect to processing as trays. This is the opposite of processChannels...() functions. | |
Protected Member Functions inherited from ImageMod | |
ImageMod (const std::string &name=__FUNCTION__, const std::string &description="") | |
ImageMod (const ImageMod &op) | |
virtual void | processChannelsSeparately (ImageTray< Channel > &dst) const |
Run this modifier by calling traverseChannel(Channel &) for each image. | |
virtual void | initialize (Image &dst) const |
Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called. | |
virtual void | initializeAlpha (const Image &srcAlpha, Image &dstAlpha) const |
Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called. | |
Protected Member Functions inherited from BeanLike | |
virtual void | storeLastArguments (const std::string &p) |
Called after setParameters() | |
virtual void | updateBean () const |
Called after setParameters() | |
Additional Inherited Members | |
Public Attributes inherited from FunctorOp< F > | |
bool | LIMIT |
Public Attributes inherited from FunctorWrapper< F > | |
F | functor |
Public Attributes inherited from ImageMod | |
bool | physicalScale |
Static Protected Member Functions inherited from ImageOp | |
static void | adaptCoordinateHandler (const Channel &src, CoordinateHandler2D &handler) |
Protected Attributes inherited from BeanLike | |
const std::string | name |
const std::string | description |
ReferenceMap | parameters |
Class for using two-parameter function objects (like std::functor) for sequential and spatial pixel iteration.
! \template F - binary (two parameter) functor
|
inline |
Default constructor.
By default, all the parameters of the wrapped functor are adapted.
|
virtual |
Unlimited, unscaled, ie. "direct". This option is reasonable if dst is double, for example.
Unlimited but scaled.