00001 00014 /* This library is free software; you can redistribute it and/or 00015 modify it under the terms of the GNU Lesser General Public 00016 License as published by the Free Software Foundation; either 00017 version 2.1 of the License, or (at your option) any later version. 00018 00019 This library is distributed in the hope that it will be useful, 00020 but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 Lesser General Public License for more details. 00023 00024 You should have received a copy of the GNU Lesser General Public 00025 License along with this library; if not, write to the Free Software 00026 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00027 */ 00028 00029 #ifndef _GAN_IMAGE_GL_PYRAMID_H 00030 #define _GAN_IMAGE_GL_PYRAMID_H 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00036 #include <gandalf/image/image_defs.h> 00037 00051 typedef struct Gan_ImagePyramid 00052 { 00053 Gan_Image *img; 00054 Gan_Image *mask; 00055 } Gan_ImagePyramid; 00056 00060 typedef enum Gan_ImagePyramidAverage 00061 { 00062 GAN_AVERAGE_ALL, 00063 GAN_AVERAGE_IN_MASK 00064 } Gan_ImagePyramidAverage; 00065 00066 Gan_Bool gan_image_pyramid_build ( Gan_Image *img, Gan_Image *mask, 00067 unsigned no_levels, 00068 Gan_ImagePyramidAverage average_type, 00069 unsigned no_neighbours, 00070 Gan_ImagePyramid **pyramid ); 00071 void gan_image_pyramid_free ( Gan_ImagePyramid *pyramid, unsigned no_levels, 00072 Gan_Bool free_top_level ); 00073 00082 #ifdef __cplusplus 00083 } 00084 #endif 00085 00086 #endif /* #ifndef _GAN_IMAGE_GL_PYRAMID_H */