Image Component Library (ICL)
Public Member Functions | Private Attributes | List of all members
icl::filter::TemporalSmoothingCL Class Reference

#include <MotionSensitiveTemporalSmoothing.h>

Public Member Functions

 TemporalSmoothingCL (utils::Size size, core::depth depth, int iMaxFilterSize, int iNullValue)
 creates a new TemporalSmoothingCL with given parameters (implementation of the MotionSensitiveTemporalSmoothing Filter) More...
 
 ~TemporalSmoothingCL ()
 Destructor. More...
 
core::Img32f temporalSmoothingF (const core::Img32f &inputImage)
 Execution of the temporal smoothing for float images. More...
 
core::Img8u temporalSmoothingC (const core::Img8u &inputImage)
 Execution of the temporal smoothing for uchar images. More...
 
void setUseCL (bool use)
 Sets openCL enabled/disabled. Enabling has no effect if no openCL context is available. (default true=enabled) More...
 
void setFilterSize (int iFilterSize)
 Sets the filter size (smaller than maxFilterSize in Constructor) More...
 
void setDifference (int iDifference)
 Sets the difference separating noise from movement (smaller=noise, bigger=movement) More...
 
core::Img32f getMotionImage ()
 Returns the motionImage (visualize the movement in the image, usable as motion detector) More...
 
bool isCLReady ()
 Returns the openCL status (true=openCL context ready, false=no openCL context available) More...
 
bool isCLActive ()
 Returns the openCL activation status (true=openCL enabled, false=openCL disabled). The status can be set by setUseCL(bool use). More...
 

Private Attributes

int w
 
int h
 
core::depth d
 
bool clReady
 
bool useCL
 
int imgCount
 
int filterSize
 
int currentFilterSize
 
int maxFilterSize
 
int currentDifference
 
int nullValue
 
std::vector< core::Img32finputImagesF
 
core::Img32f outputImageF
 
std::vector< core::Img8uinputImagesC
 
core::Img8u outputImageC
 
core::Img32f motionImage
 
float * inputImage1ArrayF
 
float * inputImagesArrayF
 
float * outputImageArrayF
 
unsigned char * inputImage1ArrayC
 
unsigned char * inputImagesArrayC
 
unsigned char * outputImageArrayC
 
float * motionImageArray
 
utils::CLProgram program
 
utils::CLKernel kernelTemporalSmoothingFloat
 
utils::CLKernel kernelTemporalSmoothingChar
 
utils::CLKernel kernelCheckRANSAC
 
utils::CLKernel kernelAssignRANSAC
 
utils::CLBuffer inputImageBufferF
 
utils::CLBuffer outputImageBufferF
 
utils::CLBuffer inputImageBufferC
 
utils::CLBuffer outputImageBufferC
 
utils::CLBuffer motionImageBuffer
 

Constructor & Destructor Documentation

◆ TemporalSmoothingCL()

icl::filter::TemporalSmoothingCL::TemporalSmoothingCL ( utils::Size  size,
core::depth  depth,
int  iMaxFilterSize,
int  iNullValue 
)

creates a new TemporalSmoothingCL with given parameters (implementation of the MotionSensitiveTemporalSmoothing Filter)

Parameters
sizesize of the input image
depthdepth of the image (32f and 8u supported)
maxFilterSizemaximum size of the filter

◆ ~TemporalSmoothingCL()

icl::filter::TemporalSmoothingCL::~TemporalSmoothingCL ( )

Destructor.

Member Function Documentation

◆ getMotionImage()

core::Img32f icl::filter::TemporalSmoothingCL::getMotionImage ( )

Returns the motionImage (visualize the movement in the image, usable as motion detector)

Returns
the motion image

◆ isCLActive()

bool icl::filter::TemporalSmoothingCL::isCLActive ( )

Returns the openCL activation status (true=openCL enabled, false=openCL disabled). The status can be set by setUseCL(bool use).

Returns
openCL enabled/disabled

◆ isCLReady()

bool icl::filter::TemporalSmoothingCL::isCLReady ( )

Returns the openCL status (true=openCL context ready, false=no openCL context available)

Returns
openCL context ready/unavailable

◆ setDifference()

void icl::filter::TemporalSmoothingCL::setDifference ( int  iDifference)

Sets the difference separating noise from movement (smaller=noise, bigger=movement)

Parameters
iDifferencethe difference

◆ setFilterSize()

void icl::filter::TemporalSmoothingCL::setFilterSize ( int  iFilterSize)

Sets the filter size (smaller than maxFilterSize in Constructor)

Parameters
iFilterSizethe filter size

◆ setUseCL()

void icl::filter::TemporalSmoothingCL::setUseCL ( bool  use)

Sets openCL enabled/disabled. Enabling has no effect if no openCL context is available. (default true=enabled)

Parameters
useenable/disable openCL

◆ temporalSmoothingC()

core::Img8u icl::filter::TemporalSmoothingCL::temporalSmoothingC ( const core::Img8u inputImage)

Execution of the temporal smoothing for uchar images.

Parameters
inputImagethe next input image for the smoothing sequence
Returns
the smoothed image

◆ temporalSmoothingF()

core::Img32f icl::filter::TemporalSmoothingCL::temporalSmoothingF ( const core::Img32f inputImage)

Execution of the temporal smoothing for float images.

Parameters
inputImagethe next input image for the smoothing sequence
Returns
the smoothed image

Member Data Documentation

◆ clReady

bool icl::filter::TemporalSmoothingCL::clReady
private

◆ currentDifference

int icl::filter::TemporalSmoothingCL::currentDifference
private

◆ currentFilterSize

int icl::filter::TemporalSmoothingCL::currentFilterSize
private

◆ d

core::depth icl::filter::TemporalSmoothingCL::d
private

◆ filterSize

int icl::filter::TemporalSmoothingCL::filterSize
private

◆ h

int icl::filter::TemporalSmoothingCL::h
private

◆ imgCount

int icl::filter::TemporalSmoothingCL::imgCount
private

◆ inputImage1ArrayC

unsigned char* icl::filter::TemporalSmoothingCL::inputImage1ArrayC
private

◆ inputImage1ArrayF

float* icl::filter::TemporalSmoothingCL::inputImage1ArrayF
private

◆ inputImageBufferC

utils::CLBuffer icl::filter::TemporalSmoothingCL::inputImageBufferC
private

◆ inputImageBufferF

utils::CLBuffer icl::filter::TemporalSmoothingCL::inputImageBufferF
private

◆ inputImagesArrayC

unsigned char* icl::filter::TemporalSmoothingCL::inputImagesArrayC
private

◆ inputImagesArrayF

float* icl::filter::TemporalSmoothingCL::inputImagesArrayF
private

◆ inputImagesC

std::vector<core::Img8u> icl::filter::TemporalSmoothingCL::inputImagesC
private

◆ inputImagesF

std::vector<core::Img32f> icl::filter::TemporalSmoothingCL::inputImagesF
private

◆ kernelAssignRANSAC

utils::CLKernel icl::filter::TemporalSmoothingCL::kernelAssignRANSAC
private

◆ kernelCheckRANSAC

utils::CLKernel icl::filter::TemporalSmoothingCL::kernelCheckRANSAC
private

◆ kernelTemporalSmoothingChar

utils::CLKernel icl::filter::TemporalSmoothingCL::kernelTemporalSmoothingChar
private

◆ kernelTemporalSmoothingFloat

utils::CLKernel icl::filter::TemporalSmoothingCL::kernelTemporalSmoothingFloat
private

◆ maxFilterSize

int icl::filter::TemporalSmoothingCL::maxFilterSize
private

◆ motionImage

core::Img32f icl::filter::TemporalSmoothingCL::motionImage
private

◆ motionImageArray

float* icl::filter::TemporalSmoothingCL::motionImageArray
private

◆ motionImageBuffer

utils::CLBuffer icl::filter::TemporalSmoothingCL::motionImageBuffer
private

◆ nullValue

int icl::filter::TemporalSmoothingCL::nullValue
private

◆ outputImageArrayC

unsigned char* icl::filter::TemporalSmoothingCL::outputImageArrayC
private

◆ outputImageArrayF

float* icl::filter::TemporalSmoothingCL::outputImageArrayF
private

◆ outputImageBufferC

utils::CLBuffer icl::filter::TemporalSmoothingCL::outputImageBufferC
private

◆ outputImageBufferF

utils::CLBuffer icl::filter::TemporalSmoothingCL::outputImageBufferF
private

◆ outputImageC

core::Img8u icl::filter::TemporalSmoothingCL::outputImageC
private

◆ outputImageF

core::Img32f icl::filter::TemporalSmoothingCL::outputImageF
private

◆ program

utils::CLProgram icl::filter::TemporalSmoothingCL::program
private

◆ useCL

bool icl::filter::TemporalSmoothingCL::useCL
private

◆ w

int icl::filter::TemporalSmoothingCL::w
private

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