#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"
Go to the source code of this file.
Functions | |
template<class T > | |
T | getPyrPixel (const ImageSet< T > &pyr, const Point2D< int > &p, const uint lev) |
template<class T > | |
T | getPyrPixelNI (const ImageSet< T > &pyr, const Point2D< int > &p, const uint lev) |
template<class T > | |
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) |
Free functions operating on pyramid data structures
Definition in file PyramidOps.C.
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.
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.
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().
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().
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().
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().
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().
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().
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().
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().
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().