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

Class for thresholding operations. More...

#include <ThresholdOp.h>

Inheritance diagram for icl::filter::ThresholdOp:
icl::filter::UnaryOp icl::utils::Configurable

Public Types

enum  optype {
  lt, gt, ltgt, ltVal,
  gtVal, ltgtVal
}
 this enum specifiy all possible thresholding operations More...
 
- Public Types inherited from icl::utils::Configurable
typedef Function< void, const Property & > Callback
 Function type for changed properties. More...
 

Public Member Functions

 ThresholdOp (optype ttype, float lowThreshold=127, float highThreshold=127, float lowVal=0, float highVal=255)
 Constructor. More...
 
virtual ~ThresholdOp ()
 Destructor. More...
 
virtual void apply (const core::ImgBase *poSrc, core::ImgBase **ppoDst)
 applies the Threshold Operator More...
 
float getLowThreshold () const
 returns the lower threshold More...
 
float getHighThreshold () const
 returns the upper threshold More...
 
float getLowVal () const
 returns the lower value More...
 
float getHighVal () const
 returns the upper value More...
 
optype getType () const
 returns the type of the thresholding operation More...
 
void setLowThreshold (float lowThreshold)
 sets the lower threshold More...
 
void setHighThreshold (float highThreshold)
 sets the upper threshold More...
 
void setLowVal (float lowVal)
 sets the lower value More...
 
void setHighVal (float highVal)
 sets the upper value More...
 
void setType (optype type)
 sets the type of the thresholding operation More...
 
virtual void apply (const core::ImgBase *operand1, core::ImgBase **dst)=0
 Import unaryOps apply function without destination image. More...
 
virtual const core::ImgBaseapply (const core::ImgBase *src)
 Import unaryOps apply function without destination image. More...
 
- Public Member Functions inherited from icl::filter::UnaryOp
 UnaryOp ()
 Explicit empty constructor. More...
 
 UnaryOp (const UnaryOp &other)
 Explicit copy constructor. More...
 
