fix gcc7 build

removed exception specs from deprecated C++ binding
This commit is contained in:
John Cupitt 2017-10-24 09:31:23 +01:00
parent 5ec1d5b72f
commit 3b75b1e2ac
12 changed files with 896 additions and 928 deletions

View File

@ -31,6 +31,7 @@
- linear and cubic kernels for reduce are higer quality
- added vips_value_set_blob_free()
- "--size Nx" to vipsthumbnail was broken, thanks jrochkind
- fix build with gcc 7
29/8/17 started 8.5.9
- make --fail stop jpeg read on any libjpeg warning, thanks @mceachen

2
TODO
View File

@ -3,8 +3,6 @@
perhaps reorder should use upstream/downstream, then it will be broken anyway
- remove execption specs from libvipsCC, gcc 7.1 will complain about them
- not sure about utf8 error messages on win
- strange:

View File

@ -57,7 +57,7 @@ free_display( im_col_display *d )
// Dupe an im_col_display
static im_col_display *
dup_display( im_col_display *in ) throw( VError )
dup_display( im_col_display *in )
{
return( in );
}
@ -83,7 +83,7 @@ void VDisplay::refblock::cleanref()
}
// Get ready to write to disp
void VDisplay::refblock::wready() throw( VError )
void VDisplay::refblock::wready()
{
cleanlut();
if( !priv ) {
@ -93,7 +93,7 @@ void VDisplay::refblock::wready() throw( VError )
}
// Check that luts are up-to-date
void VDisplay::refblock::cluts() throw( VError )
void VDisplay::refblock::cluts()
{
}
@ -121,7 +121,7 @@ VDisplay &VDisplay::operator=( const VDisplay &a )
return( *this );
}
VDisplay::VDisplay( const char *name ) throw( VError )
VDisplay::VDisplay( const char *name )
{
// Install display
ref = new refblock;

View File

@ -82,7 +82,7 @@ void VError::ostream_print( std::ostream &file ) const
file << _what;
}
void verror( std::string str ) throw( VError )
void verror( std::string str )
{
VError err;

View File

@ -118,7 +118,7 @@ VImage::refblock::refblock()
}
// Add a ref - this (output image) depends upon VipsImage in
void VImage::refblock::addref( refblock *in ) throw( VError )
void VImage::refblock::addref( refblock *in )
{
if( this == in )
verror( "sanity failure" );
@ -127,7 +127,7 @@ void VImage::refblock::addref( refblock *in ) throw( VError )
orefs.push_front( in );
}
VImage::refblock::~refblock() throw( VError )
VImage::refblock::~refblock()
{
#ifdef DEBUG
printf( "VImage::refblock::removeref(): death!\n" );
@ -152,7 +152,7 @@ VImage::refblock::~refblock() throw( VError )
}
// Remove a ref
void VImage::refblock::removeref() throw( VError )
void VImage::refblock::removeref()
{
nrefs--;
if( nrefs < 0 )
@ -162,7 +162,7 @@ void VImage::refblock::removeref() throw( VError )
}
// Init with name ... mode defaults to "rd"
VImage::VImage( const char *name, const char *mode ) throw( VError )
VImage::VImage( const char *name, const char *mode )
{
_ref = new refblock;
@ -191,8 +191,7 @@ VImage::VImage( _VipsImage *in )
}
// Build from memory buffer
VImage::VImage( void *buffer, int width, int height,
int bands, TBandFmt format ) throw( VError )
VImage::VImage( void *buffer, int width, int height, int bands, TBandFmt format )
{
_ref = new refblock;
@ -209,7 +208,7 @@ VImage::VImage( void *buffer, int width, int height,
}
// Empty init ... means open intermediate
VImage::VImage() throw( VError )
VImage::VImage()
{
static int id = 0;
char filename[256];
@ -238,7 +237,7 @@ VImage::VImage( const VImage &a )
}
// Assignment
VImage &VImage::operator=( const VImage &a ) throw( VError )
VImage &VImage::operator=( const VImage &a )
{
_ref->removeref();
_ref = a._ref;
@ -248,7 +247,7 @@ VImage &VImage::operator=( const VImage &a ) throw( VError )
}
// Extract underlying data pointer
void *VImage::data() const throw( VError )
void *VImage::data() const
{
if( im_incheck( _ref->im ) )
verror();
@ -264,7 +263,7 @@ void VImage::debug_print()
// Like jpeg2vips, but convert to a disc file rather than to memory
// We can handle huge files without running out of RAM
VImage VImage::convert2disc( const char* convert,
const char* in, const char* disc ) throw( VError )
const char* in, const char* disc )
{
VImage out( disc, "w" );
@ -278,7 +277,7 @@ VImage VImage::convert2disc( const char* convert,
}
// Write this to a VImage
VImage VImage::write( VImage out ) throw( VError )
VImage VImage::write( VImage out )
{
if( im_copy( _ref->im, out._ref->im ) )
verror();
@ -287,7 +286,7 @@ VImage VImage::write( VImage out ) throw( VError )
return( out );
}
VImage VImage::write( const char *name ) throw( VError )
VImage VImage::write( const char *name )
{
VImage out( name, "w" );
@ -298,7 +297,7 @@ VImage VImage::write( const char *name ) throw( VError )
return( out );
}
VImage VImage::write() throw( VError )
VImage VImage::write()
{
VImage out( "VImage:w1", "t" );
@ -332,7 +331,6 @@ const char *VImage::filename() { return( _ref->im->filename ); }
const char *VImage::Hist() { return( im_history_get( _ref->im ) ); }
VImage VImage::hough_circle( int scale, int min_radius, int max_radius )
throw( VError )
{
VImage in = *this;
VipsImage *x;
@ -357,7 +355,7 @@ VImage VImage::hough_circle( int scale, int min_radius, int max_radius )
// metadata
// base functionality
void VImage::meta_set( const char *field, GValue *value ) throw( VError )
void VImage::meta_set( const char *field, GValue *value )
{
if( im_meta_set( _ref->im, field, value ) )
verror();
@ -368,7 +366,7 @@ gboolean VImage::meta_remove( const char *field )
return( im_meta_remove( _ref->im, field ) );
}
void VImage::meta_get( const char *field, GValue *value_copy ) throw( VError )
void VImage::meta_get( const char *field, GValue *value_copy )
{
if( im_meta_get( _ref->im, field, value_copy ) )
verror();
@ -381,7 +379,6 @@ GType VImage::meta_get_typeof( const char *field )
// convenience functions
int VImage::meta_get_int( const char *field )
throw( VError )
{
int result;
@ -392,7 +389,6 @@ int VImage::meta_get_int( const char *field )
}
double VImage::meta_get_double( const char *field )
throw( VError )
{
double result;
@ -403,7 +399,6 @@ double VImage::meta_get_double( const char *field )
}
const char *VImage::meta_get_string( const char *field )
throw( VError )
{
const char *result;
@ -413,7 +408,7 @@ const char *VImage::meta_get_string( const char *field )
return( result );
}
void *VImage::meta_get_area( const char *field ) throw( VError )
void *VImage::meta_get_area( const char *field )
{
void *result;
@ -423,7 +418,7 @@ void *VImage::meta_get_area( const char *field ) throw( VError )
return( result );
}
void *VImage::meta_get_blob( const char *field, size_t *length ) throw( VError )
void *VImage::meta_get_blob( const char *field, size_t *length )
{
void *result;
@ -434,29 +429,24 @@ void *VImage::meta_get_blob( const char *field, size_t *length ) throw( VError )
}
void VImage::meta_set( const char *field, int value )
throw( VError )
{
if( im_meta_set_int( _ref->im, field, value ) )
verror();
}
void VImage::meta_set( const char *field, double value )
throw( VError )
{
if( im_meta_set_double( _ref->im, field, value ) )
verror();
}
void VImage::meta_set( const char *field, const char *value )
throw( VError )
{
if( im_meta_set_string( _ref->im, field, value ) )
verror();
}
void VImage::meta_set( const char *field,
VCallback free_fn, void *value )
throw( VError )
void VImage::meta_set( const char *field, VCallback free_fn, void *value )
{
if( im_meta_set_area( _ref->im, field, free_fn, value ) )
verror();
@ -464,7 +454,6 @@ void VImage::meta_set( const char *field,
void VImage::meta_set( const char *field,
VCallback free_fn, void *value, size_t length )
throw( VError )
{
if( im_meta_set_blob( _ref->im, field, free_fn, value, length ) )
verror();
@ -473,7 +462,6 @@ void VImage::meta_set( const char *field,
// Set header fields and setbuf() in one go.
void VImage::initdesc( int x, int y, int b,
TBandFmt f, TCoding c, TType t, float xr, float yr, int xo, int yo )
throw( VError )
{
im_initdesc( _ref->im, x, y, b, 0,
VipsBandFmt( f ), VipsCoding( c ), VipsType( t ),

View File

@ -94,7 +94,7 @@ void VMask::ostream_print( std::ostream &file ) const
}
// Embed INTMASK in VIMask
void VIMask::embed( INTMASK *i ) throw( VError )
void VIMask::embed( INTMASK *i )
{
if( ref->pmask )
verror( "embed: VIMask not empty" );
@ -134,7 +134,7 @@ VDMask::operator VIMask()
}
// Type conversions: implicit DOUBLEMASK to VImage
VDMask::operator VImage() throw( VError )
VDMask::operator VImage()
{
VImage out;
@ -148,7 +148,7 @@ VDMask::operator VImage() throw( VError )
VIMask::operator VImage() { return( VImage( VDMask( *this ) ) ); }
// Embed DOUBLEMASK in VDMask
void VDMask::embed( DOUBLEMASK *i ) throw( VError )
void VDMask::embed( DOUBLEMASK *i )
{
if( ref->pmask )
verror( "embed: VDMask not empty" );
@ -159,7 +159,7 @@ void VDMask::embed( DOUBLEMASK *i ) throw( VError )
*/
// Create empty imask
_private_detail::VPIMask::VPIMask( int xsize, int ysize ) throw( VError )
_private_detail::VPIMask::VPIMask( int xsize, int ysize )
{
if( !(data.iptr = im_create_imask( "VPIMask::VPIMask", xsize, ysize )) )
verror();
@ -169,7 +169,6 @@ _private_detail::VPIMask::VPIMask( int xsize, int ysize ) throw( VError )
// Init from vector
_private_detail::VPIMask::VPIMask( int xsize, int ysize,
int scale, int offset, std::vector<int> coeff )
throw( VError )
{
int i;
@ -184,7 +183,7 @@ _private_detail::VPIMask::VPIMask( int xsize, int ysize,
}
// Create from filename
_private_detail::VPIMask::VPIMask( const char *name ) throw( VError )
_private_detail::VPIMask::VPIMask( const char *name )
{
if( !(data.iptr = im_read_imask( (char *) name )) )
verror();
@ -216,7 +215,7 @@ _private_detail::VPIMask::~VPIMask()
// Duplicate -- we are a VPIMask, return a new VPIMask which is a copy of us.
// Return as a VPMask tho'.
_private_detail::VPMask *_private_detail::VPIMask::dup() const throw( VError )
_private_detail::VPMask *_private_detail::VPIMask::dup() const
{
_private_detail::VPIMask *out = new _private_detail::VPIMask();
@ -231,7 +230,7 @@ _private_detail::VPMask *_private_detail::VPIMask::dup() const throw( VError )
}
// Insert INTMASK pointer
void _private_detail::VPIMask::embed( INTMASK *msk ) throw( VError )
void _private_detail::VPIMask::embed( INTMASK *msk )
{
if( type != _private_detail::VPMask::UNASSIGNED )
verror( "VPIMask::embed: VPIMask not empty" );
@ -240,7 +239,7 @@ void _private_detail::VPIMask::embed( INTMASK *msk ) throw( VError )
type = _private_detail::VPMask::INT;
}
int _private_detail::VPIMask::xsize() const throw( VError )
int _private_detail::VPIMask::xsize() const
{
if( !data.iptr )
verror( "xsize: mask not set" );
@ -248,7 +247,7 @@ int _private_detail::VPIMask::xsize() const throw( VError )
return( data.iptr->xsize );
}
int _private_detail::VPIMask::ysize() const throw( VError )
int _private_detail::VPIMask::ysize() const
{
if( !data.iptr )
verror( "ysize: mask not set" );
@ -256,7 +255,7 @@ int _private_detail::VPIMask::ysize() const throw( VError )
return( data.iptr->ysize );
}
int _private_detail::VPIMask::scale() const throw( VError )
int _private_detail::VPIMask::scale() const
{
if( !data.iptr )
verror( "scale: mask not set" );
@ -264,7 +263,7 @@ int _private_detail::VPIMask::scale() const throw( VError )
return( data.iptr->scale );
}
int _private_detail::VPIMask::offset() const throw( VError )
int _private_detail::VPIMask::offset() const
{
if( !data.iptr )
verror( "offset: mask not set" );
@ -272,7 +271,7 @@ int _private_detail::VPIMask::offset() const throw( VError )
return( data.iptr->offset );
}
const char *_private_detail::VPIMask::filename() const throw( VError )
const char *_private_detail::VPIMask::filename() const
{
if( !data.iptr )
verror( "filename: mask not set" );
@ -281,7 +280,6 @@ const char *_private_detail::VPIMask::filename() const throw( VError )
}
void _private_detail::VPIMask::ostream_print( std::ostream &file ) const
throw( VError )
{
if( !data.iptr )
verror( "internal error #7447234" );
@ -307,7 +305,7 @@ int *_private_detail::VPIMask::array() const
}
// Create empty dmask
_private_detail::VPDMask::VPDMask( int xsize, int ysize ) throw( VError )
_private_detail::VPDMask::VPDMask( int xsize, int ysize )
{
if( !(data.dptr = im_create_dmask( "VPDMask::VPDMask", xsize, ysize )) )
verror();
@ -316,7 +314,7 @@ _private_detail::VPDMask::VPDMask( int xsize, int ysize ) throw( VError )
// Create from vector
_private_detail::VPDMask::VPDMask( int xsize, int ysize,
double scale, double offset, std::vector<double> coeff ) throw( VError )
double scale, double offset, std::vector<double> coeff )
{
int i;
@ -331,7 +329,7 @@ _private_detail::VPDMask::VPDMask( int xsize, int ysize,
}
// Create from filename
_private_detail::VPDMask::VPDMask( const char *name ) throw( VError )
_private_detail::VPDMask::VPDMask( const char *name )
{
if( !(data.dptr = im_read_dmask( (char *) name )) )
verror();
@ -363,7 +361,7 @@ _private_detail::VPDMask::~VPDMask()
// Duplicate -- we are a VPIMask, return a new VPIMask which is a copy of us.
// Return as a VPMask tho'.
_private_detail::VPMask *_private_detail::VPDMask::dup() const throw( VError )
_private_detail::VPMask *_private_detail::VPDMask::dup() const
{
_private_detail::VPDMask *out = new _private_detail::VPDMask();
@ -378,7 +376,7 @@ _private_detail::VPMask *_private_detail::VPDMask::dup() const throw( VError )
}
// Insert DOUBLEMASK pointer
void _private_detail::VPDMask::embed( DOUBLEMASK *msk ) throw( VError )
void _private_detail::VPDMask::embed( DOUBLEMASK *msk )
{
if( type != _private_detail::VPMask::UNASSIGNED )
verror( "VPDMask::embed: VPDMask not empty" );
@ -387,7 +385,7 @@ void _private_detail::VPDMask::embed( DOUBLEMASK *msk ) throw( VError )
type = _private_detail::VPMask::DOUBLE;
}
int _private_detail::VPDMask::xsize() const throw( VError )
int _private_detail::VPDMask::xsize() const
{
if( !data.dptr )
verror( "xsize: mask not set" );
@ -395,7 +393,7 @@ int _private_detail::VPDMask::xsize() const throw( VError )
return( data.dptr->xsize );
}
int _private_detail::VPDMask::ysize() const throw( VError )
int _private_detail::VPDMask::ysize() const
{
if( !data.dptr )
verror( "ysize: mask not set" );
@ -403,7 +401,7 @@ int _private_detail::VPDMask::ysize() const throw( VError )
return( data.dptr->ysize );
}
double _private_detail::VPDMask::scale() const throw( VError )
double _private_detail::VPDMask::scale() const
{
if( !data.dptr )
verror( "scale: mask not set" );
@ -411,7 +409,7 @@ double _private_detail::VPDMask::scale() const throw( VError )
return( data.dptr->scale );
}
double _private_detail::VPDMask::offset() const throw( VError )
double _private_detail::VPDMask::offset() const
{
if( !data.dptr )
verror( "offset: mask not set" );
@ -419,7 +417,7 @@ double _private_detail::VPDMask::offset() const throw( VError )
return( data.dptr->offset );
}
const char *_private_detail::VPDMask::filename() const throw( VError )
const char *_private_detail::VPDMask::filename() const
{
if( !data.dptr )
verror( "filename: mask not set" );
@ -428,7 +426,6 @@ const char *_private_detail::VPDMask::filename() const throw( VError )
}
void _private_detail::VPDMask::ostream_print( std::ostream &file ) const
throw( VError )
{
if( !data.dptr )
verror( "internal error #7447234" );
@ -454,7 +451,7 @@ double *_private_detail::VPDMask::array() const
}
// Build functions
VIMask VIMask::gauss( double sig, double minamp ) throw( VError )
VIMask VIMask::gauss( double sig, double minamp )
{
VIMask out;
INTMASK *msk;
@ -466,7 +463,7 @@ VIMask VIMask::gauss( double sig, double minamp ) throw( VError )
return( out );
}
VIMask VIMask::gauss_sep( double sig, double minamp ) throw( VError )
VIMask VIMask::gauss_sep( double sig, double minamp )
{
VIMask out;
INTMASK *msk;
@ -478,7 +475,7 @@ VIMask VIMask::gauss_sep( double sig, double minamp ) throw( VError )
return( out );
}
VDMask VDMask::gauss( double sig, double minamp ) throw( VError )
VDMask VDMask::gauss( double sig, double minamp )
{
VDMask out;
DOUBLEMASK *msk;
@ -490,7 +487,7 @@ VDMask VDMask::gauss( double sig, double minamp ) throw( VError )
return( out );
}
VIMask VIMask::log( double sig, double minamp ) throw( VError )
VIMask VIMask::log( double sig, double minamp )
{
VIMask out;
INTMASK *msk;
@ -502,7 +499,7 @@ VIMask VIMask::log( double sig, double minamp ) throw( VError )
return( out );
}
VDMask VDMask::log( double sig, double minamp ) throw( VError )
VDMask VDMask::log( double sig, double minamp )
{
VDMask out;
DOUBLEMASK *msk;
@ -515,7 +512,7 @@ VDMask VDMask::log( double sig, double minamp ) throw( VError )
}
// Manipulation functions
VIMask VIMask::rotate45() throw( VError )
VIMask VIMask::rotate45()
{
VIMask out;
INTMASK *msk;
@ -527,7 +524,7 @@ VIMask VIMask::rotate45() throw( VError )
return( out );
}
VIMask VIMask::rotate90() throw( VError )
VIMask VIMask::rotate90()
{
VIMask out;
INTMASK *msk;
@ -539,7 +536,7 @@ VIMask VIMask::rotate90() throw( VError )
return( out );
}
VDMask VDMask::rotate45() throw( VError )
VDMask VDMask::rotate45()
{
VDMask out;
DOUBLEMASK *msk;
@ -551,7 +548,7 @@ VDMask VDMask::rotate45() throw( VError )
return( out );
}
VDMask VDMask::rotate90() throw( VError )
VDMask VDMask::rotate90()
{
VDMask out;
DOUBLEMASK *msk;
@ -563,7 +560,7 @@ VDMask VDMask::rotate90() throw( VError )
return( out );
}
VDMask VDMask::trn() throw( VError )
VDMask VDMask::trn()
{
VDMask out;
DOUBLEMASK *msk;
@ -575,7 +572,7 @@ VDMask VDMask::trn() throw( VError )
return( out );
}
VDMask VDMask::inv() throw( VError )
VDMask VDMask::inv()
{
VDMask out;
DOUBLEMASK *msk;
@ -587,7 +584,7 @@ VDMask VDMask::inv() throw( VError )
return( out );
}
VDMask VDMask::mul( VDMask m ) throw( VError )
VDMask VDMask::mul( VDMask m )
{
VDMask out;
DOUBLEMASK *msk;
@ -599,7 +596,7 @@ VDMask VDMask::mul( VDMask m ) throw( VError )
return( out );
}
VDMask VDMask::cat( VDMask m ) throw( VError )
VDMask VDMask::cat( VDMask m )
{
VDMask out;
DOUBLEMASK *msk;
@ -611,7 +608,7 @@ VDMask VDMask::cat( VDMask m ) throw( VError )
return( out );
}
VIMask VDMask::scalei() throw( VError )
VIMask VDMask::scalei()
{
VIMask out;
INTMASK *msk;
@ -624,20 +621,16 @@ VIMask VDMask::scalei() throw( VError )
}
// Arithmetic on a VIMask ... just cast and use VDMask
VDMask VIMask::trn() throw( VError )
{ return( ((VDMask)*this).trn() ); }
VDMask VIMask::inv() throw( VError )
{ return( ((VDMask)*this).inv() ); }
VDMask VIMask::cat( VDMask a ) throw( VError )
{ return( ((VDMask)*this).cat( a ) ); }
VDMask VIMask::mul( VDMask a ) throw( VError )
{ return( ((VDMask)*this).mul( a ) ); }
VDMask VIMask::trn() { return( ((VDMask)*this).trn() ); }
VDMask VIMask::inv() { return( ((VDMask)*this).inv() ); }
VDMask VIMask::cat( VDMask a ) { return( ((VDMask)*this).cat( a ) ); }
VDMask VIMask::mul( VDMask a ) { return( ((VDMask)*this).mul( a ) ); }
// Overload [] to get linear array subscript.
// Our caller may write to the result, so make sure we have a private
// copy.
// Involves function call, slow anyway, so do range checking
int &VIMask::operator[]( int x ) throw( VError )
int &VIMask::operator[]( int x )
{
if( ref->nrefs != 1 )
make_private();
@ -648,7 +641,7 @@ int &VIMask::operator[]( int x ) throw( VError )
return( ((_private_detail::VPIMask *)ref->pmask)->array()[x] );
}
double &VDMask::operator[]( int x ) throw( VError )
double &VDMask::operator[]( int x )
{
if( ref->nrefs != 1 )
make_private();

View File

@ -66,10 +66,10 @@ class VDisplay {
void cleanref();
// Get ready to write
void wready() throw( VError );
void wready();
// Check that luts are up-to-date
void cluts() throw( VError );
void cluts();
refblock() : disp(0), luts(0), priv(0), nrefs(1) {}
~refblock() { cleanref(); }
@ -84,7 +84,7 @@ public:
};
// Get named display
VDisplay( const char *name ) throw( VError );
VDisplay( const char *name );
// Get default display
VDisplay();
@ -105,8 +105,7 @@ public:
void *disp() const { return( ref->disp ); }
// Extract luts pointer, rebuilding luts if necessary
im_col_tab_disp *luts() const throw( VError )
{ ref->cluts(); return( ref->luts ); }
im_col_tab_disp *luts() const { ref->cluts(); return( ref->luts ); }
};
VIPS_NAMESPACE_END

View File

@ -76,7 +76,7 @@ inline std::ostream &operator<<( std::ostream &file, const VError &err )
return( file );
}
void verror( std::string str = "" ) throw( VError );
void verror( std::string str = "" );
VIPS_NAMESPACE_END

View File

@ -97,13 +97,13 @@ public:
// Construct/destruct
refblock();
virtual ~refblock() throw( VError );
virtual ~refblock();
// Add a ref - this (output image) depends upon IMAGE in
void addref( refblock *in ) throw( VError );
void addref( refblock *in );
// Remove a ref
void removeref() throw( VError );
void removeref();
// Debugging
void debug_print();
@ -198,11 +198,10 @@ public:
*/
// Plain constructors
VImage( const char *name, const char *mode = "rd" ) throw( VError );
VImage( void *data, int width, int height,
int bands, TBandFmt format ) throw( VError );
VImage( const char *name, const char *mode = "rd" );
VImage( void *data, int width, int height, int bands, TBandFmt format );
VImage( _VipsImage *image );
VImage() throw( VError );
VImage();
// Convert to a disc file, eg:
// VImage fred = VImage::convert2disc( "im_jpeg2vips",
@ -213,27 +212,27 @@ public:
// C++
// Also replaced by the new default "rd" mode
static VImage convert2disc( const char* convert,
const char* in, const char* disc ) throw( VError );
const char* in, const char* disc );
// Copy constructor
VImage( const VImage &a );
// Assignment - delete old ref
VImage &operator=( const VImage &a ) throw( VError );
VImage &operator=( const VImage &a );
// Destructor
virtual ~VImage() throw( VError ) { _ref->removeref(); }
virtual ~VImage() { _ref->removeref(); }
// Extract underlying IMAGE* pointer
_VipsImage *image() const { return( _ref->im ); }
// Extract underlying data pointer
void *data() const throw( VError );
void *data() const;
// Write this to another VImage, to a file, or to a mem buffer
VImage write( VImage out ) throw( VError );
VImage write( const char *name ) throw( VError );
VImage write() throw( VError );
VImage write( VImage out );
VImage write( const char *name );
VImage write();
// Debugging ... print header fields
void debug_print();
@ -258,14 +257,14 @@ public:
const char *Hist();
// need the hough circle stuff for the rode python GUI
VImage hough_circle( int scale, int min_radius, int max_radius ) throw( VError );
VImage hough_circle( int scale, int min_radius, int max_radius );
// metadata
#ifndef SWIG
// base functionality
// we don't wrap GValue, so we can't wrap these for now
void meta_set( const char *field, GValue *value ) throw( VError );
void meta_get( const char *field, GValue *value_copy ) throw( VError );
void meta_set( const char *field, GValue *value );
void meta_get( const char *field, GValue *value_copy );
#endif /*SWIG*/
// We can wrap these, fwiw
@ -273,30 +272,26 @@ public:
GType meta_get_typeof( const char *field );
// convenience functions
int meta_get_int( const char *field ) throw( VError );
double meta_get_double( const char *field ) throw( VError );
const char *meta_get_string( const char *field ) throw( VError );
void *meta_get_area( const char *field ) throw( VError );
void *meta_get_blob( const char *field, size_t *length )
throw( VError );
int meta_get_int( const char *field );
double meta_get_double( const char *field );
const char *meta_get_string( const char *field );
void *meta_get_area( const char *field );
void *meta_get_blob( const char *field, size_t *length );
void meta_set( const char *field, int value ) throw( VError );
void meta_set( const char *field, double value ) throw( VError );
void meta_set( const char *field, const char *value ) throw( VError );
void meta_set( const char *field, int value );
void meta_set( const char *field, double value );
void meta_set( const char *field, const char *value );
#ifndef SWIG
// we don't wrap callbacks yet, so we can't wrap these for now
void meta_set( const char *field, VCallback free_fn, void *value );
void meta_set( const char *field,
VCallback free_fn, void *value )
throw( VError );
void meta_set( const char *field,
VCallback free_fn, void *value, size_t length )
throw( VError );
VCallback free_fn, void *value, size_t length );
#endif /*SWIG*/
// Set header fields
void initdesc( int, int, int, TBandFmt, TCoding, TType,
float = 1.0, float = 1.0, int = 0, int = 0 ) throw( VError );
float = 1.0, float = 1.0, int = 0, int = 0 );
/* Insert automatically generated headers.
*/
@ -307,115 +302,113 @@ public:
*/
#ifndef SWIG
// And some in-line operator equivalences done by hand
friend VImage operator+( VImage a, VImage b ) throw( VError )
friend VImage operator+( VImage a, VImage b )
{ return( a.add( b ) ); }
friend VImage operator+( double a, VImage b ) throw( VError )
friend VImage operator+( double a, VImage b )
{ return( b.lin( 1.0, a ) ); }
friend VImage operator+( VImage a, double b ) throw( VError )
friend VImage operator+( VImage a, double b )
{ return( a.lin( 1.0, b ) ); }
friend VImage operator-( VImage a, VImage b ) throw( VError )
friend VImage operator-( VImage a, VImage b )
{ return( a.subtract( b ) ); }
friend VImage operator-( double a, VImage b ) throw( VError )
friend VImage operator-( double a, VImage b )
{ return( b.lin( -1.0, a ) ); }
friend VImage operator-( VImage a, double b ) throw( VError )
friend VImage operator-( VImage a, double b )
{ return( a.lin( 1.0, -b ) ); }
friend VImage operator*( VImage a, VImage b ) throw( VError )
friend VImage operator*( VImage a, VImage b )
{ return( a.multiply( b ) ); }
friend VImage operator*( double a, VImage b ) throw( VError )
friend VImage operator*( double a, VImage b )
{ return( b.lin( a, 0.0 ) ); }
friend VImage operator*( VImage a, double b ) throw( VError )
friend VImage operator*( VImage a, double b )
{ return( a.lin( b, 0.0 ) ); }
friend VImage operator/( VImage a, VImage b ) throw( VError )
friend VImage operator/( VImage a, VImage b )
{ return( a.divide( b ) ); }
friend VImage operator/( double a, VImage b ) throw( VError )
friend VImage operator/( double a, VImage b )
{ return( b.pow( -1.0 ).lin( a, 0.0 ) ); }
friend VImage operator/( VImage a, double b ) throw( VError )
friend VImage operator/( VImage a, double b )
{ return( a.lin( 1.0/b, 0.0 ) ); }
friend VImage operator%( VImage a, VImage b ) throw( VError )
friend VImage operator%( VImage a, VImage b )
{ return( a.remainder( b ) ); }
friend VImage operator%( VImage a, double b ) throw( VError )
friend VImage operator%( VImage a, double b )
{ return( a.remainder( b ) ); }
friend VImage operator<( VImage a, VImage b ) throw( VError )
friend VImage operator<( VImage a, VImage b )
{ return( a.less( b ) ); }
friend VImage operator<( double a, VImage b ) throw( VError )
friend VImage operator<( double a, VImage b )
{ return( b.more( a ) ); }
friend VImage operator<( VImage a, double b ) throw( VError )
friend VImage operator<( VImage a, double b )
{ return( a.less( b ) ); }
friend VImage operator<=( VImage a, VImage b ) throw( VError )
friend VImage operator<=( VImage a, VImage b )
{ return( a.lesseq( b ) ); }
friend VImage operator<=( double a, VImage b ) throw( VError )
friend VImage operator<=( double a, VImage b )
{ return( b.moreeq( a ) ); }
friend VImage operator<=( VImage a, double b ) throw( VError )
friend VImage operator<=( VImage a, double b )
{ return( a.lesseq( b ) ); }
friend VImage operator>( VImage a, VImage b ) throw( VError )
friend VImage operator>( VImage a, VImage b )
{ return( a.more( b ) ); }
friend VImage operator>( double a, VImage b ) throw( VError )
friend VImage operator>( double a, VImage b )
{ return( b.less( a ) ); }
friend VImage operator>( VImage a, double b ) throw( VError )
friend VImage operator>( VImage a, double b )
{ return( a.more( b ) ); }
friend VImage operator>=( VImage a, VImage b ) throw( VError )
friend VImage operator>=( VImage a, VImage b )
{ return( a.moreeq( b ) ); }
friend VImage operator>=( double a, VImage b ) throw( VError )
friend VImage operator>=( double a, VImage b )
{ return( b.lesseq( a ) ); }
friend VImage operator>=( VImage a, double b ) throw( VError )
friend VImage operator>=( VImage a, double b )
{ return( a.moreeq( b ) ); }
friend VImage operator==( VImage a, VImage b ) throw( VError )
friend VImage operator==( VImage a, VImage b )
{ return( a.equal( b ) ); }
friend VImage operator==( double a, VImage b ) throw( VError )
friend VImage operator==( double a, VImage b )
{ return( b.equal( a ) ); }
friend VImage operator==( VImage a, double b ) throw( VError )
friend VImage operator==( VImage a, double b )
{ return( a.equal( b ) ); }
friend VImage operator!=( VImage a, VImage b ) throw( VError )
friend VImage operator!=( VImage a, VImage b )
{ return( a.notequal( b ) ); }
friend VImage operator!=( double a, VImage b ) throw( VError )
friend VImage operator!=( double a, VImage b )
{ return( b.notequal( a ) ); }
friend VImage operator!=( VImage a, double b ) throw( VError )
friend VImage operator!=( VImage a, double b )
{ return( a.notequal( b ) ); }
friend VImage operator&( VImage a, VImage b ) throw( VError )
friend VImage operator&( VImage a, VImage b )
{ return( a.andimage( b ) ); }
friend VImage operator&( int a, VImage b ) throw( VError )
friend VImage operator&( int a, VImage b )
{ return( b.andimage( a ) ); }
friend VImage operator&( VImage a, int b ) throw( VError )
friend VImage operator&( VImage a, int b )
{ return( a.andimage( b ) ); }
friend VImage operator|( VImage a, VImage b ) throw( VError )
friend VImage operator|( VImage a, VImage b )
{ return( a.orimage( b ) ); }
friend VImage operator|( int a, VImage b ) throw( VError )
friend VImage operator|( int a, VImage b )
{ return( b.orimage( a ) ); }
friend VImage operator|( VImage a, int b ) throw( VError )
friend VImage operator|( VImage a, int b )
{ return( a.orimage( b ) ); }
friend VImage operator^( VImage a, VImage b ) throw( VError )
friend VImage operator^( VImage a, VImage b )
{ return( a.eorimage( b ) ); }
friend VImage operator^( int a, VImage b ) throw( VError )
friend VImage operator^( int a, VImage b )
{ return( b.eorimage( a ) ); }
friend VImage operator^( VImage a, int b ) throw( VError )
friend VImage operator^( VImage a, int b )
{ return( a.eorimage( b ) ); }
friend VImage operator<<( VImage a, int b ) throw( VError )
friend VImage operator<<( VImage a, int b )
{ return( a.shiftleft( b ) ); }
friend VImage operator>>( VImage a, int b ) throw( VError )
friend VImage operator>>( VImage a, int b )
{ return( a.shiftright( b ) ); }
friend VImage operator-( VImage a ) throw( VError )
friend VImage operator-( VImage a )
{ return( a * -1 ); }
// Type conversion: VImage to VDMask and VIMask
operator VDMask() throw( VError )
{ return( this->vips2mask() ); }
operator VIMask() throw( VError )
{ return( VIMask( VDMask( *this ) ) ); }
operator VDMask() { return( this->vips2mask() ); }
operator VIMask() { return( VIMask( VDMask( *this ) ) ); }
#endif /*!SWIG*/
};

View File

@ -104,26 +104,25 @@ public:
// Specialise for INTMASK
class VPIMask : public VPMask {
public:
VPIMask( int xsize, int ysize ) throw( VError );
VPIMask( int xsize, int ysize );
VPIMask( int xsize, int ysize, int scale, int offset,
std::vector<int> coeff ) throw( VError );
VPIMask( const char * )
throw( VError );
std::vector<int> coeff );
VPIMask( const char * );
VPIMask( im__INTMASK * );
VPIMask();
virtual ~VPIMask();
VPMask *dup() const throw( VError );
void embed( im__INTMASK * ) throw( VError );
VPMask *dup() const;
void embed( im__INTMASK * );
int xsize() const throw( VError );
int ysize() const throw( VError );
int scale() const throw( VError );
int offset() const throw( VError );
const char *filename() const throw( VError );
int xsize() const;
int ysize() const;
int scale() const;
int offset() const;
const char *filename() const;
// Output
virtual void ostream_print( std::ostream & ) const throw( VError );
virtual void ostream_print( std::ostream & ) const;
// Extract start of array of ints
int *array() const;
@ -132,26 +131,25 @@ public:
// Specialise for DOUBLEMASK
class VPDMask : public VPMask {
public:
VPDMask( int xsize, int ysize ) throw( VError );
VPDMask( int xsize, int ysize );
VPDMask( int xsize, int ysize,
double scale, double offset, std::vector<double> coeff )
throw( VError );
VPDMask( const char * ) throw( VError );
double scale, double offset, std::vector<double> coeff );
VPDMask( const char * );
VPDMask( im__DOUBLEMASK * );
VPDMask();
virtual ~VPDMask();
VPMask *dup() const throw( VError );
void embed( im__DOUBLEMASK * ) throw( VError );
VPMask *dup() const;
void embed( im__DOUBLEMASK * );
int xsize() const throw( VError );
int ysize() const throw( VError );
double scale() const throw( VError );
double offset() const throw( VError );
const char *filename() const throw( VError );
int xsize() const;
int ysize() const;
double scale() const;
double offset() const;
const char *filename() const;
// Output
virtual void ostream_print( std::ostream & ) const throw( VError );
virtual void ostream_print( std::ostream & ) const;
// Extract start of array of doubles
double *array() const;
@ -197,13 +195,13 @@ public:
// Destructor
virtual ~VMask();
int xsize() const throw( VError )
int xsize() const
{ return( ref->pmask->xsize() ); }
int ysize() const throw( VError )
int ysize() const
{ return( ref->pmask->ysize() ); }
int size() const throw( VError )
int size() const
{ return( xsize() * ysize() ); }
const char *filename() const throw( VError )
const char *filename() const
{ return( ref->pmask->filename() ); }
// Extract underlying type
@ -279,17 +277,16 @@ public:
}
// Embed INTMASK in VIMask
void embed( im__INTMASK * ) throw( VError );
void embed( im__INTMASK * );
// Overload [] to get linear array subscript.
int &operator[]( int ) throw( VError );
int &operator[]( int );
// Overload () to get matrix subscript.
int &operator()( int x, int y ) throw( VError )
{ return( (*this)[x + y*xsize()] ); }
int &operator()( int x, int y ) { return( (*this)[x + y*xsize()] ); }
// and as a function call that SWIG can wrap
int get( int i ) throw( VError )
int get( int i )
{ return( (*this)[i] ); }
// Type conversion: INTMASK->DOUBLEMASK
@ -299,21 +296,21 @@ public:
operator VImage();
// VIMask build functions
static VIMask gauss( double, double ) throw( VError );
static VIMask gauss_sep( double, double ) throw( VError );
static VIMask log( double, double ) throw( VError );
static VIMask gauss( double, double );
static VIMask gauss_sep( double, double );
static VIMask log( double, double );
// VIMask manipulation
VIMask rotate45() throw( VError );
VIMask rotate90() throw( VError );
VIMask rotate45();
VIMask rotate90();
// Arithmetic ... cast to double, and use VDMask funcs. For some
// reason, the compiler won't let us do casts to VDImage yet, so no
// inlines.
VDMask trn() throw( VError );
VDMask inv() throw( VError );
VDMask cat( VDMask ) throw( VError );
VDMask mul( VDMask ) throw( VError );
VDMask trn();
VDMask inv();
VDMask cat( VDMask );
VDMask mul( VDMask );
};
// Wrapper over _private_detail::VPDMask with ref counting
@ -359,51 +356,50 @@ public:
VDMask() { }
// Embed DOUBLEMASK in VDMask
void embed( im__DOUBLEMASK * ) throw( VError );
void embed( im__DOUBLEMASK * );
double scale() throw( VError )
double scale()
{
return( ((_private_detail::VPDMask *)ref->pmask)->scale() );
}
double offset() throw( VError )
double offset()
{
return( ((_private_detail::VPDMask *)ref->pmask)->offset() );
}
// Overload [] to get linear array subscript.
double &operator[]( int ) throw( VError );
double &operator[]( int );
// Overload () to get matrix subscript.
double &operator()( int x, int y ) throw( VError )
double &operator()( int x, int y )
{ return( (*this)[x + y*xsize()] ); }
// and as a function call that SWIG can wrap
double get( int i ) throw( VError )
{ return( (*this)[i] ); }
double get( int i ) { return( (*this)[i] ); }
// Type conversion: double->int
operator VIMask();
// Type conversion: DOUBLEMASK->image
operator VImage() throw( VError );
operator VImage();
// VDMask build functions
static VDMask gauss( double, double ) throw( VError );
static VDMask log( double, double ) throw( VError );
static VDMask gauss( double, double );
static VDMask log( double, double );
// VDMask manipulation
VDMask rotate45() throw( VError );
VDMask rotate90() throw( VError );
VDMask rotate45();
VDMask rotate90();
// Scale to intmask
VIMask scalei() throw( VError );
VIMask scalei();
// Simple arithmetic
VDMask trn() throw( VError );
VDMask inv() throw( VError );
VDMask cat( VDMask ) throw( VError );
VDMask mul( VDMask ) throw( VError );
VDMask trn();
VDMask inv();
VDMask cat( VDMask );
VDMask mul( VDMask );
};
VIPS_NAMESPACE_END

View File

@ -2,350 +2,350 @@
// headers for package arithmetic
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage abs() throw( VError );
VImage acos() throw( VError );
VImage add( VImage add_in2 ) throw( VError );
VImage asin() throw( VError );
VImage atan() throw( VError );
double avg() throw( VError );
double point( char* point_interpolate, double point_x, double point_y, int point_band ) throw( VError );
double point_bilinear( double point_bilinear_x, double point_bilinear_y, int point_bilinear_band ) throw( VError );
VImage bandmean() throw( VError );
VImage ceil() throw( VError );
VImage cos() throw( VError );
VImage cross_phase( VImage cross_phase_in2 ) throw( VError );
double deviate() throw( VError );
VImage divide( VImage divide_in2 ) throw( VError );
VImage exp10() throw( VError );
VImage expn( double expn_x ) throw( VError );
VImage expn( std::vector<double> expn_v ) throw( VError );
VImage exp() throw( VError );
VImage floor() throw( VError );
VImage invert() throw( VError );
VImage lin( double lin_a, double lin_b ) throw( VError );
static VImage linreg( std::vector<VImage> linreg_ins, std::vector<double> linreg_xs ) throw( VError );
VImage lin( std::vector<double> lin_a, std::vector<double> lin_b ) throw( VError );
VImage log10() throw( VError );
VImage log() throw( VError );
double max() throw( VError );
std::complex<double> maxpos() throw( VError );
double maxpos_avg( double& maxpos_avg_y, double& maxpos_avg_out ) throw( VError );
VDMask measure( int measure_x, int measure_y, int measure_w, int measure_h, int measure_h_patches, int measure_v_patches ) throw( VError );
double min() throw( VError );
std::complex<double> minpos() throw( VError );
VImage multiply( VImage multiply_in2 ) throw( VError );
VImage pow( double pow_x ) throw( VError );
VImage pow( std::vector<double> pow_v ) throw( VError );
VImage recomb( VDMask recomb_matrix ) throw( VError );
VImage remainder( VImage remainder_in2 ) throw( VError );
VImage remainder( double remainder_x ) throw( VError );
VImage remainder( std::vector<double> remainder_x ) throw( VError );
VImage rint() throw( VError );
VImage sign() throw( VError );
VImage sin() throw( VError );
VDMask stats() throw( VError );
VImage subtract( VImage subtract_in2 ) throw( VError );
VImage tan() throw( VError );
VImage abs();
VImage acos();
VImage add( VImage add_in2 );
VImage asin();
VImage atan();
double avg();
double point( char* point_interpolate, double point_x, double point_y, int point_band );
double point_bilinear( double point_bilinear_x, double point_bilinear_y, int point_bilinear_band );
VImage bandmean();
VImage ceil();
VImage cos();
VImage cross_phase( VImage cross_phase_in2 );
double deviate();
VImage divide( VImage divide_in2 );
VImage exp10();
VImage expn( double expn_x );
VImage expn( std::vector<double> expn_v );
VImage exp();
VImage floor();
VImage invert();
VImage lin( double lin_a, double lin_b );
static VImage linreg( std::vector<VImage> linreg_ins, std::vector<double> linreg_xs );
VImage lin( std::vector<double> lin_a, std::vector<double> lin_b );
VImage log10();
VImage log();
double max();
std::complex<double> maxpos();
double maxpos_avg( double& maxpos_avg_y, double& maxpos_avg_out );
VDMask measure( int measure_x, int measure_y, int measure_w, int measure_h, int measure_h_patches, int measure_v_patches );
double min();
std::complex<double> minpos();
VImage multiply( VImage multiply_in2 );
VImage pow( double pow_x );
VImage pow( std::vector<double> pow_v );
VImage recomb( VDMask recomb_matrix );
VImage remainder( VImage remainder_in2 );
VImage remainder( double remainder_x );
VImage remainder( std::vector<double> remainder_x );
VImage rint();
VImage sign();
VImage sin();
VDMask stats();
VImage subtract( VImage subtract_in2 );
VImage tan();
// headers for package cimg
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage greyc( int greyc_iterations, double greyc_amplitude, double greyc_sharpness, double greyc_anisotropy, double greyc_alpha, double greyc_sigma, double greyc_dl, double greyc_da, double greyc_gauss_prec, int greyc_interpolation, int greyc_fast_approx ) throw( VError );
VImage greyc_mask( VImage greyc_mask_mask, int greyc_mask_iterations, double greyc_mask_amplitude, double greyc_mask_sharpness, double greyc_mask_anisotropy, double greyc_mask_alpha, double greyc_mask_sigma, double greyc_mask_dl, double greyc_mask_da, double greyc_mask_gauss_prec, int greyc_mask_interpolation, int greyc_mask_fast_approx ) throw( VError );
VImage greyc( int greyc_iterations, double greyc_amplitude, double greyc_sharpness, double greyc_anisotropy, double greyc_alpha, double greyc_sigma, double greyc_dl, double greyc_da, double greyc_gauss_prec, int greyc_interpolation, int greyc_fast_approx );
VImage greyc_mask( VImage greyc_mask_mask, int greyc_mask_iterations, double greyc_mask_amplitude, double greyc_mask_sharpness, double greyc_mask_anisotropy, double greyc_mask_alpha, double greyc_mask_sigma, double greyc_mask_dl, double greyc_mask_da, double greyc_mask_gauss_prec, int greyc_mask_interpolation, int greyc_mask_fast_approx );
// headers for package colour
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage LCh2Lab() throw( VError );
VImage LCh2UCS() throw( VError );
VImage Lab2LCh() throw( VError );
VImage Lab2LabQ() throw( VError );
VImage Lab2LabS() throw( VError );
VImage Lab2UCS() throw( VError );
VImage Lab2XYZ() throw( VError );
VImage Lab2XYZ_temp( double Lab2XYZ_temp_X0, double Lab2XYZ_temp_Y0, double Lab2XYZ_temp_Z0 ) throw( VError );
VImage Lab2disp( VDisplay Lab2disp_disp ) throw( VError );
VImage LabQ2LabS() throw( VError );
VImage LabQ2Lab() throw( VError );
VImage LabQ2XYZ() throw( VError );
VImage LabQ2disp( VDisplay LabQ2disp_disp ) throw( VError );
VImage LabS2LabQ() throw( VError );
VImage LabS2Lab() throw( VError );
VImage UCS2LCh() throw( VError );
VImage UCS2Lab() throw( VError );
VImage UCS2XYZ() throw( VError );
VImage XYZ2Lab() throw( VError );
VImage XYZ2Lab_temp( double XYZ2Lab_temp_X0, double XYZ2Lab_temp_Y0, double XYZ2Lab_temp_Z0 ) throw( VError );
VImage XYZ2UCS() throw( VError );
VImage XYZ2Yxy() throw( VError );
VImage XYZ2disp( VDisplay XYZ2disp_disp ) throw( VError );
VImage XYZ2sRGB() throw( VError );
VImage Yxy2XYZ() throw( VError );
VImage dE00_fromLab( VImage dE00_fromLab_in2 ) throw( VError );
VImage dECMC_fromLab( VImage dECMC_fromLab_in2 ) throw( VError );
VImage dECMC_fromdisp( VImage dECMC_fromdisp_in2, VDisplay dECMC_fromdisp_disp ) throw( VError );
VImage dE_fromLab( VImage dE_fromLab_in2 ) throw( VError );
VImage dE_fromXYZ( VImage dE_fromXYZ_in2 ) throw( VError );
VImage dE_fromdisp( VImage dE_fromdisp_in2, VDisplay dE_fromdisp_disp ) throw( VError );
VImage disp2Lab( VDisplay disp2Lab_disp ) throw( VError );
VImage disp2XYZ( VDisplay disp2XYZ_disp ) throw( VError );
VImage float2rad() throw( VError );
VImage icc_ac2rc( char* icc_ac2rc_profile ) throw( VError );
VImage icc_export_depth( int icc_export_depth_depth, char* icc_export_depth_output_profile, int icc_export_depth_intent ) throw( VError );
VImage icc_import( char* icc_import_input_profile, int icc_import_intent ) throw( VError );
VImage icc_import_embedded( int icc_import_embedded_intent ) throw( VError );
VImage icc_transform( char* icc_transform_input_profile, char* icc_transform_output_profile, int icc_transform_intent ) throw( VError );
VImage lab_morph( VDMask lab_morph_greyscale, double lab_morph_L_offset, double lab_morph_L_scale, double lab_morph_a_scale, double lab_morph_b_scale ) throw( VError );
VImage rad2float() throw( VError );
VImage sRGB2XYZ() throw( VError );
VImage LCh2Lab();
VImage LCh2UCS();
VImage Lab2LCh();
VImage Lab2LabQ();
VImage Lab2LabS();
VImage Lab2UCS();
VImage Lab2XYZ();
VImage Lab2XYZ_temp( double Lab2XYZ_temp_X0, double Lab2XYZ_temp_Y0, double Lab2XYZ_temp_Z0 );
VImage Lab2disp( VDisplay Lab2disp_disp );
VImage LabQ2LabS();
VImage LabQ2Lab();
VImage LabQ2XYZ();
VImage LabQ2disp( VDisplay LabQ2disp_disp );
VImage LabS2LabQ();
VImage LabS2Lab();
VImage UCS2LCh();
VImage UCS2Lab();
VImage UCS2XYZ();
VImage XYZ2Lab();
VImage XYZ2Lab_temp( double XYZ2Lab_temp_X0, double XYZ2Lab_temp_Y0, double XYZ2Lab_temp_Z0 );
VImage XYZ2UCS();
VImage XYZ2Yxy();
VImage XYZ2disp( VDisplay XYZ2disp_disp );
VImage XYZ2sRGB();
VImage Yxy2XYZ();
VImage dE00_fromLab( VImage dE00_fromLab_in2 );
VImage dECMC_fromLab( VImage dECMC_fromLab_in2 );
VImage dECMC_fromdisp( VImage dECMC_fromdisp_in2, VDisplay dECMC_fromdisp_disp );
VImage dE_fromLab( VImage dE_fromLab_in2 );
VImage dE_fromXYZ( VImage dE_fromXYZ_in2 );
VImage dE_fromdisp( VImage dE_fromdisp_in2, VDisplay dE_fromdisp_disp );
VImage disp2Lab( VDisplay disp2Lab_disp );
VImage disp2XYZ( VDisplay disp2XYZ_disp );
VImage float2rad();
VImage icc_ac2rc( char* icc_ac2rc_profile );
VImage icc_export_depth( int icc_export_depth_depth, char* icc_export_depth_output_profile, int icc_export_depth_intent );
VImage icc_import( char* icc_import_input_profile, int icc_import_intent );
VImage icc_import_embedded( int icc_import_embedded_intent );
VImage icc_transform( char* icc_transform_input_profile, char* icc_transform_output_profile, int icc_transform_intent );
VImage lab_morph( VDMask lab_morph_greyscale, double lab_morph_L_offset, double lab_morph_L_scale, double lab_morph_a_scale, double lab_morph_b_scale );
VImage rad2float();
VImage sRGB2XYZ();
// headers for package conversion
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage gaussnoise( int gaussnoise_xsize, int gaussnoise_ysize, double gaussnoise_mean, double gaussnoise_sigma ) throw( VError );
VImage bandjoin( VImage bandjoin_in2 ) throw( VError );
static VImage black( int black_x_size, int black_y_size, int black_bands ) throw( VError );
VImage c2amph() throw( VError );
VImage c2imag() throw( VError );
VImage c2real() throw( VError );
VImage c2rect() throw( VError );
VImage clip2fmt( int clip2fmt_ofmt ) throw( VError );
VImage copy() throw( VError );
VImage copy_file() throw( VError );
VImage copy_morph( int copy_morph_Bands, int copy_morph_BandFmt, int copy_morph_Coding ) throw( VError );
VImage copy_swap() throw( VError );
VImage copy_set( int copy_set_Type, double copy_set_Xres, double copy_set_Yres, int copy_set_Xoffset, int copy_set_Yoffset ) throw( VError );
VImage extract_area( int extract_area_left, int extract_area_top, int extract_area_width, int extract_area_height ) throw( VError );
VImage extract_areabands( int extract_areabands_left, int extract_areabands_top, int extract_areabands_width, int extract_areabands_height, int extract_areabands_band, int extract_areabands_nbands ) throw( VError );
VImage extract_band( int extract_band_band ) throw( VError );
VImage extract_bands( int extract_bands_band, int extract_bands_nbands ) throw( VError );
VImage extract( int extract_left, int extract_top, int extract_width, int extract_height, int extract_band ) throw( VError );
VImage falsecolour() throw( VError );
VImage fliphor() throw( VError );
VImage flipver() throw( VError );
static VImage gbandjoin( std::vector<VImage> gbandjoin_in ) throw( VError );
VImage grid( int grid_tile_height, int grid_across, int grid_down ) throw( VError );
VImage insert( VImage insert_sub, int insert_x, int insert_y ) throw( VError );
VImage insert( VImage insert_sub, std::vector<int> insert_x, std::vector<int> insert_y ) throw( VError );
VImage insert_noexpand( VImage insert_noexpand_sub, int insert_noexpand_x, int insert_noexpand_y ) throw( VError );
VImage embed( int embed_type, int embed_x, int embed_y, int embed_width, int embed_height ) throw( VError );
VImage lrjoin( VImage lrjoin_in2 ) throw( VError );
VImage msb() throw( VError );
VImage msb_band( int msb_band_band ) throw( VError );
VImage replicate( int replicate_across, int replicate_down ) throw( VError );
VImage ri2c( VImage ri2c_in2 ) throw( VError );
VImage rot180() throw( VError );
VImage rot270() throw( VError );
VImage rot90() throw( VError );
VImage scale() throw( VError );
VImage scaleps() throw( VError );
VImage subsample( int subsample_xshrink, int subsample_yshrink ) throw( VError );
char* system( char* system_command ) throw( VError );
VImage system_image( char* system_image_in_format, char* system_image_out_format, char* system_image_command, char*& system_image_log ) throw( VError );
VImage tbjoin( VImage tbjoin_in2 ) throw( VError );
static VImage text( char* text_text, char* text_font, int text_width, int text_alignment, int text_dpi ) throw( VError );
VImage wrap( int wrap_x, int wrap_y ) throw( VError );
VImage zoom( int zoom_xfac, int zoom_yfac ) throw( VError );
static VImage gaussnoise( int gaussnoise_xsize, int gaussnoise_ysize, double gaussnoise_mean, double gaussnoise_sigma );
VImage bandjoin( VImage bandjoin_in2 );
static VImage black( int black_x_size, int black_y_size, int black_bands );
VImage c2amph();
VImage c2imag();
VImage c2real();
VImage c2rect();
VImage clip2fmt( int clip2fmt_ofmt );
VImage copy();
VImage copy_file();
VImage copy_morph( int copy_morph_Bands, int copy_morph_BandFmt, int copy_morph_Coding );
VImage copy_swap();
VImage copy_set( int copy_set_Type, double copy_set_Xres, double copy_set_Yres, int copy_set_Xoffset, int copy_set_Yoffset );
VImage extract_area( int extract_area_left, int extract_area_top, int extract_area_width, int extract_area_height );
VImage extract_areabands( int extract_areabands_left, int extract_areabands_top, int extract_areabands_width, int extract_areabands_height, int extract_areabands_band, int extract_areabands_nbands );
VImage extract_band( int extract_band_band );
VImage extract_bands( int extract_bands_band, int extract_bands_nbands );
VImage extract( int extract_left, int extract_top, int extract_width, int extract_height, int extract_band );
VImage falsecolour();
VImage fliphor();
VImage flipver();
static VImage gbandjoin( std::vector<VImage> gbandjoin_in );
VImage grid( int grid_tile_height, int grid_across, int grid_down );
VImage insert( VImage insert_sub, int insert_x, int insert_y );
VImage insert( VImage insert_sub, std::vector<int> insert_x, std::vector<int> insert_y );
VImage insert_noexpand( VImage insert_noexpand_sub, int insert_noexpand_x, int insert_noexpand_y );
VImage embed( int embed_type, int embed_x, int embed_y, int embed_width, int embed_height );
VImage lrjoin( VImage lrjoin_in2 );
VImage msb();
VImage msb_band( int msb_band_band );
VImage replicate( int replicate_across, int replicate_down );
VImage ri2c( VImage ri2c_in2 );
VImage rot180();
VImage rot270();
VImage rot90();
VImage scale();
VImage scaleps();
VImage subsample( int subsample_xshrink, int subsample_yshrink );
char* system( char* system_command );
VImage system_image( char* system_image_in_format, char* system_image_out_format, char* system_image_command, char*& system_image_log );
VImage tbjoin( VImage tbjoin_in2 );
static VImage text( char* text_text, char* text_font, int text_width, int text_alignment, int text_dpi );
VImage wrap( int wrap_x, int wrap_y );
VImage zoom( int zoom_xfac, int zoom_yfac );
// headers for package convolution
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage aconvsep( VDMask aconvsep_matrix, int aconvsep_n_layers ) throw( VError );
VImage aconv( VDMask aconv_matrix, int aconv_n_layers, int aconv_cluster ) throw( VError );
VImage addgnoise( double addgnoise_sigma ) throw( VError );
VImage compass( VIMask compass_matrix ) throw( VError );
VImage contrast_surface( int contrast_surface_half_win_size, int contrast_surface_spacing ) throw( VError );
VImage conv( VIMask conv_matrix ) throw( VError );
VImage conv( VDMask conv_matrix ) throw( VError );
VImage convsep( VIMask convsep_matrix ) throw( VError );
VImage convsep( VDMask convsep_matrix ) throw( VError );
VImage fastcor( VImage fastcor_in2 ) throw( VError );
VImage gradcor( VImage gradcor_in2 ) throw( VError );
VImage gradient( VIMask gradient_matrix ) throw( VError );
VImage grad_x() throw( VError );
VImage grad_y() throw( VError );
VImage lindetect( VIMask lindetect_matrix ) throw( VError );
VImage sharpen( int sharpen_mask_size, double sharpen_x1, double sharpen_y2, double sharpen_y3, double sharpen_m1, double sharpen_m2 ) throw( VError );
VImage spcor( VImage spcor_in2 ) throw( VError );
VImage aconvsep( VDMask aconvsep_matrix, int aconvsep_n_layers );
VImage aconv( VDMask aconv_matrix, int aconv_n_layers, int aconv_cluster );
VImage addgnoise( double addgnoise_sigma );
VImage compass( VIMask compass_matrix );
VImage contrast_surface( int contrast_surface_half_win_size, int contrast_surface_spacing );
VImage conv( VIMask conv_matrix );
VImage conv( VDMask conv_matrix );
VImage convsep( VIMask convsep_matrix );
VImage convsep( VDMask convsep_matrix );
VImage fastcor( VImage fastcor_in2 );
VImage gradcor( VImage gradcor_in2 );
VImage gradient( VIMask gradient_matrix );
VImage grad_x();
VImage grad_y();
VImage lindetect( VIMask lindetect_matrix );
VImage sharpen( int sharpen_mask_size, double sharpen_x1, double sharpen_y2, double sharpen_y3, double sharpen_m1, double sharpen_m2 );
VImage spcor( VImage spcor_in2 );
// headers for package deprecated
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage argb2rgba() throw( VError );
VImage flood_copy( int flood_copy_start_x, int flood_copy_start_y, std::vector<double> flood_copy_ink ) throw( VError );
VImage flood_blob_copy( int flood_blob_copy_start_x, int flood_blob_copy_start_y, std::vector<double> flood_blob_copy_ink ) throw( VError );
VImage flood_other_copy( VImage flood_other_copy_mark, int flood_other_copy_start_x, int flood_other_copy_start_y, int flood_other_copy_serial ) throw( VError );
VImage clip() throw( VError );
VImage c2ps() throw( VError );
VImage resize_linear( int resize_linear_X, int resize_linear_Y ) throw( VError );
VImage cmulnorm( VImage cmulnorm_in2 ) throw( VError );
VImage fav4( VImage fav4_in2, VImage fav4_in3, VImage fav4_in4 ) throw( VError );
VImage gadd( double gadd_a, double gadd_b, VImage gadd_in2, double gadd_c ) throw( VError );
VImage icc_export( char* icc_export_output_profile, int icc_export_intent ) throw( VError );
VImage litecor( VImage litecor_white, int litecor_clip, double litecor_factor ) throw( VError );
VImage affine( double affine_a, double affine_b, double affine_c, double affine_d, double affine_dx, double affine_dy, int affine_x, int affine_y, int affine_w, int affine_h ) throw( VError );
VImage clip2c() throw( VError );
VImage clip2cm() throw( VError );
VImage clip2d() throw( VError );
VImage clip2dcm() throw( VError );
VImage clip2f() throw( VError );
VImage clip2i() throw( VError );
VImage convsub( VIMask convsub_matrix, int convsub_xskip, int convsub_yskip ) throw( VError );
VImage convf( VDMask convf_matrix ) throw( VError );
VImage convsepf( VDMask convsepf_matrix ) throw( VError );
VImage clip2s() throw( VError );
VImage clip2ui() throw( VError );
VImage insertplace( VImage insertplace_sub, std::vector<int> insertplace_x, std::vector<int> insertplace_y ) throw( VError );
VImage clip2us() throw( VError );
VImage slice( double slice_thresh1, double slice_thresh2 ) throw( VError );
VImage segment( int& segment_segments ) throw( VError );
void line( int line_x1, int line_y1, int line_x2, int line_y2, int line_pelval ) throw( VError );
VImage thresh( double thresh_threshold ) throw( VError );
VImage convf_raw( VDMask convf_raw_matrix ) throw( VError );
VImage conv_raw( VIMask conv_raw_matrix ) throw( VError );
VImage contrast_surface_raw( int contrast_surface_raw_half_win_size, int contrast_surface_raw_spacing ) throw( VError );
VImage convsepf_raw( VDMask convsepf_raw_matrix ) throw( VError );
VImage convsep_raw( VIMask convsep_raw_matrix ) throw( VError );
VImage fastcor_raw( VImage fastcor_raw_in2 ) throw( VError );
VImage gradcor_raw( VImage gradcor_raw_in2 ) throw( VError );
VImage spcor_raw( VImage spcor_raw_in2 ) throw( VError );
VImage lhisteq_raw( int lhisteq_raw_width, int lhisteq_raw_height ) throw( VError );
VImage stdif_raw( double stdif_raw_a, double stdif_raw_m0, double stdif_raw_b, double stdif_raw_s0, int stdif_raw_xw, int stdif_raw_yw ) throw( VError );
VImage rank_raw( int rank_raw_xsize, int rank_raw_ysize, int rank_raw_n ) throw( VError );
VImage dilate_raw( VIMask dilate_raw_mask ) throw( VError );
VImage erode_raw( VIMask erode_raw_mask ) throw( VError );
VImage similarity_area( double similarity_area_a, double similarity_area_b, double similarity_area_dx, double similarity_area_dy, int similarity_area_x, int similarity_area_y, int similarity_area_w, int similarity_area_h ) throw( VError );
VImage similarity( double similarity_a, double similarity_b, double similarity_dx, double similarity_dy ) throw( VError );
static VImage mask2vips( VDMask mask2vips_input ) throw( VError );
VDMask vips2mask() throw( VError );
void insertplace( VImage insertplace_sub, int insertplace_x, int insertplace_y ) throw( VError );
void circle( int circle_cx, int circle_cy, int circle_radius, int circle_intensity ) throw( VError );
VImage andimage( VImage andimage_in2 ) throw( VError );
VImage andimage( int andimage_c ) throw( VError );
VImage andimage( std::vector<double> andimage_vec ) throw( VError );
VImage orimage( VImage orimage_in2 ) throw( VError );
VImage orimage( int orimage_c ) throw( VError );
VImage orimage( std::vector<double> orimage_vec ) throw( VError );
VImage eorimage( VImage eorimage_in2 ) throw( VError );
VImage eorimage( int eorimage_c ) throw( VError );
VImage eorimage( std::vector<double> eorimage_vec ) throw( VError );
VImage shiftleft( std::vector<double> shiftleft_vec ) throw( VError );
VImage shiftleft( int shiftleft_c ) throw( VError );
VImage shiftright( std::vector<double> shiftright_vec ) throw( VError );
VImage shiftright( int shiftright_c ) throw( VError );
VImage blend( VImage blend_in1, VImage blend_in2 ) throw( VError );
VImage equal( VImage equal_in2 ) throw( VError );
VImage equal( std::vector<double> equal_vec ) throw( VError );
VImage equal( double equal_c ) throw( VError );
VImage ifthenelse( VImage ifthenelse_in1, VImage ifthenelse_in2 ) throw( VError );
VImage less( VImage less_in2 ) throw( VError );
VImage less( std::vector<double> less_vec ) throw( VError );
VImage less( double less_c ) throw( VError );
VImage lesseq( VImage lesseq_in2 ) throw( VError );
VImage lesseq( std::vector<double> lesseq_vec ) throw( VError );
VImage lesseq( double lesseq_c ) throw( VError );
VImage more( VImage more_in2 ) throw( VError );
VImage more( std::vector<double> more_vec ) throw( VError );
VImage more( double more_c ) throw( VError );
VImage moreeq( VImage moreeq_in2 ) throw( VError );
VImage moreeq( std::vector<double> moreeq_vec ) throw( VError );
VImage moreeq( double moreeq_c ) throw( VError );
VImage notequal( VImage notequal_in2 ) throw( VError );
VImage notequal( std::vector<double> notequal_vec ) throw( VError );
VImage notequal( double notequal_c ) throw( VError );
VImage quadratic( VImage quadratic_coeff ) throw( VError );
VImage argb2rgba();
VImage flood_copy( int flood_copy_start_x, int flood_copy_start_y, std::vector<double> flood_copy_ink );
VImage flood_blob_copy( int flood_blob_copy_start_x, int flood_blob_copy_start_y, std::vector<double> flood_blob_copy_ink );
VImage flood_other_copy( VImage flood_other_copy_mark, int flood_other_copy_start_x, int flood_other_copy_start_y, int flood_other_copy_serial );
VImage clip();
VImage c2ps();
VImage resize_linear( int resize_linear_X, int resize_linear_Y );
VImage cmulnorm( VImage cmulnorm_in2 );
VImage fav4( VImage fav4_in2, VImage fav4_in3, VImage fav4_in4 );
VImage gadd( double gadd_a, double gadd_b, VImage gadd_in2, double gadd_c );
VImage icc_export( char* icc_export_output_profile, int icc_export_intent );
VImage litecor( VImage litecor_white, int litecor_clip, double litecor_factor );
VImage affine( double affine_a, double affine_b, double affine_c, double affine_d, double affine_dx, double affine_dy, int affine_x, int affine_y, int affine_w, int affine_h );
VImage clip2c();
VImage clip2cm();
VImage clip2d();
VImage clip2dcm();
VImage clip2f();
VImage clip2i();
VImage convsub( VIMask convsub_matrix, int convsub_xskip, int convsub_yskip );
VImage convf( VDMask convf_matrix );
VImage convsepf( VDMask convsepf_matrix );
VImage clip2s();
VImage clip2ui();
VImage insertplace( VImage insertplace_sub, std::vector<int> insertplace_x, std::vector<int> insertplace_y );
VImage clip2us();
VImage slice( double slice_thresh1, double slice_thresh2 );
VImage segment( int& segment_segments );
void line( int line_x1, int line_y1, int line_x2, int line_y2, int line_pelval );
VImage thresh( double thresh_threshold );
VImage convf_raw( VDMask convf_raw_matrix );
VImage conv_raw( VIMask conv_raw_matrix );
VImage contrast_surface_raw( int contrast_surface_raw_half_win_size, int contrast_surface_raw_spacing );
VImage convsepf_raw( VDMask convsepf_raw_matrix );
VImage convsep_raw( VIMask convsep_raw_matrix );
VImage fastcor_raw( VImage fastcor_raw_in2 );
VImage gradcor_raw( VImage gradcor_raw_in2 );
VImage spcor_raw( VImage spcor_raw_in2 );
VImage lhisteq_raw( int lhisteq_raw_width, int lhisteq_raw_height );
VImage stdif_raw( double stdif_raw_a, double stdif_raw_m0, double stdif_raw_b, double stdif_raw_s0, int stdif_raw_xw, int stdif_raw_yw );
VImage rank_raw( int rank_raw_xsize, int rank_raw_ysize, int rank_raw_n );
VImage dilate_raw( VIMask dilate_raw_mask );
VImage erode_raw( VIMask erode_raw_mask );
VImage similarity_area( double similarity_area_a, double similarity_area_b, double similarity_area_dx, double similarity_area_dy, int similarity_area_x, int similarity_area_y, int similarity_area_w, int similarity_area_h );
VImage similarity( double similarity_a, double similarity_b, double similarity_dx, double similarity_dy );
static VImage mask2vips( VDMask mask2vips_input );
VDMask vips2mask();
void insertplace( VImage insertplace_sub, int insertplace_x, int insertplace_y );
void circle( int circle_cx, int circle_cy, int circle_radius, int circle_intensity );
VImage andimage( VImage andimage_in2 );
VImage andimage( int andimage_c );
VImage andimage( std::vector<double> andimage_vec );
VImage orimage( VImage orimage_in2 );
VImage orimage( int orimage_c );
VImage orimage( std::vector<double> orimage_vec );
VImage eorimage( VImage eorimage_in2 );
VImage eorimage( int eorimage_c );
VImage eorimage( std::vector<double> eorimage_vec );
VImage shiftleft( std::vector<double> shiftleft_vec );
VImage shiftleft( int shiftleft_c );
VImage shiftright( std::vector<double> shiftright_vec );
VImage shiftright( int shiftright_c );
VImage blend( VImage blend_in1, VImage blend_in2 );
VImage equal( VImage equal_in2 );
VImage equal( std::vector<double> equal_vec );
VImage equal( double equal_c );
VImage ifthenelse( VImage ifthenelse_in1, VImage ifthenelse_in2 );
VImage less( VImage less_in2 );
VImage less( std::vector<double> less_vec );
VImage less( double less_c );
VImage lesseq( VImage lesseq_in2 );
VImage lesseq( std::vector<double> lesseq_vec );
VImage lesseq( double lesseq_c );
VImage more( VImage more_in2 );
VImage more( std::vector<double> more_vec );
VImage more( double more_c );
VImage moreeq( VImage moreeq_in2 );
VImage moreeq( std::vector<double> moreeq_vec );
VImage moreeq( double moreeq_c );
VImage notequal( VImage notequal_in2 );
VImage notequal( std::vector<double> notequal_vec );
VImage notequal( double notequal_c );
VImage quadratic( VImage quadratic_coeff );
// headers for package format
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage csv2vips( char* csv2vips_filename ) throw( VError );
static VImage fits2vips( char* fits2vips_in ) throw( VError );
static VImage jpeg2vips( char* jpeg2vips_in ) throw( VError );
static VImage magick2vips( char* magick2vips_in ) throw( VError );
static VImage png2vips( char* png2vips_in ) throw( VError );
static VImage exr2vips( char* exr2vips_in ) throw( VError );
static VImage ppm2vips( char* ppm2vips_filename ) throw( VError );
static VImage analyze2vips( char* analyze2vips_filename ) throw( VError );
static VImage tiff2vips( char* tiff2vips_in ) throw( VError );
void vips2csv( char* vips2csv_filename ) throw( VError );
void vips2dz( char* vips2dz_out ) throw( VError );
void vips2jpeg( char* vips2jpeg_out ) throw( VError );
void vips2mimejpeg( int vips2mimejpeg_qfac ) throw( VError );
void vips2png( char* vips2png_out ) throw( VError );
void vips2ppm( char* vips2ppm_filename ) throw( VError );
void vips2tiff( char* vips2tiff_out ) throw( VError );
static VImage csv2vips( char* csv2vips_filename );
static VImage fits2vips( char* fits2vips_in );
static VImage jpeg2vips( char* jpeg2vips_in );
static VImage magick2vips( char* magick2vips_in );
static VImage png2vips( char* png2vips_in );
static VImage exr2vips( char* exr2vips_in );
static VImage ppm2vips( char* ppm2vips_filename );
static VImage analyze2vips( char* analyze2vips_filename );
static VImage tiff2vips( char* tiff2vips_in );
void vips2csv( char* vips2csv_filename );
void vips2dz( char* vips2dz_out );
void vips2jpeg( char* vips2jpeg_out );
void vips2mimejpeg( int vips2mimejpeg_qfac );
void vips2png( char* vips2png_out );
void vips2ppm( char* vips2ppm_filename );
void vips2tiff( char* vips2tiff_out );
// headers for package freq_filt
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage create_fmask( int create_fmask_width, int create_fmask_height, int create_fmask_type, double create_fmask_p1, double create_fmask_p2, double create_fmask_p3, double create_fmask_p4, double create_fmask_p5 ) throw( VError );
VImage disp_ps() throw( VError );
VImage flt_image_freq( int flt_image_freq_type, double flt_image_freq_p1, double flt_image_freq_p2, double flt_image_freq_p3, double flt_image_freq_p4, double flt_image_freq_p5 ) throw( VError );
static VImage fractsurf( int fractsurf_size, double fractsurf_dimension ) throw( VError );
VImage freqflt( VImage freqflt_mask ) throw( VError );
VImage fwfft() throw( VError );
VImage rotquad() throw( VError );
VImage invfft() throw( VError );
VImage phasecor_fft( VImage phasecor_fft_in2 ) throw( VError );
VImage invfftr() throw( VError );
static VImage create_fmask( int create_fmask_width, int create_fmask_height, int create_fmask_type, double create_fmask_p1, double create_fmask_p2, double create_fmask_p3, double create_fmask_p4, double create_fmask_p5 );
VImage disp_ps();
VImage flt_image_freq( int flt_image_freq_type, double flt_image_freq_p1, double flt_image_freq_p2, double flt_image_freq_p3, double flt_image_freq_p4, double flt_image_freq_p5 );
static VImage fractsurf( int fractsurf_size, double fractsurf_dimension );
VImage freqflt( VImage freqflt_mask );
VImage fwfft();
VImage rotquad();
VImage invfft();
VImage phasecor_fft( VImage phasecor_fft_in2 );
VImage invfftr();
// headers for package histograms_lut
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage gammacorrect( double gammacorrect_exponent ) throw( VError );
VImage heq( int heq_band_number ) throw( VError );
VImage hist( int hist_band_number ) throw( VError );
VImage histcum() throw( VError );
VImage histeq() throw( VError );
VImage hist_indexed( VImage hist_indexed_value ) throw( VError );
VImage histgr( int histgr_band_number ) throw( VError );
VImage histnD( int histnD_bins ) throw( VError );
VImage histnorm() throw( VError );
VImage histplot() throw( VError );
VImage histspec( VImage histspec_ref ) throw( VError );
VImage hsp( VImage hsp_ref ) throw( VError );
static VImage identity( int identity_nbands ) throw( VError );
static VImage identity_ushort( int identity_ushort_nbands, int identity_ushort_size ) throw( VError );
int ismonotonic() throw( VError );
VImage lhisteq( int lhisteq_width, int lhisteq_height ) throw( VError );
int mpercent( double mpercent_percent ) throw( VError );
static VImage invertlut( VDMask invertlut_measures, int invertlut_lut_size ) throw( VError );
static VImage buildlut( VDMask buildlut_xyes ) throw( VError );
VImage maplut( VImage maplut_lut ) throw( VError );
VImage project( VImage& project_vout ) throw( VError );
VImage stdif( double stdif_a, double stdif_m0, double stdif_b, double stdif_s0, int stdif_xw, int stdif_yw ) throw( VError );
VImage tone_analyse( double tone_analyse_Ps, double tone_analyse_Pm, double tone_analyse_Ph, double tone_analyse_S, double tone_analyse_M, double tone_analyse_H ) throw( VError );
static VImage tone_build( double tone_build_Lb, double tone_build_Lw, double tone_build_Ps, double tone_build_Pm, double tone_build_Ph, double tone_build_S, double tone_build_M, double tone_build_H ) throw( VError );
static VImage tone_build_range( int tone_build_range_in_max, int tone_build_range_out_max, double tone_build_range_Lb, double tone_build_range_Lw, double tone_build_range_Ps, double tone_build_range_Pm, double tone_build_range_Ph, double tone_build_range_S, double tone_build_range_M, double tone_build_range_H ) throw( VError );
VImage tone_map( VImage tone_map_lut ) throw( VError );
VImage gammacorrect( double gammacorrect_exponent );
VImage heq( int heq_band_number );
VImage hist( int hist_band_number );
VImage histcum();
VImage histeq();
VImage hist_indexed( VImage hist_indexed_value );
VImage histgr( int histgr_band_number );
VImage histnD( int histnD_bins );
VImage histnorm();
VImage histplot();
VImage histspec( VImage histspec_ref );
VImage hsp( VImage hsp_ref );
static VImage identity( int identity_nbands );
static VImage identity_ushort( int identity_ushort_nbands, int identity_ushort_size );
int ismonotonic();
VImage lhisteq( int lhisteq_width, int lhisteq_height );
int mpercent( double mpercent_percent );
static VImage invertlut( VDMask invertlut_measures, int invertlut_lut_size );
static VImage buildlut( VDMask buildlut_xyes );
VImage maplut( VImage maplut_lut );
VImage project( VImage& project_vout );
VImage stdif( double stdif_a, double stdif_m0, double stdif_b, double stdif_s0, int stdif_xw, int stdif_yw );
VImage tone_analyse( double tone_analyse_Ps, double tone_analyse_Pm, double tone_analyse_Ph, double tone_analyse_S, double tone_analyse_M, double tone_analyse_H );
static VImage tone_build( double tone_build_Lb, double tone_build_Lw, double tone_build_Ps, double tone_build_Pm, double tone_build_Ph, double tone_build_S, double tone_build_M, double tone_build_H );
static VImage tone_build_range( int tone_build_range_in_max, int tone_build_range_out_max, double tone_build_range_Lb, double tone_build_range_Lw, double tone_build_range_Ps, double tone_build_range_Pm, double tone_build_range_Ph, double tone_build_range_S, double tone_build_range_M, double tone_build_range_H );
VImage tone_map( VImage tone_map_lut );
// headers for package inplace
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
void draw_circle( int draw_circle_cx, int draw_circle_cy, int draw_circle_radius, int draw_circle_fill, std::vector<double> draw_circle_ink ) throw( VError );
void draw_rect( int draw_rect_left, int draw_rect_top, int draw_rect_width, int draw_rect_height, int draw_rect_fill, std::vector<double> draw_rect_ink ) throw( VError );
void draw_line( int draw_line_x1, int draw_line_y1, int draw_line_x2, int draw_line_y2, std::vector<double> draw_line_ink ) throw( VError );
void draw_point( int draw_point_x, int draw_point_y, std::vector<double> draw_point_ink ) throw( VError );
void draw_smudge( int draw_smudge_left, int draw_smudge_top, int draw_smudge_width, int draw_smudge_height ) throw( VError );
void draw_flood( int draw_flood_x, int draw_flood_y, std::vector<double> draw_flood_ink ) throw( VError );
void draw_flood_blob( int draw_flood_blob_x, int draw_flood_blob_y, std::vector<double> draw_flood_blob_ink ) throw( VError );
void draw_flood_other( VImage draw_flood_other_test, int draw_flood_other_x, int draw_flood_other_y, int draw_flood_other_serial ) throw( VError );
void draw_image( VImage draw_image_sub, int draw_image_x, int draw_image_y ) throw( VError );
void draw_mask( VImage draw_mask_mask, int draw_mask_x, int draw_mask_y, std::vector<double> draw_mask_ink ) throw( VError );
VImage line( VImage line_mask, VImage line_ink, std::vector<int> line_x1, std::vector<int> line_y1, std::vector<int> line_x2, std::vector<int> line_y2 ) throw( VError );
void draw_circle( int draw_circle_cx, int draw_circle_cy, int draw_circle_radius, int draw_circle_fill, std::vector<double> draw_circle_ink );
void draw_rect( int draw_rect_left, int draw_rect_top, int draw_rect_width, int draw_rect_height, int draw_rect_fill, std::vector<double> draw_rect_ink );
void draw_line( int draw_line_x1, int draw_line_y1, int draw_line_x2, int draw_line_y2, std::vector<double> draw_line_ink );
void draw_point( int draw_point_x, int draw_point_y, std::vector<double> draw_point_ink );
void draw_smudge( int draw_smudge_left, int draw_smudge_top, int draw_smudge_width, int draw_smudge_height );
void draw_flood( int draw_flood_x, int draw_flood_y, std::vector<double> draw_flood_ink );
void draw_flood_blob( int draw_flood_blob_x, int draw_flood_blob_y, std::vector<double> draw_flood_blob_ink );
void draw_flood_other( VImage draw_flood_other_test, int draw_flood_other_x, int draw_flood_other_y, int draw_flood_other_serial );
void draw_image( VImage draw_image_sub, int draw_image_x, int draw_image_y );
void draw_mask( VImage draw_mask_mask, int draw_mask_x, int draw_mask_y, std::vector<double> draw_mask_ink );
VImage line( VImage line_mask, VImage line_ink, std::vector<int> line_x1, std::vector<int> line_y1, std::vector<int> line_x2, std::vector<int> line_y2 );
// headers for package iofuncs
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage binfile( char* binfile_filename, int binfile_width, int binfile_height, int binfile_bands, int binfile_offset ) throw( VError );
VImage cache( int cache_tile_width, int cache_tile_height, int cache_max_tiles ) throw( VError );
char* getext() throw( VError );
int header_get_typeof( char* header_get_typeof_field ) throw( VError );
int header_int( char* header_int_field ) throw( VError );
double header_double( char* header_double_field ) throw( VError );
char* header_string( char* header_string_field ) throw( VError );
char* history_get() throw( VError );
void printdesc() throw( VError );
static VImage binfile( char* binfile_filename, int binfile_width, int binfile_height, int binfile_bands, int binfile_offset );
VImage cache( int cache_tile_width, int cache_tile_height, int cache_max_tiles );
char* getext();
int header_get_typeof( char* header_get_typeof_field );
int header_int( char* header_int_field );
double header_double( char* header_double_field );
char* header_string( char* header_string_field );
char* history_get();
void printdesc();
// headers for package mask
// this file automatically generated from
@ -354,65 +354,65 @@ void printdesc() throw( VError );
// headers for package morphology
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
double cntlines( int cntlines_direction ) throw( VError );
VImage dilate( VIMask dilate_mask ) throw( VError );
VImage rank( int rank_xsize, int rank_ysize, int rank_n ) throw( VError );
static VImage rank_image( std::vector<VImage> rank_image_in, int rank_image_index ) throw( VError );
static VImage maxvalue( std::vector<VImage> maxvalue_in ) throw( VError );
VImage label_regions( int& label_regions_segments ) throw( VError );
VImage zerox( int zerox_flag ) throw( VError );
VImage erode( VIMask erode_mask ) throw( VError );
VImage profile( int profile_direction ) throw( VError );
double cntlines( int cntlines_direction );
VImage dilate( VIMask dilate_mask );
VImage rank( int rank_xsize, int rank_ysize, int rank_n );
static VImage rank_image( std::vector<VImage> rank_image_in, int rank_image_index );
static VImage maxvalue( std::vector<VImage> maxvalue_in );
VImage label_regions( int& label_regions_segments );
VImage zerox( int zerox_flag );
VImage erode( VIMask erode_mask );
VImage profile( int profile_direction );
// headers for package mosaicing
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage align_bands() throw( VError );
double correl( VImage correl_sec, int correl_xref, int correl_yref, int correl_xsec, int correl_ysec, int correl_hwindowsize, int correl_hsearchsize, int& correl_x, int& correl_y ) throw( VError );
int _find_lroverlap( VImage _find_lroverlap_sec, int _find_lroverlap_bandno, int _find_lroverlap_xr, int _find_lroverlap_yr, int _find_lroverlap_xs, int _find_lroverlap_ys, int _find_lroverlap_halfcorrelation, int _find_lroverlap_halfarea, int& _find_lroverlap_dy0, double& _find_lroverlap_scale1, double& _find_lroverlap_angle1, double& _find_lroverlap_dx1, double& _find_lroverlap_dy1 ) throw( VError );
int _find_tboverlap( VImage _find_tboverlap_sec, int _find_tboverlap_bandno, int _find_tboverlap_xr, int _find_tboverlap_yr, int _find_tboverlap_xs, int _find_tboverlap_ys, int _find_tboverlap_halfcorrelation, int _find_tboverlap_halfarea, int& _find_tboverlap_dy0, double& _find_tboverlap_scale1, double& _find_tboverlap_angle1, double& _find_tboverlap_dx1, double& _find_tboverlap_dy1 ) throw( VError );
VImage global_balance( double global_balance_gamma ) throw( VError );
VImage global_balancef( double global_balancef_gamma ) throw( VError );
VImage lrmerge( VImage lrmerge_sec, int lrmerge_dx, int lrmerge_dy, int lrmerge_mwidth ) throw( VError );
VImage lrmerge1( VImage lrmerge1_sec, int lrmerge1_xr1, int lrmerge1_yr1, int lrmerge1_xs1, int lrmerge1_ys1, int lrmerge1_xr2, int lrmerge1_yr2, int lrmerge1_xs2, int lrmerge1_ys2, int lrmerge1_mwidth ) throw( VError );
VImage lrmosaic( VImage lrmosaic_sec, int lrmosaic_bandno, int lrmosaic_xr, int lrmosaic_yr, int lrmosaic_xs, int lrmosaic_ys, int lrmosaic_halfcorrelation, int lrmosaic_halfarea, int lrmosaic_balancetype, int lrmosaic_mwidth ) throw( VError );
VImage lrmosaic1( VImage lrmosaic1_sec, int lrmosaic1_bandno, int lrmosaic1_xr1, int lrmosaic1_yr1, int lrmosaic1_xs1, int lrmosaic1_ys1, int lrmosaic1_xr2, int lrmosaic1_yr2, int lrmosaic1_xs2, int lrmosaic1_ys2, int lrmosaic1_halfcorrelation, int lrmosaic1_halfarea, int lrmosaic1_balancetype, int lrmosaic1_mwidth ) throw( VError );
VImage match_linear( VImage match_linear_sec, int match_linear_xref1, int match_linear_yref1, int match_linear_xsec1, int match_linear_ysec1, int match_linear_xref2, int match_linear_yref2, int match_linear_xsec2, int match_linear_ysec2 ) throw( VError );
VImage match_linear_search( VImage match_linear_search_sec, int match_linear_search_xref1, int match_linear_search_yref1, int match_linear_search_xsec1, int match_linear_search_ysec1, int match_linear_search_xref2, int match_linear_search_yref2, int match_linear_search_xsec2, int match_linear_search_ysec2, int match_linear_search_hwindowsize, int match_linear_search_hsearchsize ) throw( VError );
double maxpos_subpel( double& maxpos_subpel_y ) throw( VError );
VImage remosaic( char* remosaic_old_str, char* remosaic_new_str ) throw( VError );
VImage tbmerge( VImage tbmerge_sec, int tbmerge_dx, int tbmerge_dy, int tbmerge_mwidth ) throw( VError );
VImage tbmerge1( VImage tbmerge1_sec, int tbmerge1_xr1, int tbmerge1_yr1, int tbmerge1_xs1, int tbmerge1_ys1, int tbmerge1_xr2, int tbmerge1_yr2, int tbmerge1_xs2, int tbmerge1_ys2, int tbmerge1_mwidth ) throw( VError );
VImage tbmosaic( VImage tbmosaic_sec, int tbmosaic_bandno, int tbmosaic_xr, int tbmosaic_yr, int tbmosaic_xs, int tbmosaic_ys, int tbmosaic_halfcorrelation, int tbmosaic_halfarea, int tbmosaic_balancetype, int tbmosaic_mwidth ) throw( VError );
VImage tbmosaic1( VImage tbmosaic1_sec, int tbmosaic1_bandno, int tbmosaic1_xr1, int tbmosaic1_yr1, int tbmosaic1_xs1, int tbmosaic1_ys1, int tbmosaic1_xr2, int tbmosaic1_yr2, int tbmosaic1_xs2, int tbmosaic1_ys2, int tbmosaic1_halfcorrelation, int tbmosaic1_halfarea, int tbmosaic1_balancetype, int tbmosaic1_mwidth ) throw( VError );
VImage align_bands();
double correl( VImage correl_sec, int correl_xref, int correl_yref, int correl_xsec, int correl_ysec, int correl_hwindowsize, int correl_hsearchsize, int& correl_x, int& correl_y );
int _find_lroverlap( VImage _find_lroverlap_sec, int _find_lroverlap_bandno, int _find_lroverlap_xr, int _find_lroverlap_yr, int _find_lroverlap_xs, int _find_lroverlap_ys, int _find_lroverlap_halfcorrelation, int _find_lroverlap_halfarea, int& _find_lroverlap_dy0, double& _find_lroverlap_scale1, double& _find_lroverlap_angle1, double& _find_lroverlap_dx1, double& _find_lroverlap_dy1 );
int _find_tboverlap( VImage _find_tboverlap_sec, int _find_tboverlap_bandno, int _find_tboverlap_xr, int _find_tboverlap_yr, int _find_tboverlap_xs, int _find_tboverlap_ys, int _find_tboverlap_halfcorrelation, int _find_tboverlap_halfarea, int& _find_tboverlap_dy0, double& _find_tboverlap_scale1, double& _find_tboverlap_angle1, double& _find_tboverlap_dx1, double& _find_tboverlap_dy1 );
VImage global_balance( double global_balance_gamma );
VImage global_balancef( double global_balancef_gamma );
VImage lrmerge( VImage lrmerge_sec, int lrmerge_dx, int lrmerge_dy, int lrmerge_mwidth );
VImage lrmerge1( VImage lrmerge1_sec, int lrmerge1_xr1, int lrmerge1_yr1, int lrmerge1_xs1, int lrmerge1_ys1, int lrmerge1_xr2, int lrmerge1_yr2, int lrmerge1_xs2, int lrmerge1_ys2, int lrmerge1_mwidth );
VImage lrmosaic( VImage lrmosaic_sec, int lrmosaic_bandno, int lrmosaic_xr, int lrmosaic_yr, int lrmosaic_xs, int lrmosaic_ys, int lrmosaic_halfcorrelation, int lrmosaic_halfarea, int lrmosaic_balancetype, int lrmosaic_mwidth );
VImage lrmosaic1( VImage lrmosaic1_sec, int lrmosaic1_bandno, int lrmosaic1_xr1, int lrmosaic1_yr1, int lrmosaic1_xs1, int lrmosaic1_ys1, int lrmosaic1_xr2, int lrmosaic1_yr2, int lrmosaic1_xs2, int lrmosaic1_ys2, int lrmosaic1_halfcorrelation, int lrmosaic1_halfarea, int lrmosaic1_balancetype, int lrmosaic1_mwidth );
VImage match_linear( VImage match_linear_sec, int match_linear_xref1, int match_linear_yref1, int match_linear_xsec1, int match_linear_ysec1, int match_linear_xref2, int match_linear_yref2, int match_linear_xsec2, int match_linear_ysec2 );
VImage match_linear_search( VImage match_linear_search_sec, int match_linear_search_xref1, int match_linear_search_yref1, int match_linear_search_xsec1, int match_linear_search_ysec1, int match_linear_search_xref2, int match_linear_search_yref2, int match_linear_search_xsec2, int match_linear_search_ysec2, int match_linear_search_hwindowsize, int match_linear_search_hsearchsize );
double maxpos_subpel( double& maxpos_subpel_y );
VImage remosaic( char* remosaic_old_str, char* remosaic_new_str );
VImage tbmerge( VImage tbmerge_sec, int tbmerge_dx, int tbmerge_dy, int tbmerge_mwidth );
VImage tbmerge1( VImage tbmerge1_sec, int tbmerge1_xr1, int tbmerge1_yr1, int tbmerge1_xs1, int tbmerge1_ys1, int tbmerge1_xr2, int tbmerge1_yr2, int tbmerge1_xs2, int tbmerge1_ys2, int tbmerge1_mwidth );
VImage tbmosaic( VImage tbmosaic_sec, int tbmosaic_bandno, int tbmosaic_xr, int tbmosaic_yr, int tbmosaic_xs, int tbmosaic_ys, int tbmosaic_halfcorrelation, int tbmosaic_halfarea, int tbmosaic_balancetype, int tbmosaic_mwidth );
VImage tbmosaic1( VImage tbmosaic1_sec, int tbmosaic1_bandno, int tbmosaic1_xr1, int tbmosaic1_yr1, int tbmosaic1_xs1, int tbmosaic1_ys1, int tbmosaic1_xr2, int tbmosaic1_yr2, int tbmosaic1_xs2, int tbmosaic1_ys2, int tbmosaic1_halfcorrelation, int tbmosaic1_halfarea, int tbmosaic1_balancetype, int tbmosaic1_mwidth );
// headers for package other
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage benchmark() throw( VError );
double benchmark2() throw( VError );
VImage benchmarkn( int benchmarkn_n ) throw( VError );
static VImage eye( int eye_xsize, int eye_ysize, double eye_factor ) throw( VError );
static VImage grey( int grey_xsize, int grey_ysize ) throw( VError );
static VImage feye( int feye_xsize, int feye_ysize, double feye_factor ) throw( VError );
static VImage fgrey( int fgrey_xsize, int fgrey_ysize ) throw( VError );
static VImage fzone( int fzone_size ) throw( VError );
static VImage make_xy( int make_xy_xsize, int make_xy_ysize ) throw( VError );
static VImage sines( int sines_xsize, int sines_ysize, double sines_horfreq, double sines_verfreq ) throw( VError );
static VImage zone( int zone_size ) throw( VError );
VImage benchmark();
double benchmark2();
VImage benchmarkn( int benchmarkn_n );
static VImage eye( int eye_xsize, int eye_ysize, double eye_factor );
static VImage grey( int grey_xsize, int grey_ysize );
static VImage feye( int feye_xsize, int feye_ysize, double feye_factor );
static VImage fgrey( int fgrey_xsize, int fgrey_ysize );
static VImage fzone( int fzone_size );
static VImage make_xy( int make_xy_xsize, int make_xy_ysize );
static VImage sines( int sines_xsize, int sines_ysize, double sines_horfreq, double sines_verfreq );
static VImage zone( int zone_size );
// headers for package resample
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage rightshift_size( int rightshift_size_xshift, int rightshift_size_yshift, int rightshift_size_band_fmt ) throw( VError );
VImage shrink( double shrink_xfac, double shrink_yfac ) throw( VError );
VImage stretch3( double stretch3_xdisp, double stretch3_ydisp ) throw( VError );
VImage affinei( char* affinei_interpolate, double affinei_a, double affinei_b, double affinei_c, double affinei_d, double affinei_dx, double affinei_dy, int affinei_x, int affinei_y, int affinei_w, int affinei_h ) throw( VError );
VImage affinei_all( char* affinei_all_interpolate, double affinei_all_a, double affinei_all_b, double affinei_all_c, double affinei_all_d, double affinei_all_dx, double affinei_all_dy ) throw( VError );
VImage rightshift_size( int rightshift_size_xshift, int rightshift_size_yshift, int rightshift_size_band_fmt );
VImage shrink( double shrink_xfac, double shrink_yfac );
VImage stretch3( double stretch3_xdisp, double stretch3_ydisp );
VImage affinei( char* affinei_interpolate, double affinei_a, double affinei_b, double affinei_c, double affinei_d, double affinei_dx, double affinei_dy, int affinei_x, int affinei_y, int affinei_w, int affinei_h );
VImage affinei_all( char* affinei_all_interpolate, double affinei_all_a, double affinei_all_b, double affinei_all_c, double affinei_all_d, double affinei_all_dx, double affinei_all_dy );
// headers for package video
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage video_test( int video_test_brightness, int video_test_error ) throw( VError );
static VImage video_v4l1( char* video_v4l1_device, int video_v4l1_channel, int video_v4l1_brightness, int video_v4l1_colour, int video_v4l1_contrast, int video_v4l1_hue, int video_v4l1_ngrabs ) throw( VError );
static VImage video_test( int video_test_brightness, int video_test_error );
static VImage video_v4l1( char* video_v4l1_device, int video_v4l1_channel, int video_v4l1_brightness, int video_v4l1_colour, int video_v4l1_contrast, int video_v4l1_hue, int video_v4l1_ngrabs );

File diff suppressed because it is too large Load Diff