make members and getters "const" in cpp api

eg. VImage::width() is now

	int VImage::width() const;

ie. it does not alter the image objects. In factr we can mark almost all
members const.

see https://github.com/jcupitt/libvips/issues/983
This commit is contained in:
John Cupitt 2018-06-11 14:30:17 +01:00
parent 87b3f17846
commit ca6410e1a6
7 changed files with 625 additions and 518 deletions

View File

@ -26,6 +26,7 @@
- fix compile with MSVC 2017 [angelmixu]
- pdfload has a option for background
- vips7 C++ interface defaults off
- make members and getters "const" in cpp API
12/3/18 started 8.6.4
- better fitting of fonts with overhanging edges [Adrià]

View File

@ -613,7 +613,7 @@ VImage::new_matrixv( int width, int height, ... )
}
VImage
VImage::write( VImage out )
VImage::write( VImage out ) const
{
if( vips_image_write( this->get_image(), out.get_image() ) )
throw VError();
@ -622,7 +622,7 @@ VImage::write( VImage out )
}
void
VImage::write_to_file( const char *name, VOption *options )
VImage::write_to_file( const char *name, VOption *options ) const
{
char filename[VIPS_PATH_MAX];
char option_string[VIPS_PATH_MAX];
@ -642,7 +642,7 @@ VImage::write_to_file( const char *name, VOption *options )
void
VImage::write_to_buffer( const char *suffix, void **buf, size_t *size,
VOption *options )
VOption *options ) const
{
char filename[VIPS_PATH_MAX];
char option_string[VIPS_PATH_MAX];
@ -675,7 +675,7 @@ VImage::write_to_buffer( const char *suffix, void **buf, size_t *size,
#include "vips-operators.cpp"
std::vector<VImage>
VImage::bandsplit( VOption *options )
VImage::bandsplit( VOption *options ) const
{
std::vector<VImage> b;
@ -686,7 +686,7 @@ VImage::bandsplit( VOption *options )
}
VImage
VImage::bandjoin( VImage other, VOption *options )
VImage::bandjoin( VImage other, VOption *options ) const
{
VImage v[2] = { *this, other };
std::vector<VImage> vec( v, v + VIPS_NUMBER( v ) );
@ -695,7 +695,7 @@ VImage::bandjoin( VImage other, VOption *options )
}
VImage
VImage::composite( VImage other, VipsBlendMode mode, VOption *options )
VImage::composite( VImage other, VipsBlendMode mode, VOption *options ) const
{
VImage v[2] = { *this, other };
std::vector<VImage> ivec( v, v + VIPS_NUMBER( v ) );
@ -706,7 +706,7 @@ VImage::composite( VImage other, VipsBlendMode mode, VOption *options )
}
std::complex<double>
VImage::minpos( VOption *options )
VImage::minpos( VOption *options ) const
{
double x, y;
@ -719,7 +719,7 @@ VImage::minpos( VOption *options )
}
std::complex<double>
VImage::maxpos( VOption *options )
VImage::maxpos( VOption *options ) const
{
double x, y;

View File

@ -152,7 +152,11 @@ def gen_operation(cls):
gen_arg_list(op, required)
print ')'
print ')',
if this != None:
print 'const',
print
print '{'
if result != None:
print ' %s %s;' % (get_ctype(result), cppize(result.name))

View File

@ -152,7 +152,7 @@ public:
g_object_unref( vobject );
}
VipsObject *get_object()
VipsObject *get_object() const
{
g_assert( !vobject ||
VIPS_IS_OBJECT( vobject ) );
@ -248,86 +248,86 @@ public:
{
}
VipsImage *
get_image()
VipsImage *
get_image() const
{
return( (VipsImage *) VObject::get_object() );
}
int
width()
width() const
{
return( vips_image_get_width( get_image() ) );
}
int
height()
height() const
{
return( vips_image_get_height( get_image() ) );
}
int
bands()
bands() const
{
return( vips_image_get_bands( get_image() ) );
}
VipsBandFormat
format()
format() const
{
return( vips_image_get_format( get_image() ) );
}
VipsCoding
coding()
coding() const
{
return( vips_image_get_coding( get_image() ) );
}
VipsInterpretation
interpretation()
interpretation() const
{
return( vips_image_get_interpretation( get_image() ) );
}
VipsInterpretation
guess_interpretation()
guess_interpretation() const
{
return( vips_image_guess_interpretation( get_image() ) );
}
double
xres()
xres() const
{
return( vips_image_get_xres( get_image() ) );
}
double
yres()
yres() const
{
return( vips_image_get_yres( get_image() ) );
}
int
xoffset()
xoffset() const
{
return( vips_image_get_xoffset( get_image() ) );
}
int
yoffset()
yoffset() const
{
return( vips_image_get_yoffset( get_image() ) );
}
const char *
filename()
filename() const
{
return( vips_image_get_filename( get_image() ) );
}
const void *
data()
data() const
{
return( vips_image_get_data( get_image() ) );
}
@ -359,13 +359,13 @@ public:
}
GType
get_typeof( const char *field )
get_typeof( const char *field ) const
{
return( vips_image_get_typeof( this->get_image(), field ) );
}
int
get_int( const char *field )
get_int( const char *field ) const
{
int value;
@ -376,7 +376,7 @@ public:
}
double
get_double( const char *field )
get_double( const char *field ) const
{
double value;
@ -387,7 +387,7 @@ public:
}
const char *
get_string( const char *field )
get_string( const char *field ) const
{
const char *value;
@ -398,7 +398,7 @@ public:
}
const void *
get_blob( const char *field, size_t *length )
get_blob( const char *field, size_t *length ) const
{
void *value;
@ -438,7 +438,8 @@ public:
static VImage new_from_file( const char *name, VOption *options = 0 );
static VImage new_from_memory( void *data, size_t size,
static VImage
new_from_memory( void *data, size_t size,
int width, int height, int bands, VipsBandFormat format )
{
VipsImage *image;
@ -455,8 +456,8 @@ public:
static VImage new_matrix( int width, int height );
static VImage new_matrix( int width, int height,
double *array, int size )
static VImage
new_matrix( int width, int height, double *array, int size )
{
VipsImage *image;
@ -469,7 +470,8 @@ public:
static VImage new_matrixv( int width, int height, ... );
VImage new_from_image( std::vector<double> pixel )
VImage
new_from_image( std::vector<double> pixel ) const
{
VipsImage *image;
@ -480,19 +482,21 @@ public:
return( VImage( image ) );
}
VImage new_from_image( double pixel )
VImage
new_from_image( double pixel ) const
{
return( new_from_image( to_vectorv( 1, pixel ) ) );
}
VImage write( VImage out );
VImage write( VImage out ) const;
void write_to_file( const char *name, VOption *options = 0 );
void write_to_file( const char *name, VOption *options = 0 ) const;
void write_to_buffer( const char *suffix, void **buf, size_t *size,
VOption *options = 0 );
VOption *options = 0 ) const;
void *write_to_memory( size_t *size )
void *
write_to_memory( size_t *size ) const
{
void *result;
@ -508,279 +512,281 @@ public:
// a few useful things
VImage
linear( double a, double b, VOption *options = 0 )
linear( double a, double b, VOption *options = 0 ) const
{
return( this->linear( to_vector( a ), to_vector( b ),
options ) );
}
VImage
linear( std::vector<double> a, double b, VOption *options = 0 )
linear( std::vector<double> a, double b, VOption *options = 0 ) const
{
return( this->linear( a, to_vector( b ), options ) );
}
VImage
linear( double a, std::vector<double> b, VOption *options = 0 )
linear( double a, std::vector<double> b, VOption *options = 0 ) const
{
return( this->linear( to_vector( a ), b, options ) );
}
std::vector<VImage> bandsplit( VOption *options = 0 );
std::vector<VImage> bandsplit( VOption *options = 0 ) const;
VImage bandjoin( VImage other, VOption *options = 0 );
VImage bandjoin( VImage other, VOption *options = 0 ) const;
VImage
bandjoin( double other, VOption *options = 0 )
bandjoin( double other, VOption *options = 0 ) const
{
return( bandjoin( to_vector( other ), options ) );
}
VImage
bandjoin( std::vector<double> other, VOption *options = 0 )
bandjoin( std::vector<double> other, VOption *options = 0 ) const
{
return( bandjoin_const( other, options ) );
}
VImage composite( VImage other, VipsBlendMode mode,
VOption *options = 0 );
VOption *options = 0 ) const;
std::complex<double> minpos( VOption *options = 0 );
std::complex<double> minpos( VOption *options = 0 ) const;
std::complex<double> maxpos( VOption *options = 0 );
std::complex<double> maxpos( VOption *options = 0 ) const;
VImage
fliphor( VOption *options = 0 )
fliphor( VOption *options = 0 ) const
{
return( flip( VIPS_DIRECTION_HORIZONTAL, options ) );
}
VImage
flipver( VOption *options = 0 )
flipver( VOption *options = 0 ) const
{
return( flip( VIPS_DIRECTION_VERTICAL, options ) );
}
VImage
rot90( VOption *options = 0 )
rot90( VOption *options = 0 ) const
{
return( rot( VIPS_ANGLE_D90, options ) );
}
VImage
rot180( VOption *options = 0 )
rot180( VOption *options = 0 ) const
{
return( rot( VIPS_ANGLE_D180, options ) );
}
VImage
rot270( VOption *options = 0 )
rot270( VOption *options = 0 ) const
{
return( rot( VIPS_ANGLE_D270, options ) );
}
VImage
dilate( VImage mask, VOption *options = 0 )
dilate( VImage mask, VOption *options = 0 ) const
{
return( morph( mask, VIPS_OPERATION_MORPHOLOGY_DILATE,
options ) );
}
VImage
erode( VImage mask, VOption *options = 0 )
erode( VImage mask, VOption *options = 0 ) const
{
return( morph( mask, VIPS_OPERATION_MORPHOLOGY_ERODE,
options ) );
}
VImage
median( int size = 3, VOption *options = 0 )
median( int size = 3, VOption *options = 0 ) const
{
return( rank( size, size, (size * size) / 2, options ) );
}
VImage
floor( VOption *options = 0 )
floor( VOption *options = 0 ) const
{
return( round( VIPS_OPERATION_ROUND_FLOOR, options ) );
}
VImage
ceil( VOption *options = 0 )
ceil( VOption *options = 0 ) const
{
return( round( VIPS_OPERATION_ROUND_CEIL, options ) );
}
VImage
rint( VOption *options = 0 )
rint( VOption *options = 0 ) const
{
return( round( VIPS_OPERATION_ROUND_RINT, options ) );
}
VImage
real( VOption *options = 0 )
real( VOption *options = 0 ) const
{
return( complexget( VIPS_OPERATION_COMPLEXGET_REAL, options ) );
}
VImage
imag( VOption *options = 0 )
imag( VOption *options = 0 ) const
{
return( complexget( VIPS_OPERATION_COMPLEXGET_IMAG, options ) );
}
VImage
polar( VOption *options = 0 )
polar( VOption *options = 0 ) const
{
return( complex( VIPS_OPERATION_COMPLEX_POLAR, options ) );
}
VImage
rect( VOption *options = 0 )
rect( VOption *options = 0 ) const
{
return( complex( VIPS_OPERATION_COMPLEX_RECT, options ) );
}
VImage
conj( VOption *options = 0 )
conj( VOption *options = 0 ) const
{
return( complex( VIPS_OPERATION_COMPLEX_CONJ, options ) );
}
VImage
sin( VOption *options = 0 )
sin( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_SIN, options ) );
}
VImage
cos( VOption *options = 0 )
cos( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_COS, options ) );
}
VImage
tan( VOption *options = 0 )
tan( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_TAN, options ) );
}
VImage
asin( VOption *options = 0 )
asin( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_ASIN, options ) );
}
VImage
acos( VOption *options = 0 )
acos( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_ACOS, options ) );
}
VImage
atan( VOption *options = 0 )
atan( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_ATAN, options ) );
}
VImage
log( VOption *options = 0 )
log( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_LOG, options ) );
}
VImage
log10( VOption *options = 0 )
log10( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_LOG10, options ) );
}
VImage
exp( VOption *options = 0 )
exp( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_EXP, options ) );
}
VImage
exp10( VOption *options = 0 )
exp10( VOption *options = 0 ) const
{
return( math( VIPS_OPERATION_MATH_EXP10, options ) );
}
VImage
pow( VImage other, VOption *options = 0 )
pow( VImage other, VOption *options = 0 ) const
{
return( math2( other, VIPS_OPERATION_MATH2_POW, options ) );
}
VImage
pow( double other, VOption *options = 0 )
pow( double other, VOption *options = 0 ) const
{
return( math2_const( VIPS_OPERATION_MATH2_POW,
to_vector( other ), options ) );
}
VImage
pow( std::vector<double> other, VOption *options = 0 )
pow( std::vector<double> other, VOption *options = 0 ) const
{
return( math2_const( VIPS_OPERATION_MATH2_POW,
other, options ) );
}
VImage
wop( VImage other, VOption *options = 0 )
wop( VImage other, VOption *options = 0 ) const
{
return( math2( other, VIPS_OPERATION_MATH2_WOP, options ) );
}
VImage
wop( double other, VOption *options = 0 )
wop( double other, VOption *options = 0 ) const
{
return( math2_const( VIPS_OPERATION_MATH2_WOP,
to_vector( other ), options ) );
}
VImage
wop( std::vector<double> other, VOption *options = 0 )
wop( std::vector<double> other, VOption *options = 0 ) const
{
return( math2_const( VIPS_OPERATION_MATH2_WOP,
other, options ) );
}
VImage
ifthenelse( std::vector<double> th, VImage el, VOption *options = 0 )
ifthenelse( std::vector<double> th, VImage el,
VOption *options = 0 ) const
{
return( ifthenelse( el.new_from_image( th ), el, options ) );
}
VImage
ifthenelse( VImage th, std::vector<double> el, VOption *options = 0 )
ifthenelse( VImage th, std::vector<double> el,
VOption *options = 0 ) const
{
return( ifthenelse( th, th.new_from_image( el ), options ) );
}
VImage
ifthenelse( std::vector<double> th, std::vector<double> el,
VOption *options = 0 )
VOption *options = 0 ) const
{
return( ifthenelse( new_from_image( th ), new_from_image( el ),
options ) );
}
VImage
ifthenelse( double th, VImage el, VOption *options = 0 )
ifthenelse( double th, VImage el, VOption *options = 0 ) const
{
return( ifthenelse( to_vector( th ), el, options ) );
}
VImage
ifthenelse( VImage th, double el, VOption *options = 0 )
ifthenelse( VImage th, double el, VOption *options = 0 ) const
{
return( ifthenelse( th, to_vector( el ), options ) );
}
VImage
ifthenelse( double th, double el, VOption *options = 0 )
ifthenelse( double th, double el, VOption *options = 0 ) const
{
return( ifthenelse( to_vector( th ), to_vector( el ),
options ) );

View File

@ -146,7 +146,13 @@ def gen_operation(cls):
gen_arg_list(op, required)
print ');'
print ')',
# if no "this" available, it's a class method and they are all const
if this != None:
print ' const',
print ';'
# we have a few synonyms ... don't generate twice
generated = {}

View File

@ -1,248 +1,255 @@
// headers for vips operations
// Sun 26 Nov 17:44:41 GMT 2017
// Mon 11 Jun 14:21:32 BST 2018
// this file is generated automatically, do not edit!
static void system( char * cmd_format , VOption *options = 0 );
VImage add( VImage right , VOption *options = 0 );
VImage subtract( VImage right , VOption *options = 0 );
VImage multiply( VImage right , VOption *options = 0 );
VImage divide( VImage right , VOption *options = 0 );
VImage relational( VImage right , VipsOperationRelational relational , VOption *options = 0 );
VImage remainder( VImage right , VOption *options = 0 );
VImage boolean( VImage right , VipsOperationBoolean boolean , VOption *options = 0 );
VImage math2( VImage right , VipsOperationMath2 math2 , VOption *options = 0 );
VImage complex2( VImage right , VipsOperationComplex2 cmplx , VOption *options = 0 );
VImage complexform( VImage right , VOption *options = 0 );
static VImage sum( std::vector<VImage> in , VOption *options = 0 );
VImage invert( VOption *options = 0 );
VImage linear( std::vector<double> a , std::vector<double> b , VOption *options = 0 );
VImage math( VipsOperationMath math , VOption *options = 0 );
VImage abs( VOption *options = 0 );
VImage sign( VOption *options = 0 );
VImage round( VipsOperationRound round , VOption *options = 0 );
VImage relational_const( VipsOperationRelational relational , std::vector<double> c , VOption *options = 0 );
VImage remainder_const( std::vector<double> c , VOption *options = 0 );
VImage boolean_const( VipsOperationBoolean boolean , std::vector<double> c , VOption *options = 0 );
VImage math2_const( VipsOperationMath2 math2 , std::vector<double> c , VOption *options = 0 );
VImage complex( VipsOperationComplex cmplx , VOption *options = 0 );
VImage complexget( VipsOperationComplexget get , VOption *options = 0 );
double avg( VOption *options = 0 );
double min( VOption *options = 0 );
double max( VOption *options = 0 );
double deviate( VOption *options = 0 );
VImage stats( VOption *options = 0 );
VImage hist_find( VOption *options = 0 );
VImage hist_find_ndim( VOption *options = 0 );
VImage hist_find_indexed( VImage index , VOption *options = 0 );
VImage hough_line( VOption *options = 0 );
VImage hough_circle( VOption *options = 0 );
VImage project( VImage * rows , VOption *options = 0 );
VImage profile( VImage * rows , VOption *options = 0 );
VImage measure( int h , int v , VOption *options = 0 );
std::vector<double> getpoint( int x , int y , VOption *options = 0 );
int find_trim( int * top , int * width , int * height , VOption *options = 0 );
VImage copy( VOption *options = 0 );
VImage tilecache( VOption *options = 0 );
VImage linecache( VOption *options = 0 );
VImage sequential( VOption *options = 0 );
VImage cache( VOption *options = 0 );
VImage embed( int x , int y , int width , int height , VOption *options = 0 );
VImage gravity( VipsCompassDirection direction , int width , int height , VOption *options = 0 );
VImage flip( VipsDirection direction , VOption *options = 0 );
VImage insert( VImage sub , int x , int y , VOption *options = 0 );
VImage join( VImage in2 , VipsDirection direction , VOption *options = 0 );
static VImage arrayjoin( std::vector<VImage> in , VOption *options = 0 );
VImage extract_area( int left , int top , int width , int height , VOption *options = 0 );
VImage smartcrop( int width , int height , VOption *options = 0 );
VImage extract_band( int band , VOption *options = 0 );
static VImage bandjoin( std::vector<VImage> in , VOption *options = 0 );
VImage bandjoin_const( std::vector<double> c , VOption *options = 0 );
static VImage bandrank( std::vector<VImage> in , VOption *options = 0 );
VImage bandmean( VOption *options = 0 );
VImage bandbool( VipsOperationBoolean boolean , VOption *options = 0 );
VImage replicate( int across , int down , VOption *options = 0 );
VImage cast( VipsBandFormat format , VOption *options = 0 );
VImage rot( VipsAngle angle , VOption *options = 0 );
VImage rot45( VOption *options = 0 );
VImage autorot( VOption *options = 0 );
VImage ifthenelse( VImage in1 , VImage in2 , VOption *options = 0 );
VImage recomb( VImage m , VOption *options = 0 );
VImage bandfold( VOption *options = 0 );
VImage bandunfold( VOption *options = 0 );
VImage flatten( VOption *options = 0 );
VImage premultiply( VOption *options = 0 );
VImage unpremultiply( VOption *options = 0 );
VImage grid( int tile_height , int across , int down , VOption *options = 0 );
VImage scale( VOption *options = 0 );
VImage wrap( VOption *options = 0 );
VImage zoom( int xfac , int yfac , VOption *options = 0 );
VImage subsample( int xfac , int yfac , VOption *options = 0 );
VImage msb( VOption *options = 0 );
VImage byteswap( VOption *options = 0 );
VImage falsecolour( VOption *options = 0 );
VImage gamma( VOption *options = 0 );
static VImage composite( std::vector<VImage> in , std::vector<int> mode , VOption *options = 0 );
static VImage black( int width , int height , VOption *options = 0 );
static VImage gaussnoise( int width , int height , VOption *options = 0 );
static VImage text( char * text , VOption *options = 0 );
static VImage xyz( int width , int height , VOption *options = 0 );
static VImage gaussmat( double sigma , double min_ampl , VOption *options = 0 );
static VImage logmat( double sigma , double min_ampl , VOption *options = 0 );
static VImage eye( int width , int height , VOption *options = 0 );
static VImage grey( int width , int height , VOption *options = 0 );
static VImage zone( int width , int height , VOption *options = 0 );
static VImage sines( int width , int height , VOption *options = 0 );
static VImage mask_ideal( int width , int height , double frequency_cutoff , VOption *options = 0 );
static VImage mask_ideal_ring( int width , int height , double frequency_cutoff , double ringwidth , VOption *options = 0 );
static VImage mask_ideal_band( int width , int height , double frequency_cutoff_x , double frequency_cutoff_y , double radius , VOption *options = 0 );
static VImage mask_butterworth( int width , int height , double order , double frequency_cutoff , double amplitude_cutoff , VOption *options = 0 );
static VImage mask_butterworth_ring( int width , int height , double order , double frequency_cutoff , double amplitude_cutoff , double ringwidth , VOption *options = 0 );
static VImage mask_butterworth_band( int width , int height , double order , double frequency_cutoff_x , double frequency_cutoff_y , double radius , double amplitude_cutoff , VOption *options = 0 );
static VImage mask_gaussian( int width , int height , double frequency_cutoff , double amplitude_cutoff , VOption *options = 0 );
static VImage mask_gaussian_ring( int width , int height , double frequency_cutoff , double amplitude_cutoff , double ringwidth , VOption *options = 0 );
static VImage mask_gaussian_band( int width , int height , double frequency_cutoff_x , double frequency_cutoff_y , double radius , double amplitude_cutoff , VOption *options = 0 );
static VImage mask_fractal( int width , int height , double fractal_dimension , VOption *options = 0 );
VImage buildlut( VOption *options = 0 );
VImage invertlut( VOption *options = 0 );
static VImage tonelut( VOption *options = 0 );
static VImage identity( VOption *options = 0 );
static VImage fractsurf( int width , int height , double fractal_dimension , VOption *options = 0 );
static VImage worley( int width , int height , VOption *options = 0 );
static VImage perlin( int width , int height , VOption *options = 0 );
static VImage csvload( char * filename , VOption *options = 0 );
static VImage matrixload( char * filename , VOption *options = 0 );
static VImage rawload( char * filename , int width , int height , int bands , VOption *options = 0 );
static VImage vipsload( char * filename , VOption *options = 0 );
static VImage analyzeload( char * filename , VOption *options = 0 );
static VImage ppmload( char * filename , VOption *options = 0 );
static VImage radload( char * filename , VOption *options = 0 );
static VImage pdfload( char * filename , VOption *options = 0 );
static VImage pdfload_buffer( VipsBlob * buffer , VOption *options = 0 );
static VImage svgload( char * filename , VOption *options = 0 );
static VImage svgload_buffer( VipsBlob * buffer , VOption *options = 0 );
static VImage gifload( char * filename , VOption *options = 0 );
static VImage gifload_buffer( VipsBlob * buffer , VOption *options = 0 );
static VImage pngload( char * filename , VOption *options = 0 );
static VImage pngload_buffer( VipsBlob * buffer , VOption *options = 0 );
static VImage matload( char * filename , VOption *options = 0 );
static VImage jpegload( char * filename , VOption *options = 0 );
static VImage jpegload_buffer( VipsBlob * buffer , VOption *options = 0 );
static VImage webpload( char * filename , VOption *options = 0 );
static VImage webpload_buffer( VipsBlob * buffer , VOption *options = 0 );
static VImage tiffload( char * filename , VOption *options = 0 );
static VImage tiffload_buffer( VipsBlob * buffer , VOption *options = 0 );
static VImage openslideload( char * filename , VOption *options = 0 );
static VImage magickload( char * filename , VOption *options = 0 );
static VImage magickload_buffer( VipsBlob * buffer , VOption *options = 0 );
static VImage fitsload( char * filename , VOption *options = 0 );
static VImage openexrload( char * filename , VOption *options = 0 );
void csvsave( char * filename , VOption *options = 0 );
void matrixsave( char * filename , VOption *options = 0 );
void matrixprint( VOption *options = 0 );
void rawsave( char * filename , VOption *options = 0 );
void rawsave_fd( int fd , VOption *options = 0 );
void vipssave( char * filename , VOption *options = 0 );
void ppmsave( char * filename , VOption *options = 0 );
void radsave( char * filename , VOption *options = 0 );
VipsBlob * radsave_buffer( VOption *options = 0 );
void dzsave( char * filename , VOption *options = 0 );
VipsBlob * dzsave_buffer( VOption *options = 0 );
void pngsave( char * filename , VOption *options = 0 );
VipsBlob * pngsave_buffer( VOption *options = 0 );
void jpegsave( char * filename , VOption *options = 0 );
VipsBlob * jpegsave_buffer( VOption *options = 0 );
void jpegsave_mime( VOption *options = 0 );
void webpsave( char * filename , VOption *options = 0 );
VipsBlob * webpsave_buffer( VOption *options = 0 );
void tiffsave( char * filename , VOption *options = 0 );
VipsBlob * tiffsave_buffer( VOption *options = 0 );
void fitssave( char * filename , VOption *options = 0 );
static VImage thumbnail( char * filename , int width , VOption *options = 0 );
static VImage thumbnail_buffer( VipsBlob * buffer , int width , VOption *options = 0 );
VImage thumbnail_image( int width , VOption *options = 0 );
VImage mapim( VImage index , VOption *options = 0 );
VImage shrink( double hshrink , double vshrink , VOption *options = 0 );
VImage shrinkh( int hshrink , VOption *options = 0 );
VImage shrinkv( int vshrink , VOption *options = 0 );
VImage reduceh( double hshrink , VOption *options = 0 );
VImage reducev( double vshrink , VOption *options = 0 );
VImage reduce( double hshrink , double vshrink , VOption *options = 0 );
VImage quadratic( VImage coeff , VOption *options = 0 );
VImage affine( std::vector<double> matrix , VOption *options = 0 );
VImage similarity( VOption *options = 0 );
VImage resize( double scale , VOption *options = 0 );
VImage colourspace( VipsInterpretation space , VOption *options = 0 );
VImage Lab2XYZ( VOption *options = 0 );
VImage XYZ2Lab( VOption *options = 0 );
VImage Lab2LCh( VOption *options = 0 );
VImage LCh2Lab( VOption *options = 0 );
VImage LCh2CMC( VOption *options = 0 );
VImage CMC2LCh( VOption *options = 0 );
VImage XYZ2Yxy( VOption *options = 0 );
VImage Yxy2XYZ( VOption *options = 0 );
VImage scRGB2XYZ( VOption *options = 0 );
VImage XYZ2scRGB( VOption *options = 0 );
VImage LabQ2Lab( VOption *options = 0 );
VImage Lab2LabQ( VOption *options = 0 );
VImage LabQ2LabS( VOption *options = 0 );
VImage LabS2LabQ( VOption *options = 0 );
VImage LabS2Lab( VOption *options = 0 );
VImage Lab2LabS( VOption *options = 0 );
VImage rad2float( VOption *options = 0 );
VImage float2rad( VOption *options = 0 );
VImage LabQ2sRGB( VOption *options = 0 );
VImage sRGB2HSV( VOption *options = 0 );
VImage HSV2sRGB( VOption *options = 0 );
VImage icc_import( VOption *options = 0 );
VImage icc_export( VOption *options = 0 );
VImage icc_transform( char * output_profile , VOption *options = 0 );
VImage dE76( VImage right , VOption *options = 0 );
VImage dE00( VImage right , VOption *options = 0 );
VImage dECMC( VImage right , VOption *options = 0 );
VImage sRGB2scRGB( VOption *options = 0 );
VImage scRGB2BW( VOption *options = 0 );
VImage scRGB2sRGB( VOption *options = 0 );
VImage maplut( VImage lut , VOption *options = 0 );
int percent( double percent , VOption *options = 0 );
VImage stdif( int width , int height , VOption *options = 0 );
VImage hist_cum( VOption *options = 0 );
VImage hist_match( VImage ref , VOption *options = 0 );
VImage hist_norm( VOption *options = 0 );
VImage hist_equal( VOption *options = 0 );
VImage hist_plot( VOption *options = 0 );
VImage hist_local( int width , int height , VOption *options = 0 );
bool hist_ismonotonic( VOption *options = 0 );
double hist_entropy( VOption *options = 0 );
VImage conv( VImage mask , VOption *options = 0 );
VImage conva( VImage mask , VOption *options = 0 );
VImage convf( VImage mask , VOption *options = 0 );
VImage convi( VImage mask , VOption *options = 0 );
VImage compass( VImage mask , VOption *options = 0 );
VImage convsep( VImage mask , VOption *options = 0 );
VImage convasep( VImage mask , VOption *options = 0 );
VImage fastcor( VImage ref , VOption *options = 0 );
VImage spcor( VImage ref , VOption *options = 0 );
VImage sharpen( VOption *options = 0 );
VImage gaussblur( double sigma , VOption *options = 0 );
VImage fwfft( VOption *options = 0 );
VImage invfft( VOption *options = 0 );
VImage freqmult( VImage mask , VOption *options = 0 );
VImage spectrum( VOption *options = 0 );
VImage phasecor( VImage in2 , VOption *options = 0 );
VImage morph( VImage mask , VipsOperationMorphology morph , VOption *options = 0 );
VImage rank( int width , int height , int index , VOption *options = 0 );
double countlines( VipsDirection direction , VOption *options = 0 );
VImage labelregions( VOption *options = 0 );
VImage fill_nearest( VOption *options = 0 );
void draw_rect( std::vector<double> ink , int left , int top , int width , int height , VOption *options = 0 );
void draw_mask( std::vector<double> ink , VImage mask , int x , int y , VOption *options = 0 );
void draw_line( std::vector<double> ink , int x1 , int y1 , int x2 , int y2 , VOption *options = 0 );
void draw_circle( std::vector<double> ink , int cx , int cy , int radius , VOption *options = 0 );
void draw_flood( std::vector<double> ink , int x , int y , VOption *options = 0 );
void draw_image( VImage sub , int x , int y , VOption *options = 0 );
void draw_smudge( int left , int top , int width , int height , VOption *options = 0 );
VImage merge( VImage sec , VipsDirection direction , int dx , int dy , VOption *options = 0 );
VImage mosaic( VImage sec , VipsDirection direction , int xref , int yref , int xsec , int ysec , VOption *options = 0 );
VImage mosaic1( VImage sec , VipsDirection direction , int xr1 , int yr1 , int xs1 , int ys1 , int xr2 , int yr2 , int xs2 , int ys2 , VOption *options = 0 );
VImage match( VImage sec , int xr1 , int yr1 , int xs1 , int ys1 , int xr2 , int yr2 , int xs2 , int ys2 , VOption *options = 0 );
VImage globalbalance( VOption *options = 0 );
static void system( char * cmd_format , VOption *options = 0 ) ;
VImage add( VImage right , VOption *options = 0 ) const ;
VImage subtract( VImage right , VOption *options = 0 ) const ;
VImage multiply( VImage right , VOption *options = 0 ) const ;
VImage divide( VImage right , VOption *options = 0 ) const ;
VImage relational( VImage right , VipsOperationRelational relational , VOption *options = 0 ) const ;
VImage remainder( VImage right , VOption *options = 0 ) const ;
VImage boolean( VImage right , VipsOperationBoolean boolean , VOption *options = 0 ) const ;
VImage math2( VImage right , VipsOperationMath2 math2 , VOption *options = 0 ) const ;
VImage complex2( VImage right , VipsOperationComplex2 cmplx , VOption *options = 0 ) const ;
VImage complexform( VImage right , VOption *options = 0 ) const ;
static VImage sum( std::vector<VImage> in , VOption *options = 0 ) ;
VImage invert( VOption *options = 0 ) const ;
VImage linear( std::vector<double> a , std::vector<double> b , VOption *options = 0 ) const ;
VImage math( VipsOperationMath math , VOption *options = 0 ) const ;
VImage abs( VOption *options = 0 ) const ;
VImage sign( VOption *options = 0 ) const ;
VImage round( VipsOperationRound round , VOption *options = 0 ) const ;
VImage relational_const( VipsOperationRelational relational , std::vector<double> c , VOption *options = 0 ) const ;
VImage remainder_const( std::vector<double> c , VOption *options = 0 ) const ;
VImage boolean_const( VipsOperationBoolean boolean , std::vector<double> c , VOption *options = 0 ) const ;
VImage math2_const( VipsOperationMath2 math2 , std::vector<double> c , VOption *options = 0 ) const ;
VImage complex( VipsOperationComplex cmplx , VOption *options = 0 ) const ;
VImage complexget( VipsOperationComplexget get , VOption *options = 0 ) const ;
double avg( VOption *options = 0 ) const ;
double min( VOption *options = 0 ) const ;
double max( VOption *options = 0 ) const ;
double deviate( VOption *options = 0 ) const ;
VImage stats( VOption *options = 0 ) const ;
VImage hist_find( VOption *options = 0 ) const ;
VImage hist_find_ndim( VOption *options = 0 ) const ;
VImage hist_find_indexed( VImage index , VOption *options = 0 ) const ;
VImage hough_line( VOption *options = 0 ) const ;
VImage hough_circle( VOption *options = 0 ) const ;
VImage project( VImage * rows , VOption *options = 0 ) const ;
VImage profile( VImage * rows , VOption *options = 0 ) const ;
VImage measure( int h , int v , VOption *options = 0 ) const ;
std::vector<double> getpoint( int x , int y , VOption *options = 0 ) const ;
int find_trim( int * top , int * width , int * height , VOption *options = 0 ) const ;
VImage copy( VOption *options = 0 ) const ;
VImage tilecache( VOption *options = 0 ) const ;
VImage linecache( VOption *options = 0 ) const ;
VImage sequential( VOption *options = 0 ) const ;
VImage cache( VOption *options = 0 ) const ;
VImage embed( int x , int y , int width , int height , VOption *options = 0 ) const ;
VImage gravity( VipsCompassDirection direction , int width , int height , VOption *options = 0 ) const ;
VImage flip( VipsDirection direction , VOption *options = 0 ) const ;
VImage insert( VImage sub , int x , int y , VOption *options = 0 ) const ;
VImage join( VImage in2 , VipsDirection direction , VOption *options = 0 ) const ;
static VImage arrayjoin( std::vector<VImage> in , VOption *options = 0 ) ;
VImage extract_area( int left , int top , int width , int height , VOption *options = 0 ) const ;
VImage smartcrop( int width , int height , VOption *options = 0 ) const ;
VImage extract_band( int band , VOption *options = 0 ) const ;
static VImage bandjoin( std::vector<VImage> in , VOption *options = 0 ) ;
VImage bandjoin_const( std::vector<double> c , VOption *options = 0 ) const ;
static VImage bandrank( std::vector<VImage> in , VOption *options = 0 ) ;
VImage bandmean( VOption *options = 0 ) const ;
VImage bandbool( VipsOperationBoolean boolean , VOption *options = 0 ) const ;
VImage replicate( int across , int down , VOption *options = 0 ) const ;
VImage cast( VipsBandFormat format , VOption *options = 0 ) const ;
VImage rot( VipsAngle angle , VOption *options = 0 ) const ;
VImage rot45( VOption *options = 0 ) const ;
VImage autorot( VOption *options = 0 ) const ;
VImage ifthenelse( VImage in1 , VImage in2 , VOption *options = 0 ) const ;
VImage recomb( VImage m , VOption *options = 0 ) const ;
VImage bandfold( VOption *options = 0 ) const ;
VImage bandunfold( VOption *options = 0 ) const ;
VImage flatten( VOption *options = 0 ) const ;
VImage premultiply( VOption *options = 0 ) const ;
VImage unpremultiply( VOption *options = 0 ) const ;
VImage grid( int tile_height , int across , int down , VOption *options = 0 ) const ;
VImage transpose3d( VOption *options = 0 ) const ;
VImage scale( VOption *options = 0 ) const ;
VImage wrap( VOption *options = 0 ) const ;
VImage zoom( int xfac , int yfac , VOption *options = 0 ) const ;
VImage subsample( int xfac , int yfac , VOption *options = 0 ) const ;
VImage msb( VOption *options = 0 ) const ;
VImage byteswap( VOption *options = 0 ) const ;
VImage falsecolour( VOption *options = 0 ) const ;
VImage gamma( VOption *options = 0 ) const ;
static VImage composite( std::vector<VImage> in , std::vector<int> mode , VOption *options = 0 ) ;
VImage composite2( VImage overlay , VipsBlendMode mode , VOption *options = 0 ) const ;
static VImage black( int width , int height , VOption *options = 0 ) ;
static VImage gaussnoise( int width , int height , VOption *options = 0 ) ;
static VImage text( char * text , VOption *options = 0 ) ;
static VImage xyz( int width , int height , VOption *options = 0 ) ;
static VImage gaussmat( double sigma , double min_ampl , VOption *options = 0 ) ;
static VImage logmat( double sigma , double min_ampl , VOption *options = 0 ) ;
static VImage eye( int width , int height , VOption *options = 0 ) ;
static VImage grey( int width , int height , VOption *options = 0 ) ;
static VImage zone( int width , int height , VOption *options = 0 ) ;
static VImage sines( int width , int height , VOption *options = 0 ) ;
static VImage mask_ideal( int width , int height , double frequency_cutoff , VOption *options = 0 ) ;
static VImage mask_ideal_ring( int width , int height , double frequency_cutoff , double ringwidth , VOption *options = 0 ) ;
static VImage mask_ideal_band( int width , int height , double frequency_cutoff_x , double frequency_cutoff_y , double radius , VOption *options = 0 ) ;
static VImage mask_butterworth( int width , int height , double order , double frequency_cutoff , double amplitude_cutoff , VOption *options = 0 ) ;
static VImage mask_butterworth_ring( int width , int height , double order , double frequency_cutoff , double amplitude_cutoff , double ringwidth , VOption *options = 0 ) ;
static VImage mask_butterworth_band( int width , int height , double order , double frequency_cutoff_x , double frequency_cutoff_y , double radius , double amplitude_cutoff , VOption *options = 0 ) ;
static VImage mask_gaussian( int width , int height , double frequency_cutoff , double amplitude_cutoff , VOption *options = 0 ) ;
static VImage mask_gaussian_ring( int width , int height , double frequency_cutoff , double amplitude_cutoff , double ringwidth , VOption *options = 0 ) ;
static VImage mask_gaussian_band( int width , int height , double frequency_cutoff_x , double frequency_cutoff_y , double radius , double amplitude_cutoff , VOption *options = 0 ) ;
static VImage mask_fractal( int width , int height , double fractal_dimension , VOption *options = 0 ) ;
VImage buildlut( VOption *options = 0 ) const ;
VImage invertlut( VOption *options = 0 ) const ;
static VImage tonelut( VOption *options = 0 ) ;
static VImage identity( VOption *options = 0 ) ;
static VImage fractsurf( int width , int height , double fractal_dimension , VOption *options = 0 ) ;
static VImage worley( int width , int height , VOption *options = 0 ) ;
static VImage perlin( int width , int height , VOption *options = 0 ) ;
static VImage csvload( char * filename , VOption *options = 0 ) ;
static VImage matrixload( char * filename , VOption *options = 0 ) ;
static VImage rawload( char * filename , int width , int height , int bands , VOption *options = 0 ) ;
static VImage vipsload( char * filename , VOption *options = 0 ) ;
static VImage analyzeload( char * filename , VOption *options = 0 ) ;
static VImage ppmload( char * filename , VOption *options = 0 ) ;
static VImage radload( char * filename , VOption *options = 0 ) ;
static VImage pdfload( char * filename , VOption *options = 0 ) ;
static VImage pdfload_buffer( VipsBlob * buffer , VOption *options = 0 ) ;
static VImage svgload( char * filename , VOption *options = 0 ) ;
static VImage svgload_buffer( VipsBlob * buffer , VOption *options = 0 ) ;
static VImage gifload( char * filename , VOption *options = 0 ) ;
static VImage gifload_buffer( VipsBlob * buffer , VOption *options = 0 ) ;
static VImage pngload( char * filename , VOption *options = 0 ) ;
static VImage pngload_buffer( VipsBlob * buffer , VOption *options = 0 ) ;
static VImage matload( char * filename , VOption *options = 0 ) ;
static VImage jpegload( char * filename , VOption *options = 0 ) ;
static VImage jpegload_buffer( VipsBlob * buffer , VOption *options = 0 ) ;
static VImage webpload( char * filename , VOption *options = 0 ) ;
static VImage webpload_buffer( VipsBlob * buffer , VOption *options = 0 ) ;
static VImage tiffload( char * filename , VOption *options = 0 ) ;
static VImage tiffload_buffer( VipsBlob * buffer , VOption *options = 0 ) ;
static VImage openslideload( char * filename , VOption *options = 0 ) ;
static VImage magickload( char * filename , VOption *options = 0 ) ;
static VImage magickload_buffer( VipsBlob * buffer , VOption *options = 0 ) ;
static VImage fitsload( char * filename , VOption *options = 0 ) ;
static VImage openexrload( char * filename , VOption *options = 0 ) ;
void csvsave( char * filename , VOption *options = 0 ) const ;
void matrixsave( char * filename , VOption *options = 0 ) const ;
void matrixprint( VOption *options = 0 ) const ;
void rawsave( char * filename , VOption *options = 0 ) const ;
void rawsave_fd( int fd , VOption *options = 0 ) const ;
void vipssave( char * filename , VOption *options = 0 ) const ;
void ppmsave( char * filename , VOption *options = 0 ) const ;
void radsave( char * filename , VOption *options = 0 ) const ;
VipsBlob * radsave_buffer( VOption *options = 0 ) const ;
void dzsave( char * filename , VOption *options = 0 ) const ;
VipsBlob * dzsave_buffer( VOption *options = 0 ) const ;
void pngsave( char * filename , VOption *options = 0 ) const ;
VipsBlob * pngsave_buffer( VOption *options = 0 ) const ;
void jpegsave( char * filename , VOption *options = 0 ) const ;
VipsBlob * jpegsave_buffer( VOption *options = 0 ) const ;
void jpegsave_mime( VOption *options = 0 ) const ;
void webpsave( char * filename , VOption *options = 0 ) const ;
VipsBlob * webpsave_buffer( VOption *options = 0 ) const ;
void tiffsave( char * filename , VOption *options = 0 ) const ;
VipsBlob * tiffsave_buffer( VOption *options = 0 ) const ;
void magicksave( char * filename , VOption *options = 0 ) const ;
VipsBlob * magicksave_buffer( VOption *options = 0 ) const ;
void fitssave( char * filename , VOption *options = 0 ) const ;
static VImage thumbnail( char * filename , int width , VOption *options = 0 ) ;
static VImage thumbnail_buffer( VipsBlob * buffer , int width , VOption *options = 0 ) ;
VImage thumbnail_image( int width , VOption *options = 0 ) const ;
VImage mapim( VImage index , VOption *options = 0 ) const ;
VImage shrink( double hshrink , double vshrink , VOption *options = 0 ) const ;
VImage shrinkh( int hshrink , VOption *options = 0 ) const ;
VImage shrinkv( int vshrink , VOption *options = 0 ) const ;
VImage reduceh( double hshrink , VOption *options = 0 ) const ;
VImage reducev( double vshrink , VOption *options = 0 ) const ;
VImage reduce( double hshrink , double vshrink , VOption *options = 0 ) const ;
VImage quadratic( VImage coeff , VOption *options = 0 ) const ;
VImage affine( std::vector<double> matrix , VOption *options = 0 ) const ;
VImage similarity( VOption *options = 0 ) const ;
VImage rotate( double angle , VOption *options = 0 ) const ;
VImage resize( double scale , VOption *options = 0 ) const ;
VImage colourspace( VipsInterpretation space , VOption *options = 0 ) const ;
VImage Lab2XYZ( VOption *options = 0 ) const ;
VImage XYZ2Lab( VOption *options = 0 ) const ;
VImage Lab2LCh( VOption *options = 0 ) const ;
VImage LCh2Lab( VOption *options = 0 ) const ;
VImage LCh2CMC( VOption *options = 0 ) const ;
VImage CMC2LCh( VOption *options = 0 ) const ;
VImage XYZ2Yxy( VOption *options = 0 ) const ;
VImage Yxy2XYZ( VOption *options = 0 ) const ;
VImage scRGB2XYZ( VOption *options = 0 ) const ;
VImage XYZ2scRGB( VOption *options = 0 ) const ;
VImage LabQ2Lab( VOption *options = 0 ) const ;
VImage Lab2LabQ( VOption *options = 0 ) const ;
VImage LabQ2LabS( VOption *options = 0 ) const ;
VImage LabS2LabQ( VOption *options = 0 ) const ;
VImage LabS2Lab( VOption *options = 0 ) const ;
VImage Lab2LabS( VOption *options = 0 ) const ;
VImage rad2float( VOption *options = 0 ) const ;
VImage float2rad( VOption *options = 0 ) const ;
VImage LabQ2sRGB( VOption *options = 0 ) const ;
VImage sRGB2HSV( VOption *options = 0 ) const ;
VImage HSV2sRGB( VOption *options = 0 ) const ;
VImage icc_import( VOption *options = 0 ) const ;
VImage icc_export( VOption *options = 0 ) const ;
VImage icc_transform( char * output_profile , VOption *options = 0 ) const ;
VImage dE76( VImage right , VOption *options = 0 ) const ;
VImage dE00( VImage right , VOption *options = 0 ) const ;
VImage dECMC( VImage right , VOption *options = 0 ) const ;
VImage sRGB2scRGB( VOption *options = 0 ) const ;
VImage scRGB2BW( VOption *options = 0 ) const ;
VImage scRGB2sRGB( VOption *options = 0 ) const ;
VImage maplut( VImage lut , VOption *options = 0 ) const ;
int percent( double percent , VOption *options = 0 ) const ;
VImage stdif( int width , int height , VOption *options = 0 ) const ;
VImage hist_cum( VOption *options = 0 ) const ;
VImage hist_match( VImage ref , VOption *options = 0 ) const ;
VImage hist_norm( VOption *options = 0 ) const ;
VImage hist_equal( VOption *options = 0 ) const ;
VImage hist_plot( VOption *options = 0 ) const ;
VImage hist_local( int width , int height , VOption *options = 0 ) const ;
bool hist_ismonotonic( VOption *options = 0 ) const ;
double hist_entropy( VOption *options = 0 ) const ;
VImage conv( VImage mask , VOption *options = 0 ) const ;
VImage conva( VImage mask , VOption *options = 0 ) const ;
VImage convf( VImage mask , VOption *options = 0 ) const ;
VImage convi( VImage mask , VOption *options = 0 ) const ;
VImage compass( VImage mask , VOption *options = 0 ) const ;
VImage convsep( VImage mask , VOption *options = 0 ) const ;
VImage convasep( VImage mask , VOption *options = 0 ) const ;
VImage fastcor( VImage ref , VOption *options = 0 ) const ;
VImage spcor( VImage ref , VOption *options = 0 ) const ;
VImage sharpen( VOption *options = 0 ) const ;
VImage gaussblur( double sigma , VOption *options = 0 ) const ;
VImage canny( VOption *options = 0 ) const ;
VImage sobel( VOption *options = 0 ) const ;
VImage fwfft( VOption *options = 0 ) const ;
VImage invfft( VOption *options = 0 ) const ;
VImage freqmult( VImage mask , VOption *options = 0 ) const ;
VImage spectrum( VOption *options = 0 ) const ;
VImage phasecor( VImage in2 , VOption *options = 0 ) const ;
VImage morph( VImage mask , VipsOperationMorphology morph , VOption *options = 0 ) const ;
VImage rank( int width , int height , int index , VOption *options = 0 ) const ;
double countlines( VipsDirection direction , VOption *options = 0 ) const ;
VImage labelregions( VOption *options = 0 ) const ;
VImage fill_nearest( VOption *options = 0 ) const ;
void draw_rect( std::vector<double> ink , int left , int top , int width , int height , VOption *options = 0 ) const ;
void draw_mask( std::vector<double> ink , VImage mask , int x , int y , VOption *options = 0 ) const ;
void draw_line( std::vector<double> ink , int x1 , int y1 , int x2 , int y2 , VOption *options = 0 ) const ;
void draw_circle( std::vector<double> ink , int cx , int cy , int radius , VOption *options = 0 ) const ;
void draw_flood( std::vector<double> ink , int x , int y , VOption *options = 0 ) const ;
void draw_image( VImage sub , int x , int y , VOption *options = 0 ) const ;
void draw_smudge( int left , int top , int width , int height , VOption *options = 0 ) const ;
VImage merge( VImage sec , VipsDirection direction , int dx , int dy , VOption *options = 0 ) const ;
VImage mosaic( VImage sec , VipsDirection direction , int xref , int yref , int xsec , int ysec , VOption *options = 0 ) const ;
VImage mosaic1( VImage sec , VipsDirection direction , int xr1 , int yr1 , int xs1 , int ys1 , int xr2 , int yr2 , int xs2 , int ys2 , VOption *options = 0 ) const ;
VImage match( VImage sec , int xr1 , int yr1 , int xs1 , int ys1 , int xr2 , int yr2 , int xs2 , int ys2 , VOption *options = 0 ) const ;
VImage globalbalance( VOption *options = 0 ) const ;

File diff suppressed because it is too large Load Diff