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

Filter class for logical in-place operations. More...

#include <InplaceLogicalOp.h>

Inheritance diagram for icl::filter::InplaceLogicalOp:
icl::filter::InplaceOp

Public Types

enum  optype {
  andOp =0, orOp =1, xorOp =2, notOp =3,
  binAndOp =4, binOrOp =5, binXorOp =6, binNotOp =7
}
 

Public Member Functions

 InplaceLogicalOp (optype t, icl64f value=0)
 Creates a new InplaceLogicalOp instance with given optype and value. More...
 
virtual core::ImgBaseapply (core::ImgBase *src)
 applies this operation in-place on given source image More...
 
icl64f getValue () const
 returns current value More...
 
void setValue (icl64f val)
 set current value More...
 
optype getOpType () const
 returns current optype More...
 
void setOpType (optype t)
 set current optype More...
 
- Public Member Functions inherited from icl::filter::InplaceOp
 InplaceOp ()
 Create a new Inplace op (ROI-only flag is set to true) More...
 
void setROIOnly (bool roiOnly)
 setup the operation to work on the input images ROI only or not More...
 
bool getROIOnly () const
 returns whether operator is in "roi-only" mode or not More...
 

Private Attributes

optype m_eOpType
 optype More...
 
icl64f m_dValue
 value More...
 

Detailed Description

Filter class for logical in-place operations.

The InplaceLogicalOp class provides functionalities for arbitrary logical in-place operations on images. The operator can be set to implement a certain operation using a given optype value. Logical (non-bit-wise) operations result in images of value 0 or 255.
Operation list can be split into two sections:

Pure Logical operations are available for all types; bit-wise operations make no sense on floating point data, hence these operations are available for integer types only.

Supported operator types (implementation on pixel value P and operator value V in braces)

IPP-Optimization

IPP-Optimization is possible, but not yet implemented.

Member Enumeration Documentation

◆ optype

Enumerator
andOp 

logical "and"

orOp 

logical "or"

xorOp 

logical "xor"

notOp 

logical "not"

binAndOp 

binary "and" (for integer types only)

binOrOp 

binary "or" (for integer types only)

binXorOp 

binary "xor" (for integer types only)

binNotOp 

binary "not" (for integer types only)

Constructor & Destructor Documentation

◆ InplaceLogicalOp()

icl::filter::InplaceLogicalOp::InplaceLogicalOp ( optype  t,
icl64f  value = 0 
)
inline

Creates a new InplaceLogicalOp instance with given optype and value.

Member Function Documentation

◆ apply()

virtual core::ImgBase* icl::filter::InplaceLogicalOp::apply ( core::ImgBase src)
virtual

applies this operation in-place on given source image

Implements icl::filter::InplaceOp.

◆ getOpType()

optype icl::filter::InplaceLogicalOp::getOpType ( ) const
inline

returns current optype

◆ getValue()

icl64f icl::filter::InplaceLogicalOp::getValue ( ) const
inline

returns current value

◆ setOpType()

void icl::filter::InplaceLogicalOp::setOpType ( optype  t)
inline

set current optype

◆ setValue()

void icl::filter::InplaceLogicalOp::setValue ( icl64f  val)
inline

set current value

Member Data Documentation

◆ m_dValue

icl64f icl::filter::InplaceLogicalOp::m_dValue
private

value

◆ m_eOpType

optype icl::filter::InplaceLogicalOp::m_eOpType
private

optype


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