PyramidOps.C File Reference

#include "Image/PyramidOps.H"
#include "Image/Image.H"
#include "Image/ImageSet.H"
#include "Image/ImageSetOps.H"
#include "Image/FilterOps.H"
#include "Image/LowPassLpt.H"
#include "Image/Kernels.H"
#include "Image/MathOps.H"
#include "Image/ShapeOps.H"
#include "Image/Transforms.H"
#include "Image/Pixels.H"
#include "Util/Assert.H"
#include "rutz/trace.h"
#include "inst/Image/PyramidOps.I"
Include dependency graph for PyramidOps.C:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class T >
getPyrPixel (const ImageSet< T > &pyr, const Point2D< int > &p, const uint lev)
template<class T >
getPyrPixelNI (const ImageSet< T > &pyr, const Point2D< int > &p, const uint lev)
template<class T >
getPyrPixel (const ImageSet< T > &pyr, const float x, const float y, const float z)
template<class T >
ImageSet< T > buildPyrGaussian (const Image< T > &image, int firstlevel, int depth, int filterSize)
template<class T >
ImageSet< T > buildRadialPyrGaussian (const Image< T > &image, int firstlevel, int depth)
template<class T >
ImageSet< T > buildPyrConvolve (const Image< T > &image, int firstlevel, int depth, const Image< float > &filter, ConvolutionBoundaryStrategy boundary)
template<class T >
ImageSet< T > buildPyrLaplacian (const Image< T > &image, int firstlevel, int depth, int filterSize)
template<class T >
ImageSet< T > buildPyrOrientedFromLaplacian (const ImageSet< T > &laplacian, int filterSize, float theta, float intens, const bool usetab)
template<class T >
ImageSet< T > buildPyrOriented (const Image< T > &image, int firstlevel, int depth, int filterSize, float theta, float intens, const bool usetab)
template<class T >
ImageSet< T > buildPyrLocalAvg (const Image< T > &image, int depth)
template<class T >
ImageSet< T > buildPyrLocalAvg2x2 (const Image< T > &image, int depth)
template<class T >
ImageSet< T > buildPyrLocalMax (const Image< T > &image, int depth)
template<class T >
ImageSet< T > buildPyrGeneric (const Image< T > &image, int firstlevel, int depth, const PyramidType typ, const float gabor_theta, const float intens)
ImageSet< float > buildPyrGabor (const ImageSet< float > &gaussianPyr, float angle, float filter_period, float elongation, int size, int flags)
 Build a Gabor Pyramid with a given angle, filter period and elongation.
ImageSet< float > buildPyrGabor (const Image< float > &img, int firstlevel, int depth, float angle, float filter_period, float elongation, int size, int flags)
 Build a Gabor Pyramid with a given angle, filter period and elongation.
template<class T >
Image< T > centerSurround (const ImageSet< T > &pyr, const int lev1, const int lev2, const bool absol, const ImageSet< float > *clipPyr)
 Compute center-surround between images at lev1 and lev2.
template<class T >
void centerSurround (const ImageSet< T > &pyr, const int lev1, const int lev2, Image< T > &pos, Image< T > &neg, const ImageSet< float > *clipPyr)
 Compute center-surround between images, splitting positive and negative.
template<class T >
Image< T > centerSurroundSingleOpponent (const ImageSet< T > &cpyr, const ImageSet< T > &spyr, const int lev1, const int lev2, const bool absol, const ImageSet< float > *clipPyr)
 Compute single-opponent center-surround between images at lev1 and lev2.
template<class T >
void centerSurroundSingleOpponent (const ImageSet< T > &cpyr, const ImageSet< T > &spyr, const int lev1, const int lev2, Image< T > &pos, Image< T > &neg, const ImageSet< float > *clipPyr)
 Compute single-opp center-surr between imgs, splitting pos and neg.
template<class T >
Image< T > centerSurroundDiff (const ImageSet< T > &pyr1, const ImageSet< T > &pyr2, const int lev1, const int lev2, const bool absol, const ImageSet< float > *clipPyr)
 Compute center-surround between difference images at lev1 and lev2.
template<class T >
void centerSurroundDiff (const ImageSet< T > &pyr1, const ImageSet< T > &pyr2, const int lev1, const int lev2, Image< T > &pos, Image< T > &neg, const ImageSet< float > *clipPyr)
 Compute center-surround differnces, splitting pos & neg values.
template<class T >
Image< T > centerSurroundDiffSingleOpponent (const ImageSet< T > &cpyr1, const ImageSet< T > &cpyr2, const ImageSet< T > &spyr1, const ImageSet< T > &spyr2, const int lev1, const int lev2, const bool absol, const ImageSet< float > *clipPyr)
 Compute single-opp center-surround btw difference images at lev1 and lev2.
template<class T >
void centerSurroundDiffSingleOpponent (const ImageSet< T > &cpyr1, const ImageSet< T > &cpyr2, const ImageSet< T > &spyr1, const ImageSet< T > &spyr2, const int lev1, const int lev2, Image< T > &pos, Image< T > &neg, const ImageSet< float > *clipPyr)
 Compute single-opp center-surround differnces, splitting pos & neg values.
template<class T >
Image< T > weightedBlur (const Image< byte > &modulator, const ImageSet< T > &pyr)
template<class T >
Image< T > foveate (const Image< byte > &mask, const ImageSet< T > &pyr)
template ImageSet< double > buildPyrLocalAvg2x2 (const Image< double > &, int)

Detailed Description

Free functions operating on pyramid data structures

Definition in file PyramidOps.C.


Function Documentation

ImageSet<float> buildPyrGabor ( const Image< float > &  img,
int  firstlevel,
int  depth,
float  angle,
float  filter_period,
float  elongation = 1.0,
int  size = -1,
int  flags = 0 
)

Build a Gabor Pyramid with a given angle, filter period and elongation.

Parameters:
size determines the filter size (in pixels) - in the default case (-1), the size is computed from the filter_preiod and elongation

Definition at line 482 of file PyramidOps.C.

References buildPyrGabor(), buildPyrGaussian(), and buildPyrLaplacian().

ImageSet<float> buildPyrGabor ( const ImageSet< float > &  gaussianPyr,
float  angle,
float  filter_period,
float  elongation = 1.0,
int  size = -1,
int  flags = 0 
)

Build a Gabor Pyramid with a given angle, filter period and elongation.

Parameters:
size determines the filter size (in pixels) - in the default case (-1), the size is computed from the filter_period and elongation

Definition at line 406 of file PyramidOps.C.

References abs(), energyNorm(), Image< T >::getHeight(), Image< T >::getWidth(), optConvolve(), and ImageSet< T >::size().

Referenced by SpatioTemporalEnergyPyrBuilder< T >::build(), GaborPyrBuilder< T >::build(), buildPyrGabor(), ContourChannel::doInput(), and GaborPyrBuilder< T >::input().

template<class T >
void centerSurround ( const ImageSet< T > &  pyr,
const int  lev1,
const int  lev2,
Image< T > &  pos,
Image< T > &  neg,
const ImageSet< float > *  clipPyr 
) [inline]

Compute center-surround between images, splitting positive and negative.

Definition at line 537 of file PyramidOps.C.

References ASSERT, centerSurround(), ImageSet< T >::isNonEmpty(), max(), min(), and ImageSet< T >::size().

template<class T >
Image<T> centerSurround ( const ImageSet< T > &  pyr,
const int  lev1,
const int  lev2,
const bool  absol,
const ImageSet< float > *  clipPyr 
) [inline]

Compute center-surround between images at lev1 and lev2.

Definition at line 509 of file PyramidOps.C.

References ASSERT, centerSurround(), ImageSet< T >::isNonEmpty(), max(), min(), and ImageSet< T >::size().

template<class T >
void centerSurroundDiff ( const ImageSet< T > &  pyr1,
const ImageSet< T > &  pyr2,
const int  lev1,
const int  lev2,
Image< T > &  pos,
Image< T > &  neg,
const ImageSet< float > *  clipPyr 
) [inline]

Compute center-surround differnces, splitting pos & neg values.

Definition at line 662 of file PyramidOps.C.

References ASSERT, centerSurround(), Image< T >::getDims(), ImageSet< T >::isNonEmpty(), max(), min(), and ImageSet< T >::size().

template<class T >
Image<T> centerSurroundDiff ( const ImageSet< T > &  pyr1,
const ImageSet< T > &  pyr2,
const int  lev1,
const int  lev2,
const bool  absol = false,
const ImageSet< float > *  clipPyr = 0 
) [inline]

Compute center-surround between difference images at lev1 and lev2.

Difference images are obtained at each level by taking the difference between the image from *this minus the image from other_pyr

Definition at line 627 of file PyramidOps.C.

References ASSERT, centerSurround(), Image< T >::getDims(), ImageSet< T >::isNonEmpty(), max(), min(), and ImageSet< T >::size().

Referenced by SingleChannel::centerSurround().

template<class T >
void centerSurroundDiffSingleOpponent ( const ImageSet< T > &  cpyr1,
const ImageSet< T > &  cpyr2,
const ImageSet< T > &  spyr1,
const ImageSet< T > &  spyr2,
const int  lev1,
const int  lev2,
Image< T > &  pos,
Image< T > &  neg,
const ImageSet< float > *  clipPyr 
) [inline]

Compute single-opp center-surround differnces, splitting pos & neg values.

Definition at line 736 of file PyramidOps.C.

References ASSERT, centerSurround(), Image< T >::getDims(), ImageSet< T >::isNonEmpty(), max(), min(), and ImageSet< T >::size().

template<class T >
Image<T> centerSurroundDiffSingleOpponent ( const ImageSet< T > &  cpyr1,
const ImageSet< T > &  cpyr2,
const ImageSet< T > &  spyr1,
const ImageSet< T > &  spyr2,
const int  lev1,
const int  lev2,
const bool  absol = false,
const ImageSet< float > *  clipPyr = 0 
) [inline]

Compute single-opp center-surround btw difference images at lev1 and lev2.

Difference images are obtained at each level by taking the difference between the image from *this minus the image from other_pyr

Definition at line 697 of file PyramidOps.C.

References ASSERT, centerSurround(), Image< T >::getDims(), ImageSet< T >::isNonEmpty(), max(), min(), and ImageSet< T >::size().

Referenced by SingleOpponentChannel::centerSurround().

template<class T >
void centerSurroundSingleOpponent ( const ImageSet< T > &  cpyr,
const ImageSet< T > &  spyr,
const int  lev1,
const int  lev2,
Image< T > &  pos,
Image< T > &  neg,
const ImageSet< float > *  clipPyr 
) [inline]

Compute single-opp center-surr between imgs, splitting pos and neg.

Definition at line 596 of file PyramidOps.C.

References ASSERT, centerSurround(), ImageSet< T >::isNonEmpty(), max(), min(), and ImageSet< T >::size().

template<class T >
Image<T> centerSurroundSingleOpponent ( const ImageSet< T > &  cpyr,
const ImageSet< T > &  spyr,
const int  lev1,
const int  lev2,
const bool  absol = false,
const ImageSet< float > *  clipPyr = 0 
) [inline]

Compute single-opponent center-surround between images at lev1 and lev2.

This is essentially cpyr[lev1] - spyr[lev2]

Definition at line 564 of file PyramidOps.C.

References ASSERT, centerSurround(), ImageSet< T >::isNonEmpty(), max(), min(), and ImageSet< T >::size().

Referenced by SingleOpponentChannel::centerSurround().

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