remove exception specs from vips8 C++ interface

We had exception specs on the C++ interface, but C++11 does not support
them and some compilers have never honoured them. Remove all specs.
Thanks Lovell.

See https://github.com/jcupitt/libvips/issues/362
This commit is contained in:
John Cupitt 2016-01-09 14:52:05 +00:00
parent 3be5af9779
commit 66373e9b41
10 changed files with 248 additions and 947 deletions

View File

@ -3,6 +3,7 @@
- python bandjoin is now just an instance function
- small doc improvements
- small vips7 C++ improvement
- remove exception specifications from vips8 C++ interface
7/10/15 started 8.2.0
- added im_bufmagick2vips(), a vips7 wrapper for magick load from buffer

View File

@ -452,7 +452,6 @@ VOption::get_operation( VipsOperation *operation )
void
VImage::call_option_string( const char *operation_name,
const char *option_string, VOption *options )
throw( VError )
{
VipsOperation *operation;
@ -506,14 +505,12 @@ VImage::call_option_string( const char *operation_name,
void
VImage::call( const char *operation_name, VOption *options )
throw( VError )
{
call_option_string( operation_name, NULL, options );
}
VImage
VImage::new_from_file( const char *name, VOption *options )
throw( VError )
{
char filename[VIPS_PATH_MAX];
char option_string[VIPS_PATH_MAX];
@ -538,7 +535,6 @@ VImage::new_from_file( const char *name, VOption *options )
VImage
VImage::new_from_buffer( void *buf, size_t len, const char *option_string,
VOption *options )
throw( VError )
{
const char *operation_name;
VipsBlob *blob;
@ -564,7 +560,6 @@ VImage::new_from_buffer( void *buf, size_t len, const char *option_string,
VImage
VImage::new_from_image( std::vector<double> pixel )
throw( VError )
{
VImage onepx = VImage::black( 1, 1,
VImage::option()->set( "bands", bands() ) );
@ -587,7 +582,6 @@ VImage::new_from_image( std::vector<double> pixel )
VImage
VImage::new_from_image( double pixel )
throw( VError )
{
return( new_from_image( to_vectorv( 1, pixel ) ) );
}
@ -618,7 +612,6 @@ VImage::new_matrixv( int width, int height, ... )
void
VImage::write_to_file( const char *name, VOption *options )
throw( VError )
{
char filename[VIPS_PATH_MAX];
char option_string[VIPS_PATH_MAX];
@ -639,7 +632,6 @@ VImage::write_to_file( const char *name, VOption *options )
void
VImage::write_to_buffer( const char *suffix, void **buf, size_t *size,
VOption *options )
throw( VError )
{
char filename[VIPS_PATH_MAX];
char option_string[VIPS_PATH_MAX];
@ -673,7 +665,6 @@ VImage::write_to_buffer( const char *suffix, void **buf, size_t *size,
std::vector<VImage>
VImage::bandsplit( VOption *options )
throw( VError )
{
std::vector<VImage> b;
@ -685,7 +676,6 @@ VImage::bandsplit( VOption *options )
VImage
VImage::bandjoin( VImage other, VOption *options )
throw( VError )
{
VImage v[2] = { *this, other };
std::vector<VImage> vec( v, v + VIPS_NUMBER( v ) );
@ -695,7 +685,6 @@ VImage::bandjoin( VImage other, VOption *options )
std::complex<double>
VImage::minpos( VOption *options )
throw( VError )
{
double x, y;
@ -709,7 +698,6 @@ VImage::minpos( VOption *options )
std::complex<double>
VImage::maxpos( VOption *options )
throw( VError )
{
double x, y;

View File

@ -46,7 +46,6 @@ VIPS_NAMESPACE_START
VInterpolate
VInterpolate::new_from_name( const char *name, VOption *options )
throw( VError )
{
VipsInterpolate *interp;

View File

@ -5,7 +5,6 @@
# sample member definition:
# VImage VImage::invert( VOption *options )
# throw( VError )
# {
# VImage out;
#
@ -151,7 +150,6 @@ def gen_operation(cls):
gen_arg_list(op, required)
print ')'
print ' throw( VError )'
print '{'
if result != None:
print ' %s %s;' % (get_ctype(result), cppize(result.name))

View File

@ -365,7 +365,6 @@ public:
int
get_int( const char *field )
throw( VError )
{
int value;
@ -377,7 +376,6 @@ public:
double
get_double( const char *field )
throw( VError )
{
double value;
@ -389,7 +387,6 @@ public:
const char *
get_string( const char *field )
throw( VError )
{
const char *value;
@ -418,10 +415,8 @@ public:
}
static void call_option_string( const char *operation_name,
const char *option_string, VOption *options = 0 )
throw( VError );
static void call( const char *operation_name, VOption *options = 0 )
throw( VError );
const char *option_string, VOption *options = 0 );
static void call( const char *operation_name, VOption *options = 0 );
static VImage
new_memory()
@ -431,7 +426,6 @@ public:
static VImage
new_temp_file( const char *file_format = ".v" )
throw( VError )
{
VipsImage *image;
@ -441,12 +435,10 @@ public:
return( VImage( image ) );
}
static VImage new_from_file( const char *name, VOption *options = 0 )
throw( VError );
static VImage new_from_file( const char *name, VOption *options = 0 );
static VImage new_from_memory( void *data, size_t size,
int width, int height, int bands, VipsBandFormat format )
throw( VError )
{
VipsImage *image;
@ -458,14 +450,12 @@ public:
}
static VImage new_from_buffer( void *buf, size_t len,
const char *option_string, VOption *options = 0 )
throw( VError );
const char *option_string, VOption *options = 0 );
static VImage new_matrix( int width, int height );
static VImage new_matrix( int width, int height,
double *array, int size )
throw( VError )
{
VipsImage *image;
@ -478,23 +468,17 @@ public:
static VImage new_matrixv( int width, int height, ... );
VImage new_from_image( std::vector<double> pixel )
throw( VError );
VImage new_from_image( double pixel )
throw( VError );
VImage new_from_image( std::vector<double> pixel );
VImage new_from_image( double pixel );
void write( VImage out )
throw( VError );
void write( VImage out );
void write_to_file( const char *name, VOption *options = 0 )
throw( VError );
void write_to_file( const char *name, VOption *options = 0 );
void write_to_buffer( const char *suffix, void **buf, size_t *size,
VOption *options = 0 )
throw( VError );
VOption *options = 0 );
void *write_to_memory( size_t *size )
throw( VError )
{
void *result;
@ -511,7 +495,6 @@ public:
VImage
linear( double a, double b, VOption *options = 0 )
throw( VError )
{
return( this->linear( to_vector( a ), to_vector( b ),
options ) );
@ -519,82 +502,68 @@ public:
VImage
linear( std::vector<double> a, double b, VOption *options = 0 )
throw( VError )
{
return( this->linear( a, to_vector( b ), options ) );
}
VImage
linear( double a, std::vector<double> b, VOption *options = 0 )
throw( VError )
{
return( this->linear( to_vector( a ), b, options ) );
}
std::vector<VImage> bandsplit( VOption *options = 0 )
throw( VError );
std::vector<VImage> bandsplit( VOption *options = 0 );
VImage bandjoin( VImage other, VOption *options = 0 )
throw( VError );
VImage bandjoin( VImage other, VOption *options = 0 );
VImage
bandjoin( double other, VOption *options = 0 )
throw( VError )
{
return( bandjoin( this->new_from_image( other ), options ) );
}
VImage
bandjoin( std::vector<double> other, VOption *options = 0 )
throw( VError )
{
return( bandjoin( this->new_from_image( other ), options ) );
}
std::complex<double> minpos( VOption *options = 0 )
throw( VError );
std::complex<double> minpos( VOption *options = 0 );
std::complex<double> maxpos( VOption *options = 0 )
throw( VError );
std::complex<double> maxpos( VOption *options = 0 );
VImage
fliphor( VOption *options = 0 )
throw( VError )
{
return( flip( VIPS_DIRECTION_HORIZONTAL, options ) );
}
VImage
flipver( VOption *options = 0 )
throw( VError )
{
return( flip( VIPS_DIRECTION_VERTICAL, options ) );
}
VImage
rot90( VOption *options = 0 )
throw( VError )
{
return( rot( VIPS_ANGLE_D90, options ) );
}
VImage
rot180( VOption *options = 0 )
throw( VError )
{
return( rot( VIPS_ANGLE_D180, options ) );
}
VImage
rot270( VOption *options = 0 )
throw( VError )
{
return( rot( VIPS_ANGLE_D270, options ) );
}
VImage
dilate( VImage mask, VOption *options = 0 )
throw( VError )
{
return( morph( mask, VIPS_OPERATION_MORPHOLOGY_DILATE,
options ) );
@ -602,7 +571,6 @@ public:
VImage
erode( VImage mask, VOption *options = 0 )
throw( VError )
{
return( morph( mask, VIPS_OPERATION_MORPHOLOGY_ERODE,
options ) );
@ -610,147 +578,126 @@ public:
VImage
median( int size = 3, VOption *options = 0 )
throw( VError )
{
return( rank( size, size, (size * size) / 2, options ) );
}
VImage
floor( VOption *options = 0 )
throw( VError )
{
return( round( VIPS_OPERATION_ROUND_FLOOR, options ) );
}
VImage
ceil( VOption *options = 0 )
throw( VError )
{
return( round( VIPS_OPERATION_ROUND_CEIL, options ) );
}
VImage
rint( VOption *options = 0 )
throw( VError )
{
return( round( VIPS_OPERATION_ROUND_RINT, options ) );
}
VImage
real( VOption *options = 0 )
throw( VError )
{
return( complexget( VIPS_OPERATION_COMPLEXGET_REAL, options ) );
}
VImage
imag( VOption *options = 0 )
throw( VError )
{
return( complexget( VIPS_OPERATION_COMPLEXGET_IMAG, options ) );
}
VImage
polar( VOption *options = 0 )
throw( VError )
{
return( complex( VIPS_OPERATION_COMPLEX_POLAR, options ) );
}
VImage
rect( VOption *options = 0 )
throw( VError )
{
return( complex( VIPS_OPERATION_COMPLEX_RECT, options ) );
}
VImage
conj( VOption *options = 0 )
throw( VError )
{
return( complex( VIPS_OPERATION_COMPLEX_CONJ, options ) );
}
VImage
sin( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_SIN, options ) );
}
VImage
cos( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_COS, options ) );
}
VImage
tan( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_TAN, options ) );
}
VImage
asin( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_ASIN, options ) );
}
VImage
acos( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_ACOS, options ) );
}
VImage
atan( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_ATAN, options ) );
}
VImage
log( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_LOG, options ) );
}
VImage
log10( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_LOG10, options ) );
}
VImage
exp( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_EXP, options ) );
}
VImage
exp10( VOption *options = 0 )
throw( VError )
{
return( math( VIPS_OPERATION_MATH_EXP10, options ) );
}
VImage
pow( VImage other, VOption *options = 0 )
throw( VError )
{
return( math2( other, VIPS_OPERATION_MATH2_POW, options ) );
}
VImage
pow( double other, VOption *options = 0 )
throw( VError )
{
return( math2_const( to_vector( other ),
VIPS_OPERATION_MATH2_POW, options ) );
@ -758,7 +705,6 @@ public:
VImage
pow( std::vector<double> other, VOption *options = 0 )
throw( VError )
{
return( math2_const( other,
VIPS_OPERATION_MATH2_POW, options ) );
@ -766,14 +712,12 @@ public:
VImage
wop( VImage other, VOption *options = 0 )
throw( VError )
{
return( math2( other, VIPS_OPERATION_MATH2_WOP, options ) );
}
VImage
wop( double other, VOption *options = 0 )
throw( VError )
{
return( math2_const( to_vector( other ),
VIPS_OPERATION_MATH2_WOP, options ) );
@ -781,7 +725,6 @@ public:
VImage
wop( std::vector<double> other, VOption *options = 0 )
throw( VError )
{
return( math2_const( other,
VIPS_OPERATION_MATH2_WOP, options ) );
@ -789,14 +732,12 @@ public:
VImage
ifthenelse( std::vector<double> th, VImage el, VOption *options = 0 )
throw( VError )
{
return( ifthenelse( el.new_from_image( th ), el, options ) );
}
VImage
ifthenelse( VImage th, std::vector<double> el, VOption *options = 0 )
throw( VError )
{
return( ifthenelse( th, th.new_from_image( el ), options ) );
}
@ -804,7 +745,6 @@ public:
VImage
ifthenelse( std::vector<double> th, std::vector<double> el,
VOption *options = 0 )
throw( VError )
{
return( ifthenelse( new_from_image( th ), new_from_image( el ),
options ) );
@ -812,21 +752,18 @@ public:
VImage
ifthenelse( double th, VImage el, VOption *options )
throw( VError )
{
return( ifthenelse( to_vector( th ), el, options ) );
}
VImage
ifthenelse( VImage th, double el, VOption *options )
throw( VError )
{
return( ifthenelse( th, to_vector( el ), options ) );
}
VImage
ifthenelse( double th, double el, VOption *options )
throw( VError )
{
return( ifthenelse( to_vector( th ), to_vector( el ),
options ) );
@ -835,7 +772,6 @@ public:
// Operator overloads
VImage operator[]( int index )
throw( VError )
{
return( this->extract_band( index ) );
}
@ -846,483 +782,408 @@ public:
}
friend VImage operator+( VImage a, VImage b )
throw( VError )
{
return( a.add( b ) );
}
friend VImage operator+( double a, VImage b )
throw( VError )
{
return( b.linear( 1.0, a ) );
}
friend VImage operator+( VImage a, double b )
throw( VError )
{
return( a.linear( 1.0, b ) );
}
friend VImage operator+( std::vector<double> a, VImage b )
throw( VError )
{
return( b.linear( 1.0, a ) );
}
friend VImage operator+( VImage a, std::vector<double> b )
throw( VError )
{
return( a.linear( 1.0, b ) );
}
friend VImage operator-( VImage a, VImage b )
throw( VError )
{
return( a.subtract( b ) );
}
friend VImage operator-( double a, VImage b )
throw( VError )
{
return( b.linear( -1.0, a ) );
}
friend VImage operator-( VImage a, double b )
throw( VError )
{
return( a.linear( 1.0, -b ) );
}
friend VImage operator-( std::vector<double> a, VImage b )
throw( VError )
{
return( b.linear( -1.0, a ) );
}
friend VImage operator-( VImage a, std::vector<double> b )
throw( VError )
{
return( a.linear( 1.0, vips::negate( b ) ) );
}
friend VImage operator*( VImage a, VImage b )
throw( VError )
{
return( a.multiply( b ) );
}
friend VImage operator*( double a, VImage b )
throw( VError )
{
return( b.linear( a, 0.0 ) );
}
friend VImage operator*( VImage a, double b )
throw( VError )
{
return( a.linear( b, 0.0 ) );
}
friend VImage operator*( std::vector<double> a, VImage b )
throw( VError )
{
return( b.linear( a, 0.0 ) );
}
friend VImage operator*( VImage a, std::vector<double> b )
throw( VError )
{
return( a.linear( b, 0.0 ) );
}
friend VImage operator/( VImage a, VImage b )
throw( VError )
{
return( a.divide( b ) );
}
friend VImage operator/( double a, VImage b )
throw( VError )
{
return( b.pow( -1.0 ).linear( a, 0.0 ) );
}
friend VImage operator/( VImage a, double b )
throw( VError )
{
return( a.linear( 1.0 / b, 0.0 ) );
}
friend VImage operator/( std::vector<double> a, VImage b )
throw( VError )
{
return( b.pow( -1.0 ).linear( a, 0.0 ) );
}
friend VImage operator/( VImage a, std::vector<double> b )
throw( VError )
{
return( a.linear( vips::invert( b ), 0.0 ) );
}
friend VImage operator%( VImage a, VImage b )
throw( VError )
{
return( a.remainder( b ) );
}
friend VImage operator%( VImage a, double b )
throw( VError )
{
return( a.remainder_const( to_vector( b ) ) );
}
friend VImage operator%( VImage a, std::vector<double> b )
throw( VError )
{
return( a.remainder_const( b ) );
}
friend VImage operator<( VImage a, VImage b )
throw( VError )
{
return( a.relational( b, VIPS_OPERATION_RELATIONAL_LESS ) );
}
friend VImage operator<( double a, VImage b )
throw( VError )
{
return( b.relational_const( to_vector( a ),
VIPS_OPERATION_RELATIONAL_MORE ) );
}
friend VImage operator<( VImage a, double b )
throw( VError )
{
return( a.relational_const( to_vector( b ),
VIPS_OPERATION_RELATIONAL_LESS ) );
}
friend VImage operator<( std::vector<double> a, VImage b )
throw( VError )
{
return( b.relational_const( a,
VIPS_OPERATION_RELATIONAL_MORE ) );
}
friend VImage operator<( VImage a, std::vector<double> b )
throw( VError )
{
return( a.relational_const( b,
VIPS_OPERATION_RELATIONAL_LESS ) );
}
friend VImage operator<=( VImage a, VImage b )
throw( VError )
{
return( a.relational( b, VIPS_OPERATION_RELATIONAL_LESSEQ ) );
}
friend VImage operator<=( double a, VImage b )
throw( VError )
{
return( b.relational_const( to_vector( a ),
VIPS_OPERATION_RELATIONAL_MOREEQ ) );
}
friend VImage operator<=( VImage a, double b )
throw( VError )
{
return( a.relational_const( to_vector( b ),
VIPS_OPERATION_RELATIONAL_LESSEQ ) );
}
friend VImage operator<=( std::vector<double> a, VImage b )
throw( VError )
{
return( b.relational_const( a,
VIPS_OPERATION_RELATIONAL_MOREEQ ) );
}
friend VImage operator<=( VImage a, std::vector<double> b )
throw( VError )
{
return( a.relational_const( b,
VIPS_OPERATION_RELATIONAL_LESSEQ ) );
}
friend VImage operator>( VImage a, VImage b )
throw( VError )
{
return( a.relational( b, VIPS_OPERATION_RELATIONAL_MORE ) );
}
friend VImage operator>( double a, VImage b )
throw( VError )
{
return( b.relational_const( to_vector( a ),
VIPS_OPERATION_RELATIONAL_LESS ) );
}
friend VImage operator>( VImage a, double b )
throw( VError )
{
return( a.relational_const( to_vector( b ),
VIPS_OPERATION_RELATIONAL_MORE ) );
}
friend VImage operator>( std::vector<double> a, VImage b )
throw( VError )
{
return( b.relational_const( a,
VIPS_OPERATION_RELATIONAL_LESS ) );
}
friend VImage operator>( VImage a, std::vector<double> b )
throw( VError )
{
return( a.relational_const( b,
VIPS_OPERATION_RELATIONAL_MORE ) );
}
friend VImage operator>=( VImage a, VImage b )
throw( VError )
{
return( a.relational( b, VIPS_OPERATION_RELATIONAL_MOREEQ ) );
}
friend VImage operator>=( double a, VImage b )
throw( VError )
{
return( b.relational_const( to_vector( a ),
VIPS_OPERATION_RELATIONAL_LESSEQ ) );
}
friend VImage operator>=( VImage a, double b )
throw( VError )
{
return( a.relational_const( to_vector( b ),
VIPS_OPERATION_RELATIONAL_MOREEQ ) );
}
friend VImage operator>=( std::vector<double> a, VImage b )
throw( VError )
{
return( b.relational_const( a,
VIPS_OPERATION_RELATIONAL_LESSEQ ) );
}
friend VImage operator>=( VImage a, std::vector<double> b )
throw( VError )
{
return( a.relational_const( b,
VIPS_OPERATION_RELATIONAL_MOREEQ ) );
}
friend VImage operator==( VImage a, VImage b )
throw( VError )
{
return( a.relational( b, VIPS_OPERATION_RELATIONAL_EQUAL ) );
}
friend VImage operator==( double a, VImage b )
throw( VError )
{
return( b.relational_const( to_vector( a ),
VIPS_OPERATION_RELATIONAL_EQUAL ) );
}
friend VImage operator==( VImage a, double b )
throw( VError )
{
return( a.relational_const( to_vector( b ),
VIPS_OPERATION_RELATIONAL_EQUAL ) );
}
friend VImage operator==( std::vector<double> a, VImage b )
throw( VError )
{
return( b.relational_const( a,
VIPS_OPERATION_RELATIONAL_EQUAL ) );
}
friend VImage operator==( VImage a, std::vector<double> b )
throw( VError )
{
return( a.relational_const( b,
VIPS_OPERATION_RELATIONAL_EQUAL ) );
}
friend VImage operator!=( VImage a, VImage b )
throw( VError )
{
return( a.relational( b, VIPS_OPERATION_RELATIONAL_NOTEQ ) );
}
friend VImage operator!=( double a, VImage b )
throw( VError )
{
return( b.relational_const( to_vector( a ),
VIPS_OPERATION_RELATIONAL_NOTEQ ) );
}
friend VImage operator!=( VImage a, double b )
throw( VError )
{
return( a.relational_const( to_vector( b ),
VIPS_OPERATION_RELATIONAL_NOTEQ ) );
}
friend VImage operator!=( std::vector<double> a, VImage b )
throw( VError )
{
return( b.relational_const( a,
VIPS_OPERATION_RELATIONAL_NOTEQ ) );
}
friend VImage operator!=( VImage a, std::vector<double> b )
throw( VError )
{
return( a.relational_const( b,
VIPS_OPERATION_RELATIONAL_NOTEQ ) );
}
friend VImage operator&( VImage a, VImage b )
throw( VError )
{
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_AND ) );
}
friend VImage operator&( double a, VImage b )
throw( VError )
{
return( b.boolean_const( to_vector( a ),
VIPS_OPERATION_BOOLEAN_AND ) );
}
friend VImage operator&( VImage a, double b )
throw( VError )
{
return( a.boolean_const( to_vector( b ),
VIPS_OPERATION_BOOLEAN_AND ) );
}
friend VImage operator&( std::vector<double> a, VImage b )
throw( VError )
{
return( b.boolean_const( a, VIPS_OPERATION_BOOLEAN_AND ) );
}
friend VImage operator&( VImage a, std::vector<double> b )
throw( VError )
{
return( a.boolean_const( b, VIPS_OPERATION_BOOLEAN_AND ) );
}
friend VImage operator|( VImage a, VImage b )
throw( VError )
{
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_OR ) );
}
friend VImage operator|( double a, VImage b )
throw( VError )
{
return( b.boolean_const( to_vector( a ),
VIPS_OPERATION_BOOLEAN_OR ) );
}
friend VImage operator|( VImage a, double b )
throw( VError )
{
return( a.boolean_const( to_vector( b ),
VIPS_OPERATION_BOOLEAN_OR ) );
}
friend VImage operator|( std::vector<double> a, VImage b )
throw( VError )
{
return( b.boolean_const( a, VIPS_OPERATION_BOOLEAN_OR ) );
}
friend VImage operator|( VImage a, std::vector<double> b )
throw( VError )
{
return( a.boolean_const( b, VIPS_OPERATION_BOOLEAN_OR ) );
}
friend VImage operator^( VImage a, VImage b )
throw( VError )
{
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_EOR ) );
}
friend VImage operator^( double a, VImage b )
throw( VError )
{
return( b.boolean_const( to_vector( a ),
VIPS_OPERATION_BOOLEAN_EOR ) );
}
friend VImage operator^( VImage a, double b )
throw( VError )
{
return( a.boolean_const( to_vector( b ),
VIPS_OPERATION_BOOLEAN_EOR ) );
}
friend VImage operator^( std::vector<double> a, VImage b )
throw( VError )
{
return( b.boolean_const( a, VIPS_OPERATION_BOOLEAN_EOR ) );
}
friend VImage operator^( VImage a, std::vector<double> b )
throw( VError )
{
return( a.boolean_const( b, VIPS_OPERATION_BOOLEAN_EOR ) );
}
friend VImage operator<<( VImage a, VImage b )
throw( VError )
{
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_LSHIFT ) );
}
friend VImage operator<<( VImage a, double b )
throw( VError )
{
return( a.boolean_const( to_vector( b ),
VIPS_OPERATION_BOOLEAN_LSHIFT ) );
}
friend VImage operator<<( VImage a, std::vector<double> b )
throw( VError )
{
return( a.boolean_const( b, VIPS_OPERATION_BOOLEAN_LSHIFT ) );
}
friend VImage operator>>( VImage a, VImage b )
throw( VError )
{
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_RSHIFT ) );
}
friend VImage operator>>( VImage a, double b )
throw( VError )
{
return( a.boolean_const( to_vector( b ),
VIPS_OPERATION_BOOLEAN_RSHIFT ) );
}
friend VImage operator>>( VImage a, std::vector<double> b )
throw( VError )
{
return( a.boolean_const( b, VIPS_OPERATION_BOOLEAN_RSHIFT ) );
}
friend VImage operator-( VImage a )
throw( VError )
{
return( a * -1 );
}

View File

@ -49,8 +49,7 @@ public:
}
static
VInterpolate new_from_name( const char *name, VOption *options = 0 )
throw( VError );
VInterpolate new_from_name( const char *name, VOption *options = 0 );
VipsInterpolate *
get_interpolate()

View File

@ -5,7 +5,6 @@
# sample member declaration :
# VImage invert( VOption *options = 0 )
# throw( VError );
import sys
import re
@ -144,8 +143,7 @@ def gen_operation(cls):
gen_arg_list(op, required)
print ')'
print ' throw( VError );'
print ');'
# we have a few synonyms ... don't generate twice
generated = {}

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -377,7 +377,6 @@ im.write_to_file( "y.jpg" );
<programlisting language="cpp">
VImage VImage::add(VImage right, VOption *options)
throw VError
{
VImage out;