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::axOGDFeature Class Reference

OGD based texture feature. More...

#include <ltiAxOGDFeature.h>

Inheritance diagram for lti::axOGDFeature:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 axOGDFeature ()
 axOGDFeature (const axOGDFeature &other)
virtual ~axOGDFeature ()
virtual const char * getTypeName () const
virtual bool use (const channel &src)
virtual bool use (const channel &center, const channel &surround)
virtual bool apply (const point &pos, dvector &dest) const
bool apply (const channel &src, dvector &dest) const
bool apply (const image &src, dvector &dest) const
bool apply (const channel &src, channel &a0, channel &a1, channel &theta1) const
bool apply (const channel &src, channel &a0, channel &a1, channel &a2, channel &theta1, channel &theta2) const
bool apply (const channel &center, const channel &sround, dvector &dest) const
bool apply (const channel &src, const std::list< location > &locs, std::list< dvector > &dest)
bool apply (const image &src, const std::list< location > &locs, std::list< dvector > &dest)
bool apply (const channel &center, const channel &surround, const std::list< location > &locs, std::list< dvector > &dest)
axOGDFeaturecopy (const axOGDFeature &other)
virtual functorclone () const
const parametersgetParameters () const

Protected Attributes

std::vector< channeltheChannels
int ogdOrder
int numLevels

Classes

class  parameters
 The parameters for the class axOGDFeature. More...

Detailed Description

OGD based texture feature.

Functor for texture feature extraction that uses the steerability property of the oriented gaussian derivatives (OGD) to generate rotation invariant feature vectors.

The description of this feature can be found on Alvarado, P., Doerfler, P. and Wickel, J. "Axon2 - A visual object recognition system for non-rigid objects" SPPRA July, 2001 (http://www.techinfo.rwth-aachen.de/Veroeffentlichungen/V003_2001.pdf)

The basic idea is to compute the "energy" of a region (a location for local features or the whole image for global features) as a steerable function.

This energy is computed for different "power" channels, which are the result of convolving the images with OGD filters of a specific order.

In some sense, the first order OGD compute some "edge" energy, while second order OGD compute some "line" energy.


Constructor & Destructor Documentation

lti::axOGDFeature::axOGDFeature  ) 
 

Default constructor.

lti::axOGDFeature::axOGDFeature const axOGDFeature other  ) 
 

Copy constructor.

Parameters:
other the object to be copied

virtual lti::axOGDFeature::~axOGDFeature  )  [virtual]
 

Destructor.


Member Function Documentation

bool lti::axOGDFeature::apply const channel center,
const channel surround,
const std::list< location > &  locs,
std::list< dvector > &  dest
 

Extracts the opponent color OGD features for each given location.

The radius of each location is used to determine which scale should be used in the generation of each feature vector.

Parameters:
center original channel considered as "center"
surround channel considered as surround. This must have the same size as center.
locs the locations that need to be analyzed.
dest the list of feature vectors. This list will have the same size as locs. The feature vector at position p will correspond to the location at position p.
Returns:
true if successful, of false otherwise.

bool lti::axOGDFeature::apply const image src,
const std::list< location > &  locs,
std::list< dvector > &  dest
 

Extracts the OGD features for each given location.

The image will be splitted in its red, green and blue components, and the feature vectors will be concatenated. The radius of each location is used to determine which scale should be used in the generation of each feature vector.

Parameters:
src original channel to be analyzed.
locs the locations that need to be analyzed.
dest the list of feature vectors. This list will have the same size as locs. The feature vector at position p will correspond to the location at position p.
Returns:
true if successful, of false otherwise.

bool lti::axOGDFeature::apply const channel src,
const std::list< location > &  locs,
std::list< dvector > &  dest
 

Extracts the OGD features for each given location.

The radius of each location is used to determine which scale should be used in the generation of each feature vector.

Parameters:
src original channel to be analyzed.
locs the locations that need to be analyzed.
dest the list of feature vectors. This list will have the same size as locs. The feature vector at position p will correspond to the location at position p.
Returns:
true if successful, of false otherwise.

bool lti::axOGDFeature::apply const channel center,
const channel sround,
dvector dest
const
 

Extracts the OGD rotation invariant opponent color feature from the given color channels.

Center and Surround must have the same sizes.

Parameters:
center the center channel.
sround the surround channel.
dest the feature vector
Returns:
true if apply successful or false otherwise.

bool lti::axOGDFeature::apply const channel src,
channel a0,
channel a1,
channel a2,
channel theta1,
channel theta2
const
 

Extracts the second order OGD coefficients for the given windows size and variance (if gaussian).

The "levels" parameter will be ignored, and only the first level will be calculated. This method is used by other feature extractors

To obtain the angle othogonal to the edges, you need to divide theta1 by 2. You can use a1 and theta1/2 for the lti::orientationFeature.

bool lti::axOGDFeature::apply const channel src,
channel a0,
channel a1,
channel theta1
const
 

Extracts the first order OGD coefficients for the given window size and variance (if gaussian).

The "levels" parameter will be ignored, and only the first level will be calculated. This method is used by other feature extractors.

To obtain the angle othogonal to the edges, you need to divide theta1 by 2. This can automatically be done if you specify it in the parameters. You can use a1 and theta1/2 for the lti::orientationFeature.

bool lti::axOGDFeature::apply const image src,
dvector dest
const [virtual]
 

Extract the OGD features from the red, green and blue components of the given image and concatenate the results.

Parameters:
src image with the source data.
dest the feature vector
Returns:
true if apply successful or false otherwise.

Reimplemented from lti::globalFeatureExtractor.

bool lti::axOGDFeature::apply const channel src,
dvector dest
const [virtual]
 

Extracts the OGD rotation invariant feature from the given gray valued image (a channel).

Parameters:
src channel with the source data.
dest the feature vector
Returns:
true if apply successful or false otherwise.

Reimplemented from lti::globalFeatureExtractor.

virtual bool lti::axOGDFeature::apply const point pos,
dvector dest
const [virtual]
 

Extract the local feature at the position pos and leave the result in the given vector.

It depends on the last used "use" member, if the feature vector is an "opponent-color" feature or a monochromatic feature.

Parameters:
pos the position at the given image.
dest the feature vector.
Returns:
true if sucessful, false otherwise

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

Returns a pointer to a clone of this functor.

Reimplemented from lti::globalFeatureExtractor.

axOGDFeature& lti::axOGDFeature::copy const axOGDFeature other  ) 
 

Copy data of "other" functor.

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

const parameters& lti::axOGDFeature::getParameters  )  const
 

Returns used parameters.

Reimplemented from lti::globalFeatureExtractor.

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

Returns the name of this type ("axOGDFeature").

Reimplemented from lti::globalFeatureExtractor.

virtual bool lti::axOGDFeature::use const channel center,
const channel surround
[virtual]
 

Indicates which channels to use in the local feature extraction.

Some precalculation will be done, and using the apply(const point&, dvector&) member, the feature vector of a specific position can be computed in a faster way.

After calling this method the corresponding opponent-color features will be extracted.

virtual bool lti::axOGDFeature::use const channel src  )  [virtual]
 

Indicates which channel to use in the local feature extraction.

Some precalculation will be done, and using the apply(const point&, dvector&) member, the feature vector of a specific position can be computed in a faster way.

After calling this method the corresponding monochromatic features will be extracted.


Member Data Documentation

int lti::axOGDFeature::numLevels [protected]
 

The number of levels included in theChannels.

int lti::axOGDFeature::ogdOrder [protected]
 

The degree of the OGD used to extract the channels.

std::vector<channel> lti::axOGDFeature::theChannels [protected]
 

This channels contain the term a0-a2 and theta2.


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