Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxBpoSubSat Class Template Reference

Pixel functor for computation of saturated addition. More...

List of all members.

Public Types

typedef HxTagTransInVar TransVarianceCategory
 Functor is translation invariant. More...


Public Methods

 HxBpoSubSat (HxTagList &t)
 Constructor : empty. More...

DstValT doIt (const Src1ValT &arg1, const Src2ValT &arg2)
 Actual operation : # if(x+y)<=MAXVAL return (x + y) else return MAXVAL #. More...


Static Public Methods

HxString className ()
 The name : "SubSat". More...


Detailed Description

template<class DstValT, class Src1ValT, class Src2ValT>
class HxBpoSubSat< DstValT, Src1ValT, Src2ValT >

Pixel functor for computation of saturated addition.


Member Typedef Documentation

template<class DstValT, class Src1ValT, class Src2ValT>
typedef HxTagTransInVar HxBpoSubSat::TransVarianceCategory
 

Functor is translation invariant.


Constructor & Destructor Documentation

template<class DstValT, class Src1ValT, class Src2ValT>
HxBpoSubSat< DstValT, Src1ValT, Src2ValT >::HxBpoSubSat HxTagList   t [inline]
 

Constructor : empty.

00031                     {   
00032 //better use taglist to get minSat maxSat values
00033                         int minSat = HxGetTag<int>(t, "minSat", 0);
00034                         for (int i=1; i<=minValSat.dim(); i++)
00035                             minValSat.setValue(i, minSat);
00036 //lt                        maxValSat.setValue(i, std::numeric_limits<Src1ValT::ValueType>::max());
00037 //                      std::cout << "welcome in " << typeid(*this).name() << ", maxValSat=" << maxValSat << std::endl;
00038                         
00039                     }


Member Function Documentation

template<class DstValT, class Src1ValT, class Src2ValT>
DstValT HxBpoSubSat< DstValT, Src1ValT, Src2ValT >::doIt const Src1ValT &    arg1,
const Src2ValT &    arg2
[inline]
 

Actual operation : # if(x+y)<=MAXVAL return (x + y) else return MAXVAL #.

00047                         { 
00048                             DstValT ret;
00049                             for (int i=1; i<=arg1.dim(); i++) {
00050                                 ret.setValue(i,
00051                                     (double)arg1.getValue(i)-(double)arg2.getValue(i)<minValSat.getValue(i) ?
00052                                     minValSat.getValue(i) :
00053                                     arg1.getValue(i)-arg2.getValue(i)
00054                                 );
00055                             }
00056                             return ret; 
00057                         }

template<class DstValT, class Src1ValT, class Src2ValT>
HxString HxBpoSubSat< DstValT, Src1ValT, Src2ValT >::className   [inline, static]
 

The name : "SubSat".

00061                         { return HxString("subSat"); }


The documentation for this class was generated from the following file:
Generated on Tue Feb 3 14:18:53 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001