Classes | |
struct | Gan_Mask1D |
1D convolution mask. More... | |
struct | Gan_Mask2D |
2D convolution mask. More... | |
Defines | |
#define | SHIFT_DOWN_REPEAT(v, s) (((v) < (s)) ? (v) : ((s)-1)) |
#define | SHIFT_UP_REPEAT(v, s) (((v) < 0) ? 0 : (v)) |
#define | SHIFT_IN_REPEAT(v, s) (((v) < 0) ? 0 : (((v) < (s)) ? (v) : ((s)-1))) |
#define | SHIFT_DOWN_CIRCULAR(v, s) (((v) < (s)) ? (v) : ((v)-(s))) |
#define | SHIFT_UP_CIRCULAR(v, s) (((v) < 0) ? ((v)+(s)) : (v)) |
#define | SHIFT_IN_CIRCULAR(v, s) (((v) < 0) ? ((v)+(s)) : (((v) < (s)) ? (v) : ((v)-(s)))) |
Enumerations | |
enum | Gan_Mask1DFormat { GAN_MASK1D_SYMMETRIC, GAN_MASK1D_ANTISYMMETRIC, GAN_MASK1D_GENERIC } |
Format of convolution mask. More... | |
enum | Gan_EdgeBehaviour { GAN_EDGE_BEHAVIOUR_CLIP, GAN_EDGE_BEHAVIOUR_REPEAT, GAN_EDGE_BEHAVIOUR_CIRCULAR, GAN_EDGE_BEHAVIOUR_EXPAND } |
Edge behaviour. More... | |
enum | Gan_Mask2DFormat { GAN_MASK2D_SYMMETRIC, GAN_MASK2D_ANTISYMMETRIC, GAN_MASK2D_GENERIC } |
Format of 2D convolution mask. More... | |
Functions | |
Gan_Bool | gan_convolve1D_f (float *source, int sstride, Gan_EdgeBehaviour behaviour, Gan_Bool zero_outside, float *dest, int dstride, Gan_Mask1D *mask, int dsize) |
1D convolution function for float arrays. | |
Gan_Bool | gan_convolve1D_d (double *source, int sstride, Gan_EdgeBehaviour behaviour, Gan_Bool zero_outside, double *dest, int dstride, Gan_Mask1D *mask, int dsize) |
1D convolution function for double arrays. | |
Gan_Bool | gan_convolve1D_i (int *source, int sstride, Gan_EdgeBehaviour behaviour, Gan_Bool zero_outside, int *dest, int dstride, Gan_Mask1D *mask, int dsize) |
1D convolution function for int arrays. | |
Gan_Bool | gan_convolve1D_uc (unsigned char *source, int sstride, Gan_EdgeBehaviour behaviour, Gan_Bool zero_outside, unsigned char *dest, int dstride, Gan_Mask1D *mask, int dsize) |
1D convolution function for integer arrays. | |
Gan_Bool | gan_convolve1D_rgb_uc (unsigned char *source, int sstride, unsigned char *dest, int dstride, Gan_Mask1D *mask, unsigned int dsize) |
1D convolution function for integer RGB arrays. | |
Gan_Bool | gan_convolve1D_rgb_f (float *source, int sstride, float *dest, int dstride, Gan_Mask1D *mask, unsigned int dsize) |
1D convolution function for integer RGB arrays. | |
Gan_Bool | gan_convolve1D_us (unsigned short *source, int sstride, Gan_EdgeBehaviour behaviour, Gan_Bool zero_outside, unsigned short *dest, int dstride, Gan_Mask1D *mask, int dsize) |
1D convolution function for integer arrays. | |
Gan_Bool | gan_convolve1D_ui (unsigned int *source, int sstride, Gan_EdgeBehaviour behaviour, Gan_Bool zero_outside, unsigned int *dest, int dstride, Gan_Mask1D *mask, int dsize) |
1D convolution function for unsigned integer arrays. | |
Gan_Image * | gan_image_convolve1Dx_q (const Gan_Image *image, Gan_ImageChannelType channel, Gan_EdgeBehaviour eEdgeBehaviour, Gan_Mask1D *mask, Gan_Image *dest) |
Convolves an image in the x-direction. | |
Gan_Image * | gan_image_convolve1Dy_q (const Gan_Image *image, Gan_ImageChannelType channel, Gan_EdgeBehaviour eEdgeBehaviour, Gan_Mask1D *mask, Gan_Image *dest) |
Convolves an image in the y-direction. | |
Gan_Image * | gan_image_convolve1Dx_s (const Gan_Image *image, Gan_ImageChannelType channel, Gan_EdgeBehaviour eEdgeBehaviour, Gan_Mask1D *mask) |
Macro: Convolves an image in the x-direction. | |
Gan_Image * | gan_image_convolve1Dy_s (const Gan_Image *image, Gan_ImageChannelType channel, Gan_EdgeBehaviour eEdgeBehaviour, Gan_Mask1D *mask) |
Macro: Convolves an image in the y-direction. | |
Gan_Bool | gan_convolve2D_f (float *source, int sstride, float *dest, int dstride, Gan_Mask2D *mask, unsigned long width) |
2D convolution function for float arrays. | |
Gan_Bool | gan_convolve2D_d (double *source, int sstride, double *dest, int dstride, Gan_Mask2D *mask, unsigned long width) |
2D convolution function for double arrays. | |
Gan_Bool | gan_convolve2D_i (int *source, int sstride, int *dest, int dstride, Gan_Mask2D *mask, unsigned long width) |
2D convolution function for integer arrays. | |
Gan_Bool | gan_convolve2D_uc (unsigned char *source, int sstride, unsigned char *dest, int dstride, Gan_Mask2D *mask, unsigned long width) |
2D convolution function for unsigned character arrays. | |
Gan_Bool | gan_convolve2D_us (unsigned short *source, int sstride, unsigned short *dest, int dstride, Gan_Mask2D *mask, unsigned long width) |
2D convolution function for unsigned short arrays. | |
Gan_Bool | gan_convolve2D_ui (unsigned int *source, int sstride, unsigned int *dest, int dstride, Gan_Mask2D *mask, unsigned long width) |
2D convolution function for unsigned integer arrays. | |
Gan_Image * | gan_image_convolve2D_q (Gan_Image *image, Gan_ImageChannelType channel, Gan_Mask2D *mask, Gan_Image *dest) |
Convolves an image in both directions. | |
Gan_Image * | gan_image_convolve2D_s (Gan_Image *image, Gan_ImageChannelType channel, Gan_Mask2D *mask) |
Macro: Convolves an image in both directions. | |
Gan_Mask1D * | gan_mask1D_form_gen (Gan_Mask1D *mask, Gan_Mask1DFormat format, Gan_Type type, void *data, unsigned int size) |
Form a new 1D convolution mask. | |
Gan_Bool | gan_mask1D_copy_q (Gan_Mask1D *source, Gan_Mask1D *dest) |
Copies a convolution mask. | |
Gan_Bool | gan_mask1D_free (Gan_Mask1D *mask) |
Frees a convolution mask. | |
Gan_Mask1D * | gan_gauss_mask_new (Gan_Type type, double sigma, unsigned mask_size, double scale, void *mask_data) |
Make new Gaussian convolution mask. | |
Gan_Mask1D * | gan_mask1D_alloc (Gan_Mask1DFormat format, Gan_Type type, unsigned int size) |
Macro: Allocate and return a new 1D convolution mask. | |
Gan_Mask1D * | gan_mask1D_alloc_data (Gan_Mask1DFormat format, Gan_Type type, void *data, unsigned int size) |
Macro: Allocate and return a new 1D convolution mask. | |
Gan_Mask1D * | gan_mask1D_form (Gan_Mask1D *mask, Gan_Mask1DFormat format, Gan_Type type, unsigned int size) |
Macro: Build a new 1D convolution mask. | |
Gan_Mask1D * | gan_mask1D_form_data (Gan_Mask1D *mask, Gan_Mask1DFormat format, Gan_Type type, void *data, unsigned int size) |
Macro: Build a new 1D convolution mask. | |
Gan_Mask2D * | gan_mask2D_form_gen (Gan_Mask2D *mask, Gan_Mask2DFormat format, Gan_Matrix *data, unsigned int rows, unsigned int cols) |
Form a new 2D convolution mask. | |
Gan_Bool | gan_mask2D_copy_q (Gan_Mask2D *source, Gan_Mask2D *dest) |
Copies a convolution mask. | |
Gan_Bool | gan_mask2D_free (Gan_Mask2D *mask) |
Frees a convolution mask. | |
Gan_Mask2D * | gan_mask2D_gen_from_Gan_Image (Gan_Image *img) |
Generates a 2D convolution mask from a grey-level image. | |
Gan_Mask2D * | gan_mask2D_alloc (Gan_Mask2DFormat format, unsigned int rows, unsigned int cols) |
Macro: Allocate and return a new 2D convolution mask. | |
Gan_Mask2D * | gan_mask2D_alloc_data (Gan_Mask2DFormat format, Gan_Matrix *data, unsigned int rows, unsigned int cols) |
Macro: Allocate and return a new 2D convolution mask. | |
Gan_Mask2D * | gan_mask2D_form (Gan_Mask2D *mask, Gan_Mask2DFormat format, unsigned int rows, unsigned int cols) |
Macro: Build a new 2D convolution mask. | |
Gan_Mask2D * | gan_mask2D_form_data (Gan_Mask2D *mask, Gan_Mask2DFormat format, Gan_Matrix *data, unsigned int rows, unsigned int cols) |
Macro: Build a new 2D convolution mask. |
|
Edge behaviour.
|
|
Format of convolution mask.
|
|
Format of 2D convolution mask.
Format of 2D convolution mask, whose height For GAN_MASK2D_SYMMETRIC, only elements, belonging to the upper left quadrant, need to be specified by the user. The other quadrants are symmetric. For GAN_MASK2D_ANTISYMMETRIC, only elements, belonging to the upper left quadrant and excluding those located in the central axis of the mask, have to be defined. The upper right and the lower left quadrants are antisymmetric (multiplied by -1) and the lower right quadrant is symmetric. The pixels located in the central axis are equal to zero. |
|
1D convolution function for double arrays.
double .
|
|
1D convolution function for float arrays.
float .
|
|
1D convolution function for int arrays.
int .
|
|
1D convolution function for integer RGB arrays.
unsigned char . There is no checking for overflow.
|
|
1D convolution function for integer RGB arrays.
unsigned char . There is no checking for overflow.
|
|
1D convolution function for integer arrays.
unsigned char . There is no checking for overflow.
|
|
1D convolution function for unsigned integer arrays.
unsigned int . There is no checking for overflow.
|
|
1D convolution function for integer arrays.
unsigned short . There is no checking for overflow.
|
|
2D convolution function for double arrays.
double .
|
|
2D convolution function for float arrays.
float .
|
|
2D convolution function for integer arrays.
int . There is no checking for overflow.
|
|
2D convolution function for unsigned character arrays.
unsigned char . Overflow is considered.
|
|
2D convolution function for unsigned integer arrays.
unsigned int . There is no checking for overflow.
|
|
2D convolution function for unsigned short arrays.
unsigned short . There is no checking for overflow.
|
|
Make new Gaussian convolution mask.
|
|
Convolves an image in the x-direction.
Macro call to gan_image_convolve1Dx_q().
|
|
Macro: Convolves an image in the x-direction.
Macro call to gan_image_convolve1Dx_q().
|
|
Convolves an image in the y-direction.
Macro call to gan_image_convolve1Dy_q().
|
|
Macro: Convolves an image in the y-direction.
Macro call to gan_image_convolve1Dy_q().
|
|
Convolves an image in both directions.
|
|
Macro: Convolves an image in both directions.
Macro call to gan_image_convolve2D_q().
|
|
Macro: Allocate and return a new 1D convolution mask. Allocates and returns a new 1D convolution mask with the given format, type and size. Implemented as a macro call to gan_mask1D_form_gen().
|
|
Macro: Allocate and return a new 1D convolution mask. Allocates and returns a new 1D convolution mask with the given format, type, data array and size. Implemented as a macro call to gan_mask1D_form_gen().
|
|
Copies a convolution mask.
|
|
Macro: Build a new 1D convolution mask. Builds and returns a new 1D convolution mask with the given format, type and size, writing it into the provided structure mask. Implemented as a macro call to gan_mask1D_form_gen().
|
|
Macro: Build a new 1D convolution mask. Builds and returns a new 1D convolution mask with the given format, type, data and size, writing it into the provided structure mask. Implemented as a macro call to gan_mask1D_form_gen().
|
|
Form a new 1D convolution mask. Don't call this function directly. Use the macro gan_mask1D_form_data() instead. |
|
Frees a convolution mask.
|
|
Macro: Allocate and return a new 2D convolution mask. Allocates and returns a new 2D convolution mask with the given format and size. Implemented as a macro call to gan_mask2D_form_gen().
|
|
Macro: Allocate and return a new 2D convolution mask. Allocates and returns a new 2D convolution mask with the given format, type, data array and size. Implemented as a macro call to gan_mask2D_form_gen().
|
|
Copies a convolution mask.
|
|
Macro: Build a new 2D convolution mask. Builds and returns a new 2D convolution mask with the given format, type and size, writing it into the provided structure mask. Implemented as a macro call to gan_mask2D_form_gen().
|
|
Macro: Build a new 2D convolution mask. Builds and returns a new 2D convolution mask with the given format, type, data and size, writing it into the provided structure mask. Implemented as a macro call to gan_mask2D_form_gen().
|
|
Form a new 2D convolution mask.
|
|
Frees a convolution mask.
|
|
Generates a 2D convolution mask from a grey-level image.
|