rename convf to conv_f to help overloading
This commit is contained in:
parent
89845f892e
commit
73fba1c2ea
@ -3,6 +3,9 @@
|
||||
- im_conv() / im_convf() didn't like all-zero masks
|
||||
- small updates to im_convf() from im_conv()
|
||||
- im_read_imask() produced an incorrect error message if passed a doublemask
|
||||
- rename im_convf(), im_convsepf() as _f()
|
||||
- vips.c drops _f suffix when overloading
|
||||
- regenerate C++ binding, don't make deprecated package
|
||||
|
||||
9/11/09 started 7.20.0
|
||||
- removed vips-7.x.spec.in, shouldn't really have this in SVN
|
||||
|
@ -5,9 +5,9 @@ libconvolution_la_SOURCES = \
|
||||
im_addgnoise.c \
|
||||
im_compass.c \
|
||||
im_conv.c \
|
||||
im_convf.c \
|
||||
im_conv_f.c \
|
||||
im_convsep.c \
|
||||
im_convsepf.c \
|
||||
im_convsep_f.c \
|
||||
im_contrast_surface.c \
|
||||
im_fastcor.c \
|
||||
im_gradcor.c \
|
||||
|
@ -197,23 +197,23 @@ static im_function conv_desc = {
|
||||
conv_imask /* Arg list */
|
||||
};
|
||||
|
||||
/* Call im_convf via arg vector.
|
||||
/* Call im_conv_f via arg vector.
|
||||
*/
|
||||
static int
|
||||
convf_vec( im_object *argv )
|
||||
conv_f_vec( im_object *argv )
|
||||
{
|
||||
im_mask_object *mo = argv[2];
|
||||
|
||||
return( im_convf( argv[0], argv[1], mo->mask ) );
|
||||
return( im_conv_f( argv[0], argv[1], mo->mask ) );
|
||||
}
|
||||
|
||||
/* Description of im_convf.
|
||||
/* Description of im_conv_f.
|
||||
*/
|
||||
static im_function convf_desc = {
|
||||
"im_convf", /* Name */
|
||||
static im_function conv_f_desc = {
|
||||
"im_conv_f", /* Name */
|
||||
"convolve, with DOUBLEMASK",
|
||||
IM_FN_TRANSFORM | IM_FN_PIO, /* Flags */
|
||||
convf_vec, /* Dispatch function */
|
||||
conv_f_vec, /* Dispatch function */
|
||||
IM_NUMBER( conv_dmask ), /* Size of arg list */
|
||||
conv_dmask /* Arg list */
|
||||
};
|
||||
@ -239,23 +239,23 @@ static im_function convsep_desc = {
|
||||
conv_imask /* Arg list */
|
||||
};
|
||||
|
||||
/* Call im_convsepf via arg vector.
|
||||
/* Call im_convsep_f via arg vector.
|
||||
*/
|
||||
static int
|
||||
convsepf_vec( im_object *argv )
|
||||
convsep_f_vec( im_object *argv )
|
||||
{
|
||||
im_mask_object *mo = argv[2];
|
||||
|
||||
return( im_convsepf( argv[0], argv[1], mo->mask ) );
|
||||
return( im_convsep_f( argv[0], argv[1], mo->mask ) );
|
||||
}
|
||||
|
||||
/* Description of im_convsepf.
|
||||
/* Description of im_convsep_f.
|
||||
*/
|
||||
static im_function convsepf_desc = {
|
||||
"im_convsepf", /* Name */
|
||||
static im_function convsep_f_desc = {
|
||||
"im_convsep_f", /* Name */
|
||||
"seperable convolution, with DOUBLEMASK",
|
||||
IM_FN_PIO | IM_FN_TRANSFORM, /* Flags */
|
||||
convsepf_vec, /* Dispatch function */
|
||||
convsep_f_vec, /* Dispatch function */
|
||||
IM_NUMBER( conv_dmask ), /* Size of arg list */
|
||||
conv_dmask /* Arg list */
|
||||
};
|
||||
@ -403,9 +403,9 @@ static im_function *convol_list[] = {
|
||||
&compass_desc,
|
||||
&contrast_surface_desc,
|
||||
&conv_desc,
|
||||
&convf_desc,
|
||||
&conv_f_desc,
|
||||
&convsep_desc,
|
||||
&convsepf_desc,
|
||||
&convsep_f_desc,
|
||||
&fastcor_desc,
|
||||
&gradcor_desc,
|
||||
&gradient_desc,
|
||||
|
@ -3,7 +3,7 @@
|
||||
* @(#) except IM_BANDFMT_DOUBLE, which gives IM_BANDFMT_DOUBLE.
|
||||
* @(#)
|
||||
* @(#) int
|
||||
* @(#) im_convf( in, out, mask )
|
||||
* @(#) im_conv_f( in, out, mask )
|
||||
* @(#) IMAGE *in, *out;
|
||||
* @(#) DOUBLEMASK *mask;
|
||||
* @(#)
|
||||
@ -40,6 +40,9 @@
|
||||
* - tiny speedups and cleanups
|
||||
* - add restrict, though it doesn't seem to help gcc
|
||||
* - add mask-all-zero check
|
||||
* 13/11/09
|
||||
* - rename as im_conv_f() to make it easier to vips.c to make the
|
||||
* overloaded version
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -309,7 +312,7 @@ conv_gen( REGION *or, void *vseq, void *a, void *b )
|
||||
}
|
||||
|
||||
int
|
||||
im_convf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
im_conv_f_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
{
|
||||
Conv *conv;
|
||||
|
||||
@ -338,7 +341,7 @@ im_convf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
out->Xsize -= mask->xsize - 1;
|
||||
out->Ysize -= mask->ysize - 1;
|
||||
if( out->Xsize <= 0 || out->Ysize <= 0 ) {
|
||||
im_error( "im_convf", "%s", _( "image too small for mask" ) );
|
||||
im_error( "im_conv_f", "%s", _( "image too small for mask" ) );
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
@ -360,15 +363,15 @@ im_convf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
/* The above, with a border to make out the same size as in.
|
||||
*/
|
||||
int
|
||||
im_convf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
im_conv_f( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
{
|
||||
IMAGE *t1 = im_open_local( out, "im_convf intermediate", "p" );
|
||||
IMAGE *t1 = im_open_local( out, "im_conv_f intermediate", "p" );
|
||||
|
||||
if( !t1 ||
|
||||
im_embed( in, t1, 1, mask->xsize / 2, mask->ysize / 2,
|
||||
in->Xsize + mask->xsize - 1,
|
||||
in->Ysize + mask->ysize - 1 ) ||
|
||||
im_convf_raw( t1, out, mask ) )
|
||||
im_conv_f_raw( t1, out, mask ) )
|
||||
return( -1 );
|
||||
|
||||
out->Xoffset = 0;
|
@ -3,7 +3,7 @@
|
||||
* @(#) except IM_BANDFMT_DOUBLE, which gives IM_BANDFMT_DOUBLE.
|
||||
* @(#) Separable mask of sizes 1xN or Nx1
|
||||
* @(#)
|
||||
* @(#) int im_convsepf( in, out, mask )
|
||||
* @(#) int im_convsep_f( in, out, mask )
|
||||
* @(#) IMAGE *in, *out;
|
||||
* @(#) DOUBLEMASK *mask; details in mask.h
|
||||
* @(#)
|
||||
@ -279,25 +279,25 @@ conv_gen( REGION *or, void *vseq, void *a, void *b )
|
||||
}
|
||||
|
||||
int
|
||||
im_convsepf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
im_convsep_f_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
{
|
||||
Conv *conv;
|
||||
|
||||
/* Check parameters.
|
||||
*/
|
||||
if( !in || in->Coding != IM_CODING_NONE || im_iscomplex( in ) ) {
|
||||
im_error( "im_convsepf",
|
||||
im_error( "im_convsep_f",
|
||||
"%s", _( "non-complex uncoded only" ) );
|
||||
return( -1 );
|
||||
}
|
||||
if( !mask || mask->xsize > 1000 || mask->ysize > 1000 ||
|
||||
mask->xsize <= 0 || mask->ysize <= 0 || !mask->coeff ||
|
||||
mask->scale == 0 ) {
|
||||
im_error( "im_convsepf", "%s", _( "bad mask parameters" ) );
|
||||
im_error( "im_convsep_f", "%s", _( "bad mask parameters" ) );
|
||||
return( -1 );
|
||||
}
|
||||
if( mask->xsize != 1 && mask->ysize != 1 ) {
|
||||
im_error( "im_convsepf",
|
||||
im_error( "im_convsep_f",
|
||||
"%s", _( "expect 1xN or Nx1 input mask" ) );
|
||||
return( -1 );
|
||||
}
|
||||
@ -316,7 +316,7 @@ im_convsepf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
out->Xsize -= conv->size - 1;
|
||||
out->Ysize -= conv->size - 1;
|
||||
if( out->Xsize <= 0 || out->Ysize <= 0 ) {
|
||||
im_error( "im_convsepf",
|
||||
im_error( "im_convsep_f",
|
||||
"%s", _( "image too small for mask" ) );
|
||||
return( -1 );
|
||||
}
|
||||
@ -336,16 +336,16 @@ im_convsepf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
/* The above, with a border to make out the same size as in.
|
||||
*/
|
||||
int
|
||||
im_convsepf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
im_convsep_f( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
{
|
||||
IMAGE *t1 = im_open_local( out, "im_convsepf intermediate", "p" );
|
||||
IMAGE *t1 = im_open_local( out, "im_convsep_f intermediate", "p" );
|
||||
int size = mask->xsize * mask->ysize;
|
||||
|
||||
if( !t1 ||
|
||||
im_embed( in, t1, 1, size / 2, size / 2,
|
||||
in->Xsize + size - 1,
|
||||
in->Ysize + size - 1 ) ||
|
||||
im_convsepf_raw( t1, out, mask ) )
|
||||
im_convsep_f_raw( t1, out, mask ) )
|
||||
return( -1 );
|
||||
|
||||
out->Xoffset = 0;
|
@ -1168,6 +1168,48 @@ static im_function dilate_raw_desc = {
|
||||
erode_args /* Arg list */
|
||||
};
|
||||
|
||||
/* Call im_convsepf via arg vector.
|
||||
*/
|
||||
static int
|
||||
convsepf_vec( im_object *argv )
|
||||
{
|
||||
im_mask_object *mo = argv[2];
|
||||
|
||||
return( im_convsepf( argv[0], argv[1], mo->mask ) );
|
||||
}
|
||||
|
||||
/* Description of im_convsepf.
|
||||
*/
|
||||
static im_function convsepf_desc = {
|
||||
"im_convsepf", /* Name */
|
||||
"seperable convolution, with DOUBLEMASK",
|
||||
IM_FN_PIO | IM_FN_TRANSFORM, /* Flags */
|
||||
convsepf_vec, /* Dispatch function */
|
||||
IM_NUMBER( conv_dmask ), /* Size of arg list */
|
||||
conv_dmask /* Arg list */
|
||||
};
|
||||
|
||||
/* Call im_convf via arg vector.
|
||||
*/
|
||||
static int
|
||||
convf_vec( im_object *argv )
|
||||
{
|
||||
im_mask_object *mo = argv[2];
|
||||
|
||||
return( im_convf( argv[0], argv[1], mo->mask ) );
|
||||
}
|
||||
|
||||
/* Description of im_convf.
|
||||
*/
|
||||
static im_function convf_desc = {
|
||||
"im_convf", /* Name */
|
||||
"convolve, with DOUBLEMASK",
|
||||
IM_FN_TRANSFORM | IM_FN_PIO, /* Flags */
|
||||
convf_vec, /* Dispatch function */
|
||||
IM_NUMBER( conv_dmask ), /* Size of arg list */
|
||||
conv_dmask /* Arg list */
|
||||
};
|
||||
|
||||
/* Package up all these functions.
|
||||
*/
|
||||
static im_function *deprecated_list[] = {
|
||||
@ -1186,6 +1228,8 @@ static im_function *deprecated_list[] = {
|
||||
&clip2f_desc,
|
||||
&clip2i_desc,
|
||||
&convsub_desc,
|
||||
&convf_desc,
|
||||
&convsepf_desc,
|
||||
&clip2s_desc,
|
||||
&clip2ui_desc,
|
||||
&insertplaceset_desc,
|
||||
|
@ -232,3 +232,27 @@ im_segment( IMAGE *test, IMAGE *mask, int *segments )
|
||||
{
|
||||
return( im_label_regions( test, mask, segments ) );
|
||||
}
|
||||
|
||||
int
|
||||
im_convf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
{
|
||||
return( im_conv_f( in, out, mask ) );
|
||||
}
|
||||
|
||||
int
|
||||
im_convf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
{
|
||||
return( im_conv_f_raw( in, out, mask ) );
|
||||
}
|
||||
|
||||
int
|
||||
im_convsepf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
{
|
||||
return( im_convsep_f( in, out, mask ) );
|
||||
}
|
||||
|
||||
int
|
||||
im_convsepf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask )
|
||||
{
|
||||
return( im_convsep_f_raw( in, out, mask ) );
|
||||
}
|
||||
|
@ -38,9 +38,9 @@ extern "C" {
|
||||
#endif /*__cplusplus*/
|
||||
|
||||
int im_conv( IMAGE *in, IMAGE *out, INTMASK *mask );
|
||||
int im_convf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
|
||||
int im_conv_f( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
|
||||
int im_convsep( IMAGE *in, IMAGE *out, INTMASK *mask );
|
||||
int im_convsepf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
|
||||
int im_convsep_f( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
|
||||
|
||||
int im_compass( IMAGE *in, IMAGE *out, INTMASK *mask );
|
||||
int im_gradient( IMAGE *in, IMAGE *out, INTMASK *mask );
|
||||
|
@ -352,6 +352,8 @@ int im_resize_linear( IMAGE *, IMAGE *, int, int );
|
||||
int im_line( IMAGE *, int, int, int, int, int );
|
||||
int im_segment( IMAGE *test, IMAGE *mask, int *segments );
|
||||
|
||||
int im_convf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
|
||||
int im_convsepf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
|
||||
int im_conv_raw( IMAGE *in, IMAGE *out, INTMASK *mask );
|
||||
int im_convf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
|
||||
int im_convsep_raw( IMAGE *in, IMAGE *out, INTMASK *mask );
|
||||
|
@ -21,7 +21,15 @@ libvipsCC_la_LDFLAGS = \
|
||||
libvipsCC_la_LIBADD = \
|
||||
$(top_builddir)/libvips/libvips.la @VIPS_LIBS@
|
||||
|
||||
.PHONEY:
|
||||
vipsc++.cc:
|
||||
vips --cppc all > vipsc++.cc
|
||||
packages=`vips --list packages | \
|
||||
awk '{if($$1!="deprecated") print $$1}'` ; \
|
||||
echo > vipsc++.cc ; \
|
||||
for name in $$packages; do \
|
||||
echo "// bodies for package $$name" >> vipsc++.cc ; \
|
||||
vips --cppc $$name >> vipsc++.cc ; \
|
||||
echo >> vipsc++.cc ; \
|
||||
done
|
||||
|
||||
EXTRA_DIST = vipsc++.cc
|
||||
|
@ -7,5 +7,13 @@ pkginclude_HEADERS = \
|
||||
vips \
|
||||
vipsc++.h
|
||||
|
||||
.PHONEY:
|
||||
vipsc++.h:
|
||||
vips --cpph all > vipsc++.h
|
||||
packages=`vips --list packages | \
|
||||
awk '{if($$1!="deprecated") print $$1}'` ; \
|
||||
echo > vipsc++.h ; \
|
||||
for name in $$packages; do \
|
||||
echo "// headers for package $$name" >> vipsc++.h ; \
|
||||
vips --cpph $$name >> vipsc++.h ; \
|
||||
echo >> vipsc++.h ; \
|
||||
done
|
||||
|
@ -1,5 +1,7 @@
|
||||
|
||||
// headers for package arithmetic
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.19.0-Mon Jun 29 15:52:56 BST 2009
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage abs() throw( VError );
|
||||
VImage acos() throw( VError );
|
||||
VImage add( VImage ) throw( VError );
|
||||
@ -9,7 +11,6 @@ double avg() throw( VError );
|
||||
double point_bilinear( double, double, int ) throw( VError );
|
||||
VImage bandmean() throw( VError );
|
||||
VImage ceil() throw( VError );
|
||||
VImage cmulnorm( VImage ) throw( VError );
|
||||
VImage cos() throw( VError );
|
||||
VImage cross_phase( VImage ) throw( VError );
|
||||
double deviate() throw( VError );
|
||||
@ -18,14 +19,11 @@ VImage exp10() throw( VError );
|
||||
VImage expn( double ) throw( VError );
|
||||
VImage expn( std::vector<double> ) throw( VError );
|
||||
VImage exp() throw( VError );
|
||||
VImage fav4( VImage, VImage, VImage ) throw( VError );
|
||||
VImage floor() throw( VError );
|
||||
VImage gadd( double, double, VImage, double ) throw( VError );
|
||||
VImage invert() throw( VError );
|
||||
VImage lin( double, double ) throw( VError );
|
||||
static VImage linreg( std::vector<VImage>, std::vector<double> ) throw( VError );
|
||||
VImage lin( std::vector<double>, std::vector<double> ) throw( VError );
|
||||
VImage litecor( VImage, int, double ) throw( VError );
|
||||
VImage log10() throw( VError );
|
||||
VImage log() throw( VError );
|
||||
double max() throw( VError );
|
||||
@ -37,6 +35,7 @@ std::complex<double> minpos() throw( VError );
|
||||
VImage multiply( VImage ) throw( VError );
|
||||
VImage pow( double ) throw( VError );
|
||||
VImage pow( std::vector<double> ) throw( VError );
|
||||
VImage recomb( VDMask ) throw( VError );
|
||||
VImage remainder( VImage ) throw( VError );
|
||||
VImage remainder( double ) throw( VError );
|
||||
VImage remainder( std::vector<double> ) throw( VError );
|
||||
@ -46,6 +45,10 @@ VImage sin() throw( VError );
|
||||
VDMask stats() throw( VError );
|
||||
VImage subtract( VImage ) throw( VError );
|
||||
VImage tan() throw( VError );
|
||||
|
||||
// headers for package boolean
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage andimage( VImage ) throw( VError );
|
||||
VImage andimage( int ) throw( VError );
|
||||
VImage andimage( std::vector<double> ) throw( VError );
|
||||
@ -55,10 +58,20 @@ VImage orimage( std::vector<double> ) throw( VError );
|
||||
VImage eorimage( VImage ) throw( VError );
|
||||
VImage eorimage( int ) throw( VError );
|
||||
VImage eorimage( std::vector<double> ) throw( VError );
|
||||
VImage shiftleft( std::vector<double> ) throw( VError );
|
||||
VImage shiftleft( int ) throw( VError );
|
||||
VImage shiftright( std::vector<double> ) throw( VError );
|
||||
VImage shiftright( int ) throw( VError );
|
||||
|
||||
// headers for package cimg
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage greyc( int, double, double, double, double, double, double, double, double, int, int ) throw( VError );
|
||||
VImage greyc_mask( VImage, int, double, double, double, double, double, double, double, double, int, int ) throw( VError );
|
||||
|
||||
// headers for package colour
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage LCh2Lab() throw( VError );
|
||||
VImage LCh2UCS() throw( VError );
|
||||
VImage Lab2LCh() throw( VError );
|
||||
@ -94,7 +107,6 @@ VImage disp2Lab( VDisplay ) throw( VError );
|
||||
VImage disp2XYZ( VDisplay ) throw( VError );
|
||||
VImage float2rad() throw( VError );
|
||||
VImage icc_ac2rc( char* ) throw( VError );
|
||||
VImage icc_export( char*, int ) throw( VError );
|
||||
VImage icc_export_depth( int, char*, int ) throw( VError );
|
||||
VImage icc_import( char*, int ) throw( VError );
|
||||
VImage icc_import_embedded( int ) throw( VError );
|
||||
@ -102,6 +114,12 @@ VImage icc_transform( char*, char*, int ) throw( VError );
|
||||
VImage lab_morph( VDMask, double, double, double, double ) throw( VError );
|
||||
VImage rad2float() throw( VError );
|
||||
VImage sRGB2XYZ() throw( VError );
|
||||
|
||||
// headers for package conversion
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage addgnoise( double ) throw( VError );
|
||||
static VImage gaussnoise( int, int, double, double ) throw( VError );
|
||||
VImage bandjoin( VImage ) throw( VError );
|
||||
static VImage black( int, int, int ) throw( VError );
|
||||
VImage c2amph() throw( VError );
|
||||
@ -109,21 +127,13 @@ VImage c2imag() throw( VError );
|
||||
VImage c2ps() throw( VError );
|
||||
VImage c2real() throw( VError );
|
||||
VImage c2rect() throw( VError );
|
||||
VImage clip2c() throw( VError );
|
||||
VImage clip2cm() throw( VError );
|
||||
VImage clip2d() throw( VError );
|
||||
VImage clip2dcm() throw( VError );
|
||||
VImage clip2f() throw( VError );
|
||||
VImage clip2fmt( int ) throw( VError );
|
||||
VImage clip2i() throw( VError );
|
||||
VImage clip2s() throw( VError );
|
||||
VImage clip2ui() throw( VError );
|
||||
VImage clip2us() throw( VError );
|
||||
VImage clip() throw( VError );
|
||||
VImage clip2fmt( int ) throw( VError );
|
||||
VImage copy() throw( VError );
|
||||
VImage copy_file() throw( VError );
|
||||
VImage copy_morph( int, int, int ) throw( VError );
|
||||
VImage copy_swap() throw( VError );
|
||||
VImage copy_set( int, double, double, int, int ) throw( VError );
|
||||
VImage copy_( int, double, double, int, int ) throw( VError );
|
||||
VImage extract_area( int, int, int, int ) throw( VError );
|
||||
VImage extract_areabands( int, int, int, int, int, int ) throw( VError );
|
||||
VImage extract_band( int ) throw( VError );
|
||||
@ -135,12 +145,13 @@ VImage flipver() throw( VError );
|
||||
static VImage gbandjoin( std::vector<VImage> ) throw( VError );
|
||||
VImage grid( int, int, int ) throw( VError );
|
||||
VImage insert( VImage, int, int ) throw( VError );
|
||||
VImage insert( VImage, std::vector<int>, std::vector<int> ) throw( VError );
|
||||
VImage insert_noexpand( VImage, int, int ) throw( VError );
|
||||
VImage embed( int, int, int, int, int ) throw( VError );
|
||||
VImage lrjoin( VImage ) throw( VError );
|
||||
static VImage mask2vips( VDMask ) throw( VError );
|
||||
VImage msb() throw( VError );
|
||||
VImage msb_band( int ) throw( VError );
|
||||
VImage recomb( VDMask ) throw( VError );
|
||||
VImage replicate( int, int ) throw( VError );
|
||||
VImage ri2c( VImage ) throw( VError );
|
||||
VImage rot180() throw( VError );
|
||||
@ -148,52 +159,35 @@ VImage rot270() throw( VError );
|
||||
VImage rot90() throw( VError );
|
||||
VImage scale() throw( VError );
|
||||
VImage scaleps() throw( VError );
|
||||
VImage rightshift_size( int, int, int ) throw( VError );
|
||||
VImage slice( double, double ) throw( VError );
|
||||
VImage subsample( int, int ) throw( VError );
|
||||
char* system( char* ) throw( VError );
|
||||
VImage tbjoin( VImage ) throw( VError );
|
||||
static VImage text( char*, char*, int, int, int ) throw( VError );
|
||||
VImage thresh( double ) throw( VError );
|
||||
VDMask vips2mask() throw( VError );
|
||||
VImage wrap( int, int ) throw( VError );
|
||||
VImage zoom( int, int ) throw( VError );
|
||||
VImage addgnoise( double ) throw( VError );
|
||||
|
||||
// headers for package convolution
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage compass( VIMask ) throw( VError );
|
||||
VImage contrast_surface( int, int ) throw( VError );
|
||||
VImage contrast_surface_raw( int, int ) throw( VError );
|
||||
VImage conv( VIMask ) throw( VError );
|
||||
VImage conv_raw( VIMask ) throw( VError );
|
||||
VImage convf( VDMask ) throw( VError );
|
||||
VImage convf_raw( VDMask ) throw( VError );
|
||||
VImage conv( VDMask ) throw( VError );
|
||||
VImage convsep( VIMask ) throw( VError );
|
||||
VImage convsep_raw( VIMask ) throw( VError );
|
||||
VImage convsepf( VDMask ) throw( VError );
|
||||
VImage convsepf_raw( VDMask ) throw( VError );
|
||||
VImage convsub( VIMask, int, int ) throw( VError );
|
||||
VImage embed( int, int, int, int, int ) throw( VError );
|
||||
VImage convsep( VDMask ) throw( VError );
|
||||
VImage fastcor( VImage ) throw( VError );
|
||||
VImage fastcor_raw( VImage ) throw( VError );
|
||||
static VImage gaussnoise( int, int, double, double ) throw( VError );
|
||||
VImage gradcor( VImage ) throw( VError );
|
||||
VImage gradient( VIMask ) throw( VError );
|
||||
VImage grad_x() throw( VError );
|
||||
VImage grad_y() throw( VError );
|
||||
VImage gradcor( VImage ) throw( VError );
|
||||
VImage gradcor_raw( VImage ) throw( VError );
|
||||
VImage gradient( VIMask ) throw( VError );
|
||||
static VImage rank_image( std::vector<VImage>, int ) throw( VError );
|
||||
VImage lindetect( VIMask ) throw( VError );
|
||||
static VImage maxvalue( std::vector<VImage> ) throw( VError );
|
||||
int mpercent( double ) throw( VError );
|
||||
VImage phasecor_fft( VImage ) throw( VError );
|
||||
VImage rank( int, int, int ) throw( VError );
|
||||
VImage rank_raw( int, int, int ) throw( VError );
|
||||
VImage resize_linear( int, int ) throw( VError );
|
||||
VImage sharpen( int, double, double, double, double, double ) throw( VError );
|
||||
VImage shrink( double, double ) throw( VError );
|
||||
VImage spcor( VImage ) throw( VError );
|
||||
VImage spcor_raw( VImage ) throw( VError );
|
||||
VImage stretch3( double, double ) throw( VError );
|
||||
VImage zerox( int ) throw( VError );
|
||||
|
||||
// headers for package format
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
static VImage csv2vips( char* ) throw( VError );
|
||||
static VImage jpeg2vips( char* ) throw( VError );
|
||||
static VImage magick2vips( char* ) throw( VError );
|
||||
@ -208,6 +202,10 @@ void vips2mimejpeg( int ) throw( VError );
|
||||
void vips2png( char* ) throw( VError );
|
||||
void vips2ppm( char* ) throw( VError );
|
||||
void vips2tiff( char* ) throw( VError );
|
||||
|
||||
// headers for package freq_filt
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
static VImage create_fmask( int, int, int, double, double, double, double, double ) throw( VError );
|
||||
VImage disp_ps() throw( VError );
|
||||
VImage flt_image_freq( int, double, double, double, double, double ) throw( VError );
|
||||
@ -216,12 +214,18 @@ VImage freqflt( VImage ) throw( VError );
|
||||
VImage fwfft() throw( VError );
|
||||
VImage rotquad() throw( VError );
|
||||
VImage invfft() throw( VError );
|
||||
VImage phasecor_fft( VImage ) throw( VError );
|
||||
VImage invfftr() throw( VError );
|
||||
|
||||
// headers for package histograms_lut
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage gammacorrect( double ) throw( VError );
|
||||
VImage heq( int ) throw( VError );
|
||||
VImage hist( int ) throw( VError );
|
||||
VImage histcum() throw( VError );
|
||||
VImage histeq() throw( VError );
|
||||
VImage hist_indexed( VImage ) throw( VError );
|
||||
VImage histgr( int ) throw( VError );
|
||||
VImage histnD( int ) throw( VError );
|
||||
VImage histnorm() throw( VError );
|
||||
@ -232,34 +236,59 @@ static VImage identity( int ) throw( VError );
|
||||
static VImage identity_ushort( int, int ) throw( VError );
|
||||
int ismonotonic() throw( VError );
|
||||
VImage lhisteq( int, int ) throw( VError );
|
||||
VImage lhisteq_raw( int, int ) throw( VError );
|
||||
int mpercent( double ) throw( VError );
|
||||
static VImage invertlut( VDMask, int ) throw( VError );
|
||||
static VImage buildlut( VDMask ) throw( VError );
|
||||
VImage maplut( VImage ) throw( VError );
|
||||
VImage project( VImage& ) throw( VError );
|
||||
VImage stdif( double, double, double, double, int, int ) throw( VError );
|
||||
VImage stdif_raw( double, double, double, double, int, int ) throw( VError );
|
||||
VImage tone_analyse( double, double, double, double, double, double ) throw( VError );
|
||||
static VImage tone_build( double, double, double, double, double, double, double, double ) throw( VError );
|
||||
static VImage tone_build_range( int, int, double, double, double, double, double, double, double, double ) throw( VError );
|
||||
VImage tone_map( VImage ) throw( VError );
|
||||
|
||||
// headers for package inplace
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
void circle( int, int, int, int ) throw( VError );
|
||||
VImage flood_blob_copy( int, int, std::vector<double> ) throw( VError );
|
||||
VImage flood_other_copy( VImage, int, int, int ) throw( VError );
|
||||
void insertplace( VImage, int, int ) throw( VError );
|
||||
void line( int, int, int, int, int ) throw( VError );
|
||||
VImage lineset( VImage, VImage, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int> ) throw( VError );
|
||||
VImage line( VImage, VImage, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int> ) throw( VError );
|
||||
|
||||
// headers for package iofuncs
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
static VImage binfile( char*, int, int, int, int ) throw( VError );
|
||||
VImage cache( int, int, int ) throw( VError );
|
||||
char* getext() throw( VError );
|
||||
int header_get_typeof( char* ) throw( VError );
|
||||
int header_int( char* ) throw( VError );
|
||||
double header_double( char* ) throw( VError );
|
||||
char* header_string( char* ) throw( VError );
|
||||
char* history_get() throw( VError );
|
||||
void printdesc() throw( VError );
|
||||
|
||||
// headers for package mask
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
|
||||
// headers for package morphology
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
double cntlines( int ) throw( VError );
|
||||
VImage dilate( VIMask ) throw( VError );
|
||||
VImage dilate_raw( VIMask ) throw( VError );
|
||||
VImage rank( int, int, int ) throw( VError );
|
||||
static VImage rank_image( std::vector<VImage>, int ) throw( VError );
|
||||
static VImage maxvalue( std::vector<VImage> ) throw( VError );
|
||||
VImage label_regions( int& ) throw( VError );
|
||||
VImage zerox( int ) throw( VError );
|
||||
VImage erode( VIMask ) throw( VError );
|
||||
VImage erode_raw( VIMask ) throw( VError );
|
||||
VImage profile( int ) throw( VError );
|
||||
|
||||
// headers for package mosaicing
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage align_bands() throw( VError );
|
||||
double correl( VImage, int, int, int, int, int, int, int&, int& ) throw( VError );
|
||||
int _find_lroverlap( VImage, int, int, int, int, int, int, int, int&, double&, double&, double&, double& ) throw( VError );
|
||||
@ -278,6 +307,10 @@ VImage tbmerge( VImage, int, int, int ) throw( VError );
|
||||
VImage tbmerge1( VImage, int, int, int, int, int, int, int, int, int ) throw( VError );
|
||||
VImage tbmosaic( VImage, int, int, int, int, int, int, int, int, int ) throw( VError );
|
||||
VImage tbmosaic1( VImage, int, int, int, int, int, int, int, int, int, int, int, int, int ) throw( VError );
|
||||
|
||||
// headers for package other
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage benchmark() throw( VError );
|
||||
double benchmark2() throw( VError );
|
||||
VImage benchmarkn( int ) throw( VError );
|
||||
@ -288,6 +321,10 @@ static VImage fgrey( int, int ) throw( VError );
|
||||
static VImage fzone( int ) throw( VError );
|
||||
static VImage make_xy( int, int ) throw( VError );
|
||||
static VImage zone( int ) throw( VError );
|
||||
|
||||
// headers for package relational
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage blend( VImage, VImage ) throw( VError );
|
||||
VImage equal( VImage ) throw( VError );
|
||||
VImage equal( std::vector<double> ) throw( VError );
|
||||
@ -308,8 +345,17 @@ VImage moreeq( double ) throw( VError );
|
||||
VImage notequal( VImage ) throw( VError );
|
||||
VImage notequal( std::vector<double> ) throw( VError );
|
||||
VImage notequal( double ) throw( VError );
|
||||
VImage affine( double, double, double, double, double, double, int, int, int, int ) throw( VError );
|
||||
VImage similarity_area( double, double, double, double, int, int, int, int ) throw( VError );
|
||||
VImage similarity( double, double, double, double ) throw( VError );
|
||||
|
||||
// headers for package resample
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
VImage rightshift_size( int, int, int ) throw( VError );
|
||||
VImage shrink( double, double ) throw( VError );
|
||||
VImage stretch3( double, double ) throw( VError );
|
||||
|
||||
// headers for package video
|
||||
// this file automatically generated from
|
||||
// VIPS library 7.20.1-Fri Nov 13 11:00:09 GMT 2009
|
||||
static VImage video_test( int, int ) throw( VError );
|
||||
static VImage video_v4l1( char*, int, int, int, int, int, int ) throw( VError );
|
||||
|
||||
|
1263
libvipsCC/vipsc++.cc
1263
libvipsCC/vipsc++.cc
File diff suppressed because it is too large
Load Diff
@ -30,6 +30,8 @@
|
||||
* - add --list interpolators
|
||||
* 9/2/09
|
||||
* - and now we just have --list packages/classes/package-name
|
||||
* 13/11/09
|
||||
* - drop _f postfixes, drop many postfixes
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -442,38 +444,48 @@ find_ioargs( im_function *fn, int *ia, int *oa )
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
drop_postfix( char *str, const char *postfix )
|
||||
{
|
||||
if( ispostfix( postfix, str ) ) {
|
||||
str[strlen( str ) - strlen( postfix )] = '\0';
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
/* Turn a VIPS name into a C++ name. Eg. im_lintra_vec becomes lin.
|
||||
*/
|
||||
static void
|
||||
c2cpp_name( const char *in, char *out )
|
||||
{
|
||||
/* chop off "im_" prefix.
|
||||
static const char *postfix[] = {
|
||||
"_vec",
|
||||
"const",
|
||||
"tra",
|
||||
"set",
|
||||
"_f"
|
||||
};
|
||||
|
||||
int i;
|
||||
gboolean changed;
|
||||
|
||||
/* Copy, chopping off "im_" prefix.
|
||||
*/
|
||||
if( isprefix( "im_", in ) )
|
||||
strcpy( out, in + 3 );
|
||||
else
|
||||
strcpy( out, in );
|
||||
|
||||
/* Drop "_vec" postfix (eg. so im_lintra_vec becomes lintra). We rely
|
||||
* on overloading to distinguish conflicts.
|
||||
/* Repeatedly drop postfixes while we can.
|
||||
*/
|
||||
if( ispostfix( "_vec", out ) )
|
||||
out[strlen( out ) - 4] = '\0';
|
||||
|
||||
/* Drop "const" postfix (eg. so im_eorimageconst becomes eorimage).
|
||||
*/
|
||||
if( ispostfix( "const", out ) )
|
||||
out[strlen( out ) - 5] = '\0';
|
||||
|
||||
/* Drop "tra" postfix (eg. so im_costra becomes cos).
|
||||
*/
|
||||
if( ispostfix( "tra", out ) )
|
||||
out[strlen( out ) - 3] = '\0';
|
||||
|
||||
/* Drop "set" postfix (eg. so im_insertset becomes insert).
|
||||
*/
|
||||
if( ispostfix( "set", out ) )
|
||||
out[strlen( out ) - 3] = '\0';
|
||||
do {
|
||||
changed = FALSE;
|
||||
for( i = 0; i < IM_NUMBER( postfix ); i++ )
|
||||
changed |= drop_postfix( out, postfix[i] );
|
||||
} while( changed );
|
||||
}
|
||||
|
||||
/* Print prototype for a function (ie. will be followed by code).
|
||||
|
Loading…
Reference in New Issue
Block a user