manpagez: man pages & more
man vips_interpolate_get_method(3)
Home | html | info | man
VIPS_INTERPOLATE(3)                                        VIPS_INTERPOLATE(3)




NAME

       VipsInterpolate,     vips_interpolate,     vips_interpolate_get_method,
       vips_interpolate_get_window_size - base class for VIPS interpolators


SYNOPSIS

       #include <vips/vips.h>

       typedef void (*VipsInterpolateMethod)( VipsInterpolate *,
         PEL *out, REGION *in, double x, double y );

       typedef struct _VipsInterpolateClass {
         VipsObjectClass parent_class;

         VipsInterpolateMethod interpolate;
         int (*get_window_size)( VipsInterpolate * );
         int window_size;
       } VipsInterpolateClass;

       void vips_interpolate( VipsInterpolate *interpolate,
         PEL *out, REGION *in, double x, double y );
       VipsInterpolateMethod vips_interpolate_get_method( VipsInterpolate * );
       int vips_interpolate_get_window_size( VipsInterpolate *interpolate );

       VipsInterpolate *vips_interpolate_nearest_static( void );
       VipsInterpolate *vips_interpolate_bilinear_static( void );
       VipsInterpolate *vips_interpolate_bicubic_static( void );

       VipsInterpolate *vips_interpolate_new( const char *nickname );



DESCRIPTION

       VipsInterpolate is the base class for VIPS interpolators. It provides a
       simple framework that subclasses use to implement the various  interpo-
       lators  that  VIPS  ships  with.  You can add new interpolators by sub-
       classing VipsInterpolated and implementing an interpolate method.   You
       can  use  any interpolator in your code via the methods of VipsInterpo-
       late.

       vips_interpolate(3) looks up the interpolate method for the object  and
       calls it for you.

       vips_interpolate_get_method(3)  just  does  the  lookup  and  returns a
       pointer to the interpolate function. You  can  use  this  to  take  the
       lookup out of an inner loop.

       vips_interpolate_get_window_size(3)  either  calls get_window_size() or
       if it is NULL, returns window_size.

       vips_interpolate_nearest_static(3), vips_interpolate_bilinear_static(3)
       and  vips_interpolate_bicubic_static(3) are convenience functions which
       return a pointer to a static instance of a nearest-neighbour,  bilinear
       and  bicubic  interpolator.  You  can  pass these to any function which
       needs a VipsInterpolator as an argument. No need to free the result.

       vips_interpolate_new(3) is a convenience function which makes an inter-
       polator  from  a  nickname. Free the result with g_object_unref(3) when
       you're done with it.



SUPPORTED INTERPOLATORS

       You can list the supported interpolators with

         $ vips --list classes

       look for subclasses of VipsInterpolate.



RETURN VALUE

       Unless otherwise noted, functions return 0 success and -1 on error.


SEE ALSO

       VipsObject(3), VipsInterpolate(3), vips_type_find(3), vips(1).


AUTHOR

       John Cupitt



                                 28 March 2009             VIPS_INTERPOLATE(3)

vips 7.18.1 - Generated Sat Apr 18 09:49:15 CDT 2009
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.