00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _GAN_CONVOLVE1D_H
00030 #define _GAN_CONVOLVE1D_H
00031
00032 #include <gandalf/vision/mask1D.h>
00033 #include <gandalf/image/image_defs.h>
00034 #include <gandalf/image/image_channel.h>
00035
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039
00050 Gan_Bool gan_convolve1D_f ( float *source, int sstride,
00051 Gan_EdgeBehaviour eEdgeBehaviour,
00052 Gan_Bool zero_outside,
00053 float *dest, int dstride,
00054 Gan_Mask1D *mask, int dsize );
00055 Gan_Bool gan_convolve1D_d ( double *source, int sstride,
00056 Gan_EdgeBehaviour eEdgeBehaviour,
00057 Gan_Bool zero_outside,
00058 double *dest, int dstride,
00059 Gan_Mask1D *mask, int dsize );
00060 Gan_Bool gan_convolve1D_i ( int *source, int sstride,
00061 Gan_EdgeBehaviour eEdgeBehaviour,
00062 Gan_Bool zero_outside,
00063 int *dest, int dstride,
00064 Gan_Mask1D *mask, int dsize );
00065 Gan_Bool gan_convolve1D_uc ( unsigned char *source, int sstride,
00066 Gan_EdgeBehaviour behaviour,
00067 Gan_Bool zero_outside,
00068 unsigned char *dest, int dstride,
00069 Gan_Mask1D *mask, int dsize );
00070 Gan_Bool gan_convolve1D_us ( unsigned short *source, int sstride,
00071 Gan_EdgeBehaviour behaviour,
00072 Gan_Bool zero_outside,
00073 unsigned short *dest, int dstride,
00074 Gan_Mask1D *mask, int dsize );
00075 Gan_Bool gan_convolve1D_ui ( unsigned int *source, int sstride,
00076 Gan_EdgeBehaviour behaviour,
00077 Gan_Bool zero_outside,
00078 unsigned int *dest, int dstride,
00079 Gan_Mask1D *mask, int dsize );
00080
00081 Gan_Image *gan_image_convolve1Dx_q ( const Gan_Image *image,
00082 Gan_ImageChannelType channel,
00083 Gan_EdgeBehaviour eEdgeBehaviour,
00084 Gan_Mask1D *mask, Gan_Image *dest );
00085 Gan_Image *gan_image_convolve1Dy_q ( const Gan_Image *image,
00086 Gan_ImageChannelType channel,
00087 Gan_EdgeBehaviour eEdgeBehaviour,
00088 Gan_Mask1D *mask, Gan_Image *dest );
00089
00107 Gan_Image *gan_image_convolve1Dx_s ( const Gan_Image *image,
00108 Gan_ImageChannelType channel,
00109 Gan_EdgeBehaviour eEdgeBehaviour,
00110 Gan_Mask1D *mask );
00111
00129 Gan_Image *gan_image_convolve1Dy_s ( const Gan_Image *image,
00130 Gan_ImageChannelType channel,
00131 Gan_EdgeBehaviour eEdgeBehaviour,
00132 Gan_Mask1D *mask );
00133
00142 #ifdef __cplusplus
00143 }
00144 #endif
00145
00146 #endif