Image Component Library (ICL)
Public Member Functions | Private Attributes | List of all members
icl::filter::LUTOp3Channel< T >::Plugin Class Reference

Internal plugin class for the LUTOp3Channel. More...

#include <LUTOp3Channel.h>

Public Member Functions

 Plugin ()
 Empty constructor. More...
 
 Plugin (int ref1, int ref2, int ref3, int thresh)
 Constructor. More...
 
virtual ~Plugin ()
 Destructor. More...
 
virtual T transform (int v1, int v2, int v3)
 Transformation function. More...
 

Private Attributes

int m_aiRef [3]
 internal reference colors More...
 
int m_iThresh
 euclidean distance threshold More...
 

Detailed Description

template<class T>
class icl::filter::LUTOp3Channel< T >::Plugin

Internal plugin class for the LUTOp3Channel.

The Plugin class can be reimplemented to create custom LUTOp3Channel functions. The basic implementation realized a default color distance map on source images.

Constructor & Destructor Documentation

◆ Plugin() [1/2]

template<class T >
icl::filter::LUTOp3Channel< T >::Plugin::Plugin ( )
inline

Empty constructor.

◆ Plugin() [2/2]

template<class T >
icl::filter::LUTOp3Channel< T >::Plugin::Plugin ( int  ref1,
int  ref2,
int  ref3,
int  thresh 
)
inline

Constructor.

Parameters
ref1first channel reference color value
ref2second channel reference color value
ref3third channel reference color value
thresheuclidean distance threshold

◆ ~Plugin()

template<class T >
virtual icl::filter::LUTOp3Channel< T >::Plugin::~Plugin ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ transform()

template<class T >
virtual T icl::filter::LUTOp3Channel< T >::Plugin::transform ( int  v1,
int  v2,
int  v3 
)
inlinevirtual

Transformation function.

This function must be reimplemented for custom LUT functions. The function is:

return Cast<double,T>::cast( ::sqrt( ::pow(r-m_aiRef[0],2) +
::pow(g-m_aiRef[1],2) +
::pow(b-m_aiRef[2],2) ) /
::sqrt(3.0) < m_iThresh ? 255 : 0;)
Parameters
v1first channel pixel value of input image
v2second channel pixel value of input image
v3third channel pixel value of input image

Member Data Documentation

◆ m_aiRef

template<class T >
int icl::filter::LUTOp3Channel< T >::Plugin::m_aiRef[3]
private

internal reference colors

◆ m_iThresh

template<class T >
int icl::filter::LUTOp3Channel< T >::Plugin::m_iThresh
private

euclidean distance threshold


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