Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
icl::filter::LUTOp3Channel< T >::Plugin Class Reference

Internal plugin class for the LUTOp3Channel. More...

#include <LUTOp3Channel.h>

List of all members.

Public Member Functions

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

Private Attributes

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

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

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

Empty constructor.

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
template<class T >
virtual icl::filter::LUTOp3Channel< T >::Plugin::~Plugin ( ) [inline, virtual]

Destructor.


Member Function Documentation

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

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

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

internal reference colors

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines