Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BIAS::clfRecursiveGauss Class Reference

recursive approximation of gaussian blur (IIR) opencl implementation of deriche, recursively implementing the gaussian and its derivatives (icip, 1992) More...

#include <OpenCLFramework/Algorithm/clfRecursiveGauss.hh>

+ Inheritance diagram for BIAS::clfRecursiveGauss:
+ Collaboration diagram for BIAS::clfRecursiveGauss:

Public Member Functions

 clfRecursiveGauss (float sigma=2.0f, clfContext *ctx=NULL, bool sharedGL=false, unsigned int device=0)
 constructor, give context or let More...
 
int Filter (clfImage2D *src, clfImage2D *&dst)
 gauss filter rgba image More...
 
int FilterGrey (clfImage2D *src, clfImage2D *&dst)
 optimized gauss filter for grey images More...
 
int FilterGreyColPacked (clfImage2D *src, clfImage2D *&dst)
 optimized gauss filter for already packed grey images More...
 
int FilterX (clfImage2D *src, clfImage2D *&dst)
 filter in X-direction More...
 
int FilterY (clfImage2D *src, clfImage2D *&dst)
 filter in Y-direction More...
 
clfProgramGetCLProgram ()
 
clfContextGetContext ()
 
void Reset ()
 clear intermediate images resets storage of internal images, needs to be called if image sizes differ from frame to frame More...
 
void SetSigma (float sigma, int order=0)
 Set Sigma and calculate coefficients for iir filter. More...
 
virtual ~clfRecursiveGauss ()
 

Static Public Member Functions

static void getlocsize (const unsigned int val, unsigned int &result)
 
static unsigned int getlocsize (const unsigned int val)
 

Protected Member Functions

void InitInternal_ (clfContext *ctx, bool sharedGL, unsigned int device)
 

Protected Attributes

clfContextcontext_
 
int device_
 
clfImage2DintermediateImage_
 
bool isSharedGL_
 
std::vector< std::string > kernelNames_
 
int maxComputeUnits_
 
clfImage2DoneDirFilteredImage_
 
bool ownContext_
 
clfImage2DpackedGreyImage_
 
std::vector< float > params_
 
clfProgramprogramCL_
 

Detailed Description

recursive approximation of gaussian blur (IIR) opencl implementation of deriche, recursively implementing the gaussian and its derivatives (icip, 1992)

Definition at line 20 of file clfRecursiveGauss.hh.

Constructor & Destructor Documentation

clfRecursiveGauss::clfRecursiveGauss ( float  sigma = 2.0f,
clfContext ctx = NULL,
bool  sharedGL = false,
unsigned int  device = 0 
)
clfRecursiveGauss::~clfRecursiveGauss ( )
virtual

Definition at line 46 of file clfRecursiveGauss.cpp.

References Reset().

Member Function Documentation

int clfRecursiveGauss::Filter ( clfImage2D src,
clfImage2D *&  dst 
)

gauss filter rgba image

Definition at line 60 of file clfRecursiveGauss.cpp.

References FilterX(), FilterY(), BIAS::clfImage2D::GetImageDim(), and oneDirFilteredImage_.

int clfRecursiveGauss::FilterGrey ( clfImage2D src,
clfImage2D *&  dst 
)
int clfRecursiveGauss::FilterGreyColPacked ( clfImage2D src,
clfImage2D *&  dst 
)
int clfRecursiveGauss::FilterX ( clfImage2D src,
clfImage2D *&  dst 
)
int clfRecursiveGauss::FilterY ( clfImage2D src,
clfImage2D *&  dst 
)
clfProgram* BIAS::clfAlgorithm::GetCLProgram ( )
inlineinherited

Definition at line 25 of file clfAlgorithm.hh.

clfContext* BIAS::clfAlgorithm::GetContext ( )
inlineinherited

Definition at line 23 of file clfAlgorithm.hh.

void BIAS::clfAlgorithm::getlocsize ( const unsigned int  val,
unsigned int &  result 
)
staticinherited

Definition at line 53 of file clfAlgorithm.cpp.

unsigned int BIAS::clfAlgorithm::getlocsize ( const unsigned int  val)
staticinherited

Definition at line 57 of file clfAlgorithm.cpp.

void BIAS::clfAlgorithm::InitInternal_ ( clfContext ctx,
bool  sharedGL,
unsigned int  device 
)
protectedinherited
void clfRecursiveGauss::Reset ( )

clear intermediate images resets storage of internal images, needs to be called if image sizes differ from frame to frame

Definition at line 50 of file clfRecursiveGauss.cpp.

References intermediateImage_, oneDirFilteredImage_, and packedGreyImage_.

Referenced by ~clfRecursiveGauss().

void clfRecursiveGauss::SetSigma ( float  sigma,
int  order = 0 
)

Set Sigma and calculate coefficients for iir filter.

Parameters
sigmagaussian sigma
orderderivative

Definition at line 314 of file clfRecursiveGauss.cpp.

References kernelNames_, BIAS::clfProgram::KernelSetArgument(), params_, and BIAS::clfAlgorithm::programCL_.

Referenced by clfRecursiveGauss().

Member Data Documentation

clfContext* BIAS::clfAlgorithm::context_
protectedinherited
int BIAS::clfAlgorithm::device_
protectedinherited
clfImage2D* BIAS::clfRecursiveGauss::intermediateImage_
protected
bool BIAS::clfAlgorithm::isSharedGL_
protectedinherited
std::vector<std::string> BIAS::clfRecursiveGauss::kernelNames_
protected

Definition at line 74 of file clfRecursiveGauss.hh.

Referenced by clfRecursiveGauss(), and SetSigma().

int BIAS::clfAlgorithm::maxComputeUnits_
protectedinherited
clfImage2D* BIAS::clfRecursiveGauss::oneDirFilteredImage_
protected
bool BIAS::clfAlgorithm::ownContext_
protectedinherited
clfImage2D* BIAS::clfRecursiveGauss::packedGreyImage_
protected

Definition at line 70 of file clfRecursiveGauss.hh.

Referenced by clfRecursiveGauss(), FilterGrey(), FilterGreyColPacked(), and Reset().

std::vector<float> BIAS::clfRecursiveGauss::params_
protected

Definition at line 72 of file clfRecursiveGauss.hh.

Referenced by SetSigma().

clfProgram* BIAS::clfAlgorithm::programCL_
protectedinherited

The documentation for this class was generated from the following files: