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
00114 Gan_Image *gan_image_extract_channel_s ( const Gan_Image *source,
00115 Gan_ImageChannelType channel,
00116 unsigned r0, unsigned c0,
00117 unsigned height, unsigned width );
00118
00130 Gan_Image *gan_image_fill_channel_zero ( Gan_Image *image,
00131 Gan_ImageChannelType channel );
00132
00141 #ifdef __cplusplus
00142 }
00143 #endif
00144
00145 #endif