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
For GAN_MASK2D_ANTISYMMETRIC, only |
|
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.
|