Main Page | Modules | Class List | File List | Class Members | File Members

image_pyramid.h

Go to the documentation of this file.
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_Bool img_alloc, mask_alloc; 
00056 } Gan_ImagePyramid;
00057 
00061 typedef enum Gan_ImagePyramidAverage
00062 {
00063    GAN_AVERAGE_ALL,    
00064    GAN_AVERAGE_IN_MASK 
00065 } Gan_ImagePyramidAverage;
00066 
00067  Gan_Image *gan_image_halve_size ( Gan_Image *image, Gan_Image *himage);
00068  Gan_Bool gan_image_pyramid_build_preallocated ( Gan_Image *img, Gan_Image *mask,
00069                                                             unsigned no_levels,
00070                                                             Gan_ImagePyramidAverage average_type,
00071                                                             unsigned no_neighbours,
00072                                                             Gan_Image **imgarray,
00073                                                             Gan_Image **maskarray,
00074                                                             Gan_ImagePyramid **pyramid );
00075  void gan_image_pyramid_free ( Gan_ImagePyramid *pyramid, unsigned no_levels,
00076                                           Gan_Bool free_top_level );
00077 
00099  Gan_Bool gan_image_pyramid_build ( Gan_Image *img, Gan_Image *mask,
00100                                                unsigned no_levels,
00101                                                Gan_ImagePyramidAverage average_type,
00102                                                unsigned no_neighbours,
00103                                                Gan_ImagePyramid **pyramid );
00104 
00113 #ifdef __cplusplus
00114 }
00115 #endif
00116 
00117 #endif /* #ifndef _GAN_IMAGE_GL_PYRAMID_H */

Generated on Fri Mar 17 12:44:47 2006 by  doxygen 1.3.9.1