UnaryOpoperator= (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...
 
virtual const core::ImgBaseapply (const core::ImgBase *src)
 applys the filter usign an internal buffer as output image More...
 
void operator() (const core::ImgBase *src, core::ImgBase **dst)
 function operator (alternative for apply(src,dst) More...
 
const core::ImgBaseoperator() (const core::ImgBase *src)
 function operator for the implicit destination apply(src) call More...
 
const core::ImgBaseoperator() (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...
 
Configurableoperator= (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 Member Functions

void tlt (const core::ImgBase *poSrc, core::ImgBase **ppoDst, float threshold)
 less than thresholding More...
 
void tgt (const core::ImgBase *poSrc, core::ImgBase **ppoDst, float threshold)
 greater than thresholding More...
 
void tltgt (const core::ImgBase *poSrc, core::ImgBase **ppoDst, float low, float hi)
 less than and greater than thresholding More...
 
void tltVal (const core::ImgBase *poSrc, core::ImgBase **ppoDst, float threshold, float val)
 less than thresholding with explicit set value More...
 
void tgtVal (const core::ImgBase *poSrc, core::ImgBase **ppoDst, float threshold, float val)
 greater than thresholding with explicit set value More...
 
void tltgtVal (const core::ImgBase *poSrc, core::ImgBase **ppoDst, float low, float lowVal, float hi, float hiVal)
 less than and greater than thresholding with explicit set values More...
 

Private Attributes

float m_fLowThreshold
 
float m_fHighThreshold
 
float m_fLowVal
 
float m_fHighVal
 
optype m_eType
 

Additional Inherited Members

- Static Public Member Functions inherited from icl::filter::UnaryOp
static UnaryOpfromString (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 Configurableget (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 Configurablecreate_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...
 
Propertyprop (const std::string &propertyName)
 this CAN be used e.g. to store a property value in internal property-list More...
 
const Propertyprop (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::MultiThreaderm_poMT
 
- Protected Attributes inherited from icl::utils::Configurable
std::vector< Callbackcallbacks
 internally managed list of callbacks More...
 

Detailed Description

Class for thresholding operations.

Essentially there are two different types of Threshold functions:

Functions flavours

There exist two different types off function interfaces:

Benchmarks

Member Enumeration Documentation

◆ optype

this enum specifiy all possible thresholding operations

Enumerator
lt 
gt 
ltgt 
ltVal 
gtVal 
ltgtVal 

Constructor & Destructor Documentation

◆ ThresholdOp()

icl::filter::ThresholdOp::ThresholdOp ( optype  ttype,
float  lowThreshold = 127,
float  highThreshold = 127,
float  lowVal = 0,
float  highVal = 255 
)

Constructor.

Parameters
ttypethreshold type,
See also
optype
Parameters
lowThresholdlower threshold
highThresholdupper threshold
lowValvalues above lowThreshold will be set to this value
highValvalues higher than highThreshold will be set to this value

◆ ~ThresholdOp()

virtual icl::filter::ThresholdOp::~ThresholdOp ( )
virtual

Destructor.

Member Function Documentation

◆ apply() [1/3]

virtual void icl::filter::ThresholdOp::apply ( const core::ImgBase poSrc,
core::ImgBase **  ppoDst 
)
virtual

applies the Threshold Operator

Parameters
poSrcthe source image
ppoDstpointer to the destination image

Implements icl::filter::UnaryOp.

◆ apply() [2/3]

virtual void icl::filter::UnaryOp::apply

Import unaryOps apply function without destination image.

◆ apply() [3/3]

virtual const core::ImgBase* icl::filter::UnaryOp::apply

Import unaryOps apply function without destination image.

◆ getHighThreshold()

float icl::filter::ThresholdOp::getHighThreshold ( ) const
inline

returns the upper threshold

Returns
upper threshold

◆ getHighVal()

float icl::filter::ThresholdOp::getHighVal ( ) const
inline

returns the upper value

Returns
upper value

◆ getLowThreshold()

float icl::filter::ThresholdOp::getLowThreshold ( ) const
inline

returns the lower threshold

Returns
lower threshold

◆ getLowVal()

float icl::filter::ThresholdOp::getLowVal ( ) const
inline

returns the lower value

Returns
lower value

◆ getType()

optype icl::filter::ThresholdOp::getType ( ) const
inline

returns the type of the thresholding operation

Returns
optype

◆ setHighThreshold()

void icl::filter::ThresholdOp::setHighThreshold ( float  highThreshold)
inline

sets the upper threshold

Parameters
highThresholdupper threshold

◆ setHighVal()

void icl::filter::ThresholdOp::setHighVal ( float  highVal)
inline

sets the upper value

Parameters
highValupper value

◆ setLowThreshold()

void icl::filter::ThresholdOp::setLowThreshold ( float  lowThreshold)
inline

sets the lower threshold

Parameters
lowThresholdlower threshold

◆ setLowVal()

void icl::filter::ThresholdOp::setLowVal ( float  lowVal)
inline

sets the lower value

Parameters
lowVallower value

◆ setType()

void icl::filter::ThresholdOp::setType ( optype  type)
inline

sets the type of the thresholding operation

Parameters
typeoptype

◆ tgt()

void icl::filter::ThresholdOp::tgt ( const core::ImgBase poSrc,
core::ImgBase **  ppoDst,
float  threshold 
)
private

greater than thresholding

◆ tgtVal()

void icl::filter::ThresholdOp::tgtVal ( const core::ImgBase poSrc,
core::ImgBase **  ppoDst,
float  threshold,
float  val 
)
private

greater than thresholding with explicit set value

◆ tlt()

void icl::filter::ThresholdOp::tlt ( const core::ImgBase poSrc,
core::ImgBase **  ppoDst,
float  threshold 
)
private

less than thresholding

◆ tltgt()

void icl::filter::ThresholdOp::tltgt ( const core::ImgBase poSrc,
core::ImgBase **  ppoDst,
float  low,
float  hi 
)
private

less than and greater than thresholding

◆ tltgtVal()

void icl::filter::ThresholdOp::tltgtVal ( const core::ImgBase poSrc,
core::ImgBase **  ppoDst,
float  low,
float  lowVal,
float  hi,
float  hiVal 
)
private

less than and greater than thresholding with explicit set values

◆ tltVal()

void icl::filter::ThresholdOp::tltVal ( const core::ImgBase poSrc,
core::ImgBase **  ppoDst,
float  threshold,
float  val 
)
private

less than thresholding with explicit set value

Member Data Documentation

◆ m_eType

optype icl::filter::ThresholdOp::m_eType
private

◆ m_fHighThreshold

float icl::filter::ThresholdOp::m_fHighThreshold
private

◆ m_fHighVal

float icl::filter::ThresholdOp::m_fHighVal
private

◆ m_fLowThreshold

float icl::filter::ThresholdOp::m_fLowThreshold
private

◆ m_fLowVal

float icl::filter::ThresholdOp::m_fLowVal
private

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