featureClusterFilters.H File Reference

#include "Util/Assert.H"
#include "Image/Image.H"
#include <vector>
Include dependency graph for featureClusterFilters.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class T_or_RGB >
T_or_RGB filterAtLocation (Image< T_or_RGB > *image, Image< float > *kernel, Point2D< int > *location)
 this method will apply a filter at a location and return a value
template<class T_or_RGB >
void filterAtLocationBatch (const Image< T_or_RGB > *image, const Image< float > *kernel, const std::vector< Point2D< int > * > *location, std::vector< T_or_RGB > *results, const unsigned int size)
 this method will apply a filter at a location and return a value
template<class T_or_RGB >
void multiScaleBatchFilter (const Image< T_or_RGB > *image, const std::vector< Point2D< int > * > *location, const unsigned int *locations, const std::vector< Image< float > > *filters, const unsigned int scales, const bool quarterSize, const bool normalize, std::vector< std::vector< T_or_RGB > > *results)
 This method applies filter on an image at multiple scales at select locals.
template<class T >
void multiScaleJunctionFilter (const unsigned int size, const unsigned int scales, const std::vector< std::vector< PixH2SV2< T > > > *input, std::vector< std::vector< PixH2SV2< T > > > *results)
 this will find junctions after calling multiScaleBatchFilter
template<class T >
void multiScaleJunctionFilter (const unsigned int size, const unsigned int scales, const std::vector< std::vector< T > > *input, std::vector< std::vector< T > > *results)
 call this optionally after multiScaleBatchFilter

Detailed Description

Filters for featureClusterVision

Definition in file featureClusterFilters.H.


Function Documentation

template<class T_or_RGB >
T_or_RGB filterAtLocation ( Image< T_or_RGB > *  image,
Image< float > *  kernel,
Point2D< int > *  location 
) [inline]

this method will apply a filter at a location and return a value

This method is useful if your need to filter an image in a non-linear method or only need to extract filtered patches. Other than that, you should use the other methods above.

Definition at line 137 of file featureClusterFilters.H.

References abs(), ASSERT, Image< T >::beginw(), Image< T >::getHeight(), Image< T >::getWidth(), Point2D< T >::i, and sum().

template<class T_or_RGB >
void filterAtLocationBatch ( const Image< T_or_RGB > *  image,
const Image< float > *  kernel,
const std::vector< Point2D< int > * > *  location,
std::vector< T_or_RGB > *  results,
const unsigned int  size 
) [inline]

this method will apply a filter at a location and return a value

This method is useful if your need to filter an image in a non-linear method or only need to extract filtered patches. Other than that, you should use the other methods above. This method differs from filterAtLocation in that it accepts a batch of locations.

Definition at line 203 of file featureClusterFilters.H.

References abs(), ASSERT, Image< T >::begin(), Image< T >::getHeight(), Image< T >::getWidth(), and sum().

template<class T_or_RGB >
void multiScaleBatchFilter ( const Image< T_or_RGB > *  image,
const std::vector< Point2D< int > * > *  location,
const unsigned int *  locations,
const std::vector< Image< float > > *  filters,
const unsigned int  scales,
const bool  quarterSize,
const bool  normalize,
std::vector< std::vector< T_or_RGB > > *  results 
) [inline]

This method applies filter on an image at multiple scales at select locals.

When called this method will run each of the supplied filters on the image at the scales ranging from full scale to size/2^n. To keep the workings straight, supply a name for each filter and then you can be sure how the results allign in the output vector. The method for each filter is basic convolution, but it limited to each location rather than the whole image.

Parameters:
image this is the input raw image
location This is a list of the locations at which to apply filters
locations This is how many locations are in the list
filterNames a list of what each filter is called for labels
filters these are several kernels for filter use
scales how man scales down do you want to filter each image
quarterSize scale image by sqrt(.5)(quarter-ish) or 1/2
normalize normalize over the filter outputs
results what you get back from all this
resultsLables User supplied descriptors for each filter

Definition at line 305 of file featureClusterFilters.H.

References abs(), Image< T >::begin(), Image< T >::beginw(), decXY(), Image< T >::getHeight(), Image< T >::getWidth(), sqrt(), and sum().

Referenced by featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchFilter(), and featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchTest().

template<class T >
void multiScaleJunctionFilter ( const unsigned int  size,
const unsigned int  scales,
const std::vector< std::vector< T > > *  input,
std::vector< std::vector< T > > *  results 
) [inline]

call this optionally after multiScaleBatchFilter

Definition at line 568 of file featureClusterFilters.H.

template<class T >
void multiScaleJunctionFilter ( const unsigned int  size,
const unsigned int  scales,
const std::vector< std::vector< PixH2SV2< T > > > *  input,
std::vector< std::vector< PixH2SV2< T > > > *  results 
) [inline]

this will find junctions after calling multiScaleBatchFilter

This is optional and may be called to find junctions if multiScaleBatchFilter was called using gabor filters at 0,45,90 and 135 degrees. Call this after calling multiScaleBatchFilter if wanted.

Definition at line 468 of file featureClusterFilters.H.

References abs().

Referenced by featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchFilter(), and featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchTest().

Generated on Sun May 8 08:42:53 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3