This commit is contained in:
John Cupitt 2007-10-22 17:32:51 +00:00
parent 992921b012
commit a7d4136145
3 changed files with 130 additions and 12 deletions

View File

@ -1,5 +1,8 @@
// this file automatically generated from
// VIPS library 7.12.2-Tue Jul 17 23:36:09 BST 2007
// VIPS library 7.13.1-Fri Oct 19 17:37:22 BST 2007
VDMask estpar( VImage, int, int, int, double& ) throw( VError );
VImage transform( VDMask, int, int ) throw( VError );
VImage transform_search( VImage, double, int, int, int, int, VDMask&, double& ) throw( VError );
VImage abs() throw( VError );
VImage acos() throw( VError );
VImage add( VImage ) throw( VError );
@ -56,6 +59,8 @@ VImage eorimage( int ) throw( VError );
VImage eorimage( std::vector<double> ) throw( VError );
VImage shiftleft( int ) throw( VError );
VImage shiftright( int ) throw( VError );
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 );
VImage LCh2Lab() throw( VError );
VImage LCh2UCS() throw( VError );
VImage Lab2LCh() throw( VError );

View File

@ -481,11 +481,8 @@ im__dvprint( im_object obj )
im_doublevec_object *dv = obj;
int i;
for( i = 0; i < dv->n; i++ ) {
if( i > 0 )
printf( "," );
printf( "%G", dv->vec[i] );
}
for( i = 0; i < dv->n; i++ )
printf( "%G ", dv->vec[i] );
printf( "\n" );
return( 0 );
@ -575,11 +572,8 @@ im__ivprint( im_object obj )
im_intvec_object *iv = obj;
int i;
for( i = 0; i < iv->n; i++ ) {
if( i > 0 )
printf( "," );
printf( "%d", iv->vec[i] );
}
for( i = 0; i < iv->n; i++ )
printf( "%d ", iv->vec[i] );
printf( "\n" );
return( 0 );

View File

@ -1,5 +1,68 @@
// this file automatically generated from
// VIPS library 7.12.2-Tue Jul 17 23:36:09 BST 2007
// VIPS library 7.13.1-Fri Oct 19 17:37:22 BST 2007
// im_estpar: estimate transform parms
VDMask VImage::estpar( VImage dst, int order, int ipol, int wrap, double& avg_displ ) throw( VError )
{
VImage src = *this;
VDMask params;
Vargv _vec( "im_estpar" );
_vec.data(0) = src.image();
_vec.data(1) = dst.image();
((im_mask_object*) _vec.data(2))->name = (char*)"noname";
*((int*) _vec.data(3)) = order;
*((int*) _vec.data(4)) = ipol;
*((int*) _vec.data(5)) = wrap;
_vec.call();
params.embed( (DOUBLEMASK *)((im_mask_object*)_vec.data(2))->mask );
avg_displ = *((double*)_vec.data(6));
return( params );
}
// im_transform: transform an image
VImage VImage::transform( VDMask params, int ipol, int wrap ) throw( VError )
{
VImage in = *this;
VImage out;
Vargv _vec( "im_transform" );
_vec.data(0) = in.image();
_vec.data(1) = out.image();
((im_mask_object*) _vec.data(2))->mask = params.mask().dptr;
*((int*) _vec.data(3)) = ipol;
*((int*) _vec.data(4)) = wrap;
_vec.call();
return( out );
}
// im_transform_search: search for a transform
VImage VImage::transform_search( VImage dst, double error, int iterations, int order, int ipol, int wrap, VDMask& out_par, double& act_error ) throw( VError )
{
VImage src = *this;
VImage out;
Vargv _vec( "im_transform_search" );
_vec.data(0) = src.image();
_vec.data(1) = dst.image();
_vec.data(2) = out.image();
*((double*) _vec.data(3)) = error;
*((int*) _vec.data(4)) = iterations;
*((int*) _vec.data(5)) = order;
*((int*) _vec.data(6)) = ipol;
*((int*) _vec.data(7)) = wrap;
((im_mask_object*) _vec.data(8))->name = (char*)"noname";
_vec.call();
out_par.embed( (DOUBLEMASK *)((im_mask_object*)_vec.data(8))->mask );
act_error = *((double*)_vec.data(9));
return( out );
}
// im_abs: absolute value
VImage VImage::abs() throw( VError )
{
@ -973,6 +1036,62 @@ VImage VImage::shiftright( int c ) throw( VError )
return( out );
}
// im_greyc: noise-removing filter
VImage VImage::greyc( int iterations, double amplitude, double sharpness, double anisotropy, double alpha, double sigma, double dl, double da, double gauss_prec, int interpolation, int fast_approx ) throw( VError )
{
VImage src = *this;
VImage dst;
Vargv _vec( "im_greyc" );
_vec.data(0) = src.image();
_vec.data(1) = dst.image();
*((int*) _vec.data(2)) = iterations;
*((double*) _vec.data(3)) = amplitude;
*((double*) _vec.data(4)) = sharpness;
*((double*) _vec.data(5)) = anisotropy;
*((double*) _vec.data(6)) = alpha;
*((double*) _vec.data(7)) = sigma;
*((double*) _vec.data(8)) = dl;
*((double*) _vec.data(9)) = da;
*((double*) _vec.data(10)) = gauss_prec;
*((int*) _vec.data(11)) = interpolation;
*((int*) _vec.data(12)) = fast_approx;
_vec.call();
dst._ref->addref( src._ref );
return( dst );
}
// im_greyc_mask: noise-removing filter, with a mask
VImage VImage::greyc_mask( VImage mask, int iterations, double amplitude, double sharpness, double anisotropy, double alpha, double sigma, double dl, double da, double gauss_prec, int interpolation, int fast_approx ) throw( VError )
{
VImage src = *this;
VImage dst;
Vargv _vec( "im_greyc_mask" );
_vec.data(0) = src.image();
_vec.data(1) = dst.image();
_vec.data(2) = mask.image();
*((int*) _vec.data(3)) = iterations;
*((double*) _vec.data(4)) = amplitude;
*((double*) _vec.data(5)) = sharpness;
*((double*) _vec.data(6)) = anisotropy;
*((double*) _vec.data(7)) = alpha;
*((double*) _vec.data(8)) = sigma;
*((double*) _vec.data(9)) = dl;
*((double*) _vec.data(10)) = da;
*((double*) _vec.data(11)) = gauss_prec;
*((int*) _vec.data(12)) = interpolation;
*((int*) _vec.data(13)) = fast_approx;
_vec.call();
dst._ref->addref( src._ref );
dst._ref->addref( mask._ref );
return( dst );
}
// im_LCh2Lab: convert LCh to Lab
VImage VImage::LCh2Lab() throw( VError )
{