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

HxRgbLogMag Class Template Reference

Log manitude display. More...

#include <HxRgbLogMag.h>

List of all members.

Public Types

typedef ValDoubleT ArithTypeDouble
 The "double" arithtype. More...


Public Methods

 HxRgbLogMag (HxTagList &tags)
 Constructor. More...

int doIt (const ValT &pixV)
 Actual operation for the "standard" arithtype. More...

int doItDouble (const ValDoubleT &pixV)
 Actual operation for the "double" arithtype. More...


Static Public Methods

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


Detailed Description

template<class ValT, class ValDoubleT>
class HxRgbLogMag< ValT, ValDoubleT >

Log manitude display.

log(1.0+norm2(pixV)) is stretched between lowVal and highVal.

norm2 already taken in HxImageRep::getRgbPixels2d


Member Typedef Documentation

template<class ValT, class ValDoubleT>
typedef ValDoubleT HxRgbLogMag::ArithTypeDouble
 

The "double" arithtype.


Constructor & Destructor Documentation

template<class ValT, class ValDoubleT>
HxRgbLogMag< ValT, ValDoubleT >::HxRgbLogMag HxTagList   tags [inline]
 

Constructor.

00033                             {
00034                                 _lowVal = HxGetTag(tags, "lowVal", double(0));
00035                                 _highVal = HxGetTag(tags, "highVal", double(255));
00036                                 _lowVal -= 1.0;
00037                                 _factor = 255.0/::log(_highVal-_lowVal);
00038                             }


Member Function Documentation

template<class ValT, class ValDoubleT>
int HxRgbLogMag< ValT, ValDoubleT >::doIt const ValT &    pixV [inline]
 

Actual operation for the "standard" arithtype.

00042                             {
00043                                 double v = ::log(pixV.x()-_lowVal);
00044                                 int x = (int) (v*_factor);
00045                                 return (255 << 24) | (x << 16) | (x << 8) | x;
00046                             }

template<class ValT, class ValDoubleT>
int HxRgbLogMag< ValT, ValDoubleT >::doItDouble const ValDoubleT &    pixV [inline]
 

Actual operation for the "double" arithtype.

00050                             {
00051                                 double v = ::log(pixV.x()-_lowVal);
00052                                 int x = (int) (v*_factor);
00053                                 return (255 << 24) | (x << 16) | (x << 8) | x;
00054                             }

template<class ValT, class ValDoubleT>
HxString HxRgbLogMag< ValT, ValDoubleT >::className   [inline, static]
 

The name : "LogMagnitude".

00058                             { return HxString("LogMagnitude"); }


The documentation for this class was generated from the following file:
Generated on Mon Jan 27 15:49:09 2003 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001