LTI-Lib latest version v1.9 - last update 24 Nov 2005
Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

lti::orientationFeature Class Reference

The orientation feature takes two channels: a "relevance" channel and an "orientation" channel, and with them it creates an orientation histogram with the given number of cells. More...

#include <ltiOrientationFeature.h>

Inheritance diagram for lti::orientationFeature:

Inheritance graph
[legend]
Collaboration diagram for lti::orientationFeature:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 orientationFeature ()
 orientationFeature (const orientationFeature &other)
virtual ~orientationFeature ()
virtual const char * getTypeName () const
bool apply (const channel &orientation, const channel &magnitude, dvector &dest) const
orientationFeaturecopy (const orientationFeature &other)
virtual functorclone () const
const parametersgetParameters () const

Classes

class  parameters
 the parameters for the class orientationFeature More...

Detailed Description

The orientation feature takes two channels: a "relevance" channel and an "orientation" channel, and with them it creates an orientation histogram with the given number of cells.

Due to the fact that the orientation is Pi cyclic (0° is the same thing as 180°) the histogram created will consider the angles as being between 0 and Pi (angle mod Pi).

A relevance/orientation pair can be for example the gradient magnitude and phase channels (see lti::gradientKernelX and lti::cartesicToPolar) and the OGD local energy maps (lti::axOGDFeature). Both methods are ready implemented in the lti::orientationMap functor.

 lti::orientationMap omapper;
 lti::orientationFeature ofeat;

 lti::channel chnl,mag,dir;
 lti::vector<double> vct;

 // construct a channel with a rectangle on it:
 chnl.resize(256,256,0.0);
 chnl.fill(1.0,32,32,200,240);

 // extract the orientation map from the channel
 omapper.apply(chnl,dir,mag);

 // generate the orientation feature
 ofeat.apply(dir,mag,vct);

If you need a rotation invariant feature vector see also lti::shiftInvariance


Constructor & Destructor Documentation

lti::orientationFeature::orientationFeature  ) 
 

default constructor

lti::orientationFeature::orientationFeature const orientationFeature other  ) 
 

copy constructor

Parameters:
other the object to be copied

virtual lti::orientationFeature::~orientationFeature  )  [virtual]
 

destructor


Member Function Documentation

bool lti::orientationFeature::apply const channel orientation,
const channel magnitude,
dvector dest
const
 

generates the "weighted histogram" of the given magnitude and orientations channels.

Parameters:
orientation channel with the orientation of edges
magnitude channel with the relevance of the orientation.
dest the result vector with the histogram data
Returns:
true if apply successful or false otherwise.

virtual functor* lti::orientationFeature::clone  )  const [virtual]
 

returns a pointer to a clone of this functor.

Reimplemented from lti::globalFeatureExtractor.

orientationFeature& lti::orientationFeature::copy const orientationFeature other  ) 
 

copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

const parameters& lti::orientationFeature::getParameters  )  const
 

returns used parameters

Reimplemented from lti::globalFeatureExtractor.

virtual const char* lti::orientationFeature::getTypeName  )  const [virtual]
 

returns the name of this type ("orientationFeature")

Reimplemented from lti::globalFeatureExtractor.


The documentation for this class was generated from the following file:
Generated on Thu Nov 24 16:46:37 2005 for LTI-Lib by Doxygen 1.4.4