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

HxNgbPercentile2d Class Template Reference

Neighbourhood functor for percentile filter. More...

#include <HxNgbPercentile2d.h>

List of all members.

Public Types

typedef HxTagLoop IteratorCategory
 Loop version. More...

typedef HxTag1Phase PhaseCategory
 1 phase. More...


Public Methods

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

 ~HxNgbPercentile2d ()
 Destructor. More...

HxSizes size ()
 Size of the neighbourhood. More...

void init (int, int, ArithT)
 Initialization. More...

void next (int x, int y, ArithT value)
 Processing one pixel. More...

ArithT result () const
 Produce the result value. More...


Static Public Methods

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


Detailed Description

template<class ArithT>
class HxNgbPercentile2d< ArithT >

Neighbourhood functor for percentile filter.


Member Typedef Documentation

template<class ArithT>
typedef HxTagLoop HxNgbPercentile2d::IteratorCategory
 

Loop version.

template<class ArithT>
typedef HxTag1Phase HxNgbPercentile2d::PhaseCategory
 

1 phase.


Constructor & Destructor Documentation

template<class ArithT>
HxNgbPercentile2d< ArithT >::HxNgbPercentile2d HxTagList   tags
 

Constructor.

Taglist should contain: int "size", double "percentile"

00020     : _values(0)
00021 {
00022     _size = HxGetTag(tags, "size", 3);
00023     double p = HxGetTag(tags, "percentile", 0.5);
00024     _pctIdx = p * (_size * _size);
00025 
00026     _values = new ArithT[_size * _size];
00027 
00028 }

template<class ArithT>
HxNgbPercentile2d< ArithT >::~HxNgbPercentile2d  
 

Destructor.

00032 {
00033     if (_values)
00034         delete [] _values;
00035 }


Member Function Documentation

template<class ArithT>
HxSizes HxNgbPercentile2d< ArithT >::size   [inline]
 

Size of the neighbourhood.

00097 {
00098     return HxSizes(_size, _size, 1);
00099 }

template<class ArithT>
void HxNgbPercentile2d< ArithT >::init int   ,
int   ,
ArithT   
[inline]
 

Initialization.

00083 {
00084     _i = 0;
00085 }

template<class ArithT>
void HxNgbPercentile2d< ArithT >::next int    x,
int    y,
ArithT    value
[inline]
 

Processing one pixel.

00090 {
00091     _values[_i++] = value;
00092 }

template<class ArithT>
ArithT HxNgbPercentile2d< ArithT >::result   const [inline]
 

Produce the result value.

00104 {
00105     std::sort(&_values[0], &_values[_size*_size]);
00106     return _values[_pctIdx];
00107 }

template<class ArithT>
HxString HxNgbPercentile2d< ArithT >::className   [inline, static]
 

The name : "percentile".

00075 {
00076     static HxString s("percentile");
00077     return s;
00078 }


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