00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _GAN_IMAGE_CHANNEL_H
00030 #define _GAN_IMAGE_CHANNEL_H
00031
00032 #include <gandalf/image/image_defs.h>
00033
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037
00051 typedef enum
00052 {
00054 GAN_INTENSITY_CHANNEL,
00055
00057 GAN_RED_CHANNEL, GAN_GREEN_CHANNEL, GAN_BLUE_CHANNEL,
00058
00060 GAN_ALPHA_CHANNEL,
00061
00063 GAN_X_CHANNEL,
00064
00066 GAN_Y_CHANNEL,
00067
00069 GAN_Z_CHANNEL,
00070
00072 GAN_ALL_COLOUR_CHANNELS,
00073
00075 GAN_ALL_CHANNELS
00076 } Gan_ImageChannelType;
00077
00078 Gan_Image *gan_image_extract_channel_q ( const Gan_Image *source,
00079 Gan_ImageChannelType channel,
00080 unsigned r0, unsigned c0,
00081 unsigned height, unsigned width,
00082 Gan_Image *dest );
00083 Gan_Bool gan_image_insert_channel ( const Gan_Image *source,
00084 Gan_ImageChannelType schannel,
00085 Gan_Image *dest,
00086 Gan_ImageChannelType dchannel );
00087 Gan_Bool gan_image_fill_channel_const ( Gan_Image *image,
00088 Gan_ImageChannelType channel,
00089 Gan_Pixel *pixel );
00090 Gan_Bool gan_image_get_minimum_channel_value ( Gan_Image *image,
00091 Gan_Image *mask,
00092 Gan_ImageChannelType channel,
00093 Gan_Pixel *minval );
00094 Gan_Bool gan_image_get_maximum_channel_value ( Gan_Image *image,
00095 Gan_Image *mask,
00096 Gan_ImageChannelType channel,
00097 Gan_Pixel *maxval );
00098 Gan_Image* gan_image_threshold_channel_q ( const Gan_Image *source,
00099 const Gan_Image *mask,
00100 Gan_ImageChannelType channel,
00101 float threshold,
00102 Gan_Image *dest );
00103
00119 Gan_Image *gan_image_extract_channel_s ( const Gan_Image *source,
00120 Gan_ImageChannelType channel,
00121 unsigned r0, unsigned c0,
00122 unsigned height, unsigned width );
00123
00135 Gan_Image *gan_image_fill_channel_zero ( Gan_Image *image,
00136 Gan_ImageChannelType channel );
00137
00152 Gan_Image* gan_image_threshold_channel_s ( const Gan_Image *source,
00153 const Gan_Image *mask,
00154 Gan_ImageChannelType channel,
00155 float threshold );
00156
00165 #ifdef __cplusplus
00166 }
00167 #endif
00168
00169 #endif