#ifndef _FILTERS_
#define _FILTERS_

#define NULL 0

unsigned char* cosCorrection(int width, int height, unsigned char* imgSrc, unsigned char* imgDest = NULL);
unsigned char* meanFilter(int width, int height, int neighborsRange, unsigned char* imgSrc, unsigned char* imgDest = NULL);
unsigned char* gaussianFilter(int width, int height, int nband, int luminance, int nPasses, unsigned char* imgSrc, unsigned char* imgDest = NULL);
unsigned char* fastGaussianFilter(int width, int height, int nband, int luminance, int nPasses, unsigned char* imgSrc, unsigned char* imgDest = NULL);
unsigned char* medianFilter(int width, int height, int neighbors, unsigned char* imgSrc, unsigned char* imgDest = NULL);
unsigned char* conservativeFilter(int width, int height, int neighborsRange, unsigned char* imgSrc, unsigned char* imgDest = NULL);
unsigned char* diffFilter(int width, int height, unsigned char* imgSrc1, unsigned char* imgSrc2, unsigned char* imgDest = NULL);
unsigned char* diffFilterNormalized(int width, int height, unsigned char* imgSrc1, unsigned char* imgSrc2, unsigned char* imgDest = NULL);

#endif