diff --git a/libvipsCC/Makefile.am b/libvipsCC/Makefile.am index 816e663c..026c4f07 100644 --- a/libvipsCC/Makefile.am +++ b/libvipsCC/Makefile.am @@ -26,12 +26,12 @@ libvipsCC_la_LIBADD = \ # to not generate the wrappers for deprecated functions .PHONEY: vipsc++.cc: - packages=`vips --list packages | \ + packages=`vips list packages | \ awk '{print $$1}'` ; \ echo > vipsc++.cc ; \ for name in $$packages; do \ echo "// bodies for package $$name" >> vipsc++.cc ; \ - vips --cppc $$name >> vipsc++.cc ; \ + vips cppc $$name >> vipsc++.cc ; \ echo >> vipsc++.cc ; \ done diff --git a/libvipsCC/include/vips/Makefile.am b/libvipsCC/include/vips/Makefile.am index 531e2b64..c802070f 100644 --- a/libvipsCC/include/vips/Makefile.am +++ b/libvipsCC/include/vips/Makefile.am @@ -12,11 +12,11 @@ pkginclude_HEADERS = \ # to not generate the wrappers for deprecated functions .PHONEY: vipsc++.h: - packages=`vips --list packages | \ + packages=`vips list packages | \ awk '{print $$1}'` ; \ echo > vipsc++.h ; \ for name in $$packages; do \ echo "// headers for package $$name" >> vipsc++.h ; \ - vips --cpph $$name >> vipsc++.h ; \ + vips cpph $$name >> vipsc++.h ; \ echo >> vipsc++.h ; \ done diff --git a/libvipsCC/include/vips/vipsc++.h b/libvipsCC/include/vips/vipsc++.h index c9d596f0..49e7008f 100644 --- a/libvipsCC/include/vips/vipsc++.h +++ b/libvipsCC/include/vips/vipsc++.h @@ -1,77 +1,60 @@ // headers for package arithmetic // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 VImage abs() throw( VError ); VImage acos() throw( VError ); -VImage add( VImage ) throw( VError ); +VImage add( VImage add_in2 ) throw( VError ); VImage asin() throw( VError ); VImage atan() throw( VError ); double avg() throw( VError ); -double point_bilinear( double, double, int ) 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 ) throw( VError ); +VImage cross_phase( VImage cross_phase_in2 ) throw( VError ); double deviate() throw( VError ); -VImage divide( VImage ) throw( VError ); +VImage divide( VImage divide_in2 ) throw( VError ); VImage exp10() throw( VError ); -VImage expn( double ) throw( VError ); -VImage expn( std::vector ) throw( VError ); +VImage expn( double expn_x ) throw( VError ); +VImage expn( std::vector expn_v ) throw( VError ); VImage exp() throw( VError ); VImage floor() throw( VError ); VImage invert() throw( VError ); -VImage lin( double, double ) throw( VError ); -static VImage linreg( std::vector, std::vector ) throw( VError ); -VImage lin( std::vector, std::vector ) throw( VError ); +VImage lin( double lin_a, double lin_b ) throw( VError ); +static VImage linreg( std::vector linreg_ins, std::vector linreg_xs ) throw( VError ); +VImage lin( std::vector lin_a, std::vector lin_b ) throw( VError ); VImage log10() throw( VError ); VImage log() throw( VError ); double max() throw( VError ); std::complex maxpos() throw( VError ); -double maxpos_avg( double&, double& ) throw( VError ); -VDMask measure( int, int, int, int, int, int ) 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 minpos() throw( VError ); -VImage multiply( VImage ) throw( VError ); -VImage pow( double ) throw( VError ); -VImage pow( std::vector ) throw( VError ); -VImage recomb( VDMask ) throw( VError ); -VImage remainder( VImage ) throw( VError ); -VImage remainder( double ) throw( VError ); -VImage remainder( std::vector ) throw( VError ); +VImage multiply( VImage multiply_in2 ) throw( VError ); +VImage pow( double pow_x ) throw( VError ); +VImage pow( std::vector 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 remainder_x ) throw( VError ); VImage rint() throw( VError ); VImage sign() throw( VError ); VImage sin() throw( VError ); VDMask stats() throw( VError ); -VImage subtract( VImage ) throw( VError ); +VImage subtract( VImage subtract_in2 ) throw( VError ); VImage tan() throw( VError ); -// headers for package boolean -// this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -VImage andimage( VImage ) throw( VError ); -VImage andimage( int ) throw( VError ); -VImage andimage( std::vector ) throw( VError ); -VImage orimage( VImage ) throw( VError ); -VImage orimage( int ) throw( VError ); -VImage orimage( std::vector ) throw( VError ); -VImage eorimage( VImage ) throw( VError ); -VImage eorimage( int ) throw( VError ); -VImage eorimage( std::vector ) throw( VError ); -VImage shiftleft( std::vector ) throw( VError ); -VImage shiftleft( int ) throw( VError ); -VImage shiftright( std::vector ) throw( VError ); -VImage shiftright( int ) throw( VError ); - // headers for package cimg // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -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 ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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 ); // headers for package colour // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 VImage LCh2Lab() throw( VError ); VImage LCh2UCS() throw( VError ); VImage Lab2LCh() throw( VError ); @@ -79,338 +62,352 @@ VImage Lab2LabQ() throw( VError ); VImage Lab2LabS() throw( VError ); VImage Lab2UCS() throw( VError ); VImage Lab2XYZ() throw( VError ); -VImage Lab2XYZ_temp( double, double, double ) throw( VError ); -VImage Lab2disp( VDisplay ) 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 ) 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, double, double ) 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 ) throw( VError ); +VImage XYZ2disp( VDisplay XYZ2disp_disp ) throw( VError ); VImage XYZ2sRGB() throw( VError ); VImage Yxy2XYZ() throw( VError ); -VImage dE00_fromLab( VImage ) throw( VError ); -VImage dECMC_fromLab( VImage ) throw( VError ); -VImage dECMC_fromdisp( VImage, VDisplay ) throw( VError ); -VImage dE_fromLab( VImage ) throw( VError ); -VImage dE_fromXYZ( VImage ) throw( VError ); -VImage dE_fromdisp( VImage, VDisplay ) throw( VError ); -VImage disp2Lab( VDisplay ) throw( VError ); -VImage disp2XYZ( VDisplay ) 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* ) 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 ); -VImage icc_transform( char*, char*, int ) throw( VError ); -VImage lab_morph( VDMask, double, double, double, double ) throw( VError ); +VImage argb2rgba() 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 ); // headers for package conversion // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -static VImage gaussnoise( int, int, double, double ) throw( VError ); -VImage bandjoin( VImage ) throw( VError ); -static VImage black( int, int, int ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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 ) throw( VError ); +VImage clip2fmt( int clip2fmt_ofmt ) throw( VError ); VImage copy() throw( VError ); VImage copy_file() throw( VError ); -VImage copy_morph( int, int, int ) 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, 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 ); -VImage extract_bands( int, int ) throw( VError ); -VImage extract( int, int, int, int, int ) 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 ) throw( VError ); -VImage grid( int, int, int ) throw( VError ); -VImage insert( VImage, int, int ) throw( VError ); -VImage insert( VImage, std::vector, std::vector ) 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 ); +static VImage gbandjoin( std::vector 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 insert_x, std::vector 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 ) throw( VError ); -VImage replicate( int, int ) throw( VError ); -VImage ri2c( VImage ) 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, int ) throw( VError ); -char* system( char* ) throw( VError ); -VImage system_image( char*, char*, char*, char*& ) throw( VError ); -VImage tbjoin( VImage ) throw( VError ); -static VImage text( char*, char*, int, int, int ) throw( VError ); -VDMask vips2mask() throw( VError ); -VImage wrap( int, int ) throw( VError ); -VImage zoom( int, int ) 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 ); // headers for package convolution // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -VImage addgnoise( double ) throw( VError ); -VImage compass( VIMask ) throw( VError ); -VImage contrast_surface( int, int ) throw( VError ); -VImage conv( VIMask ) throw( VError ); -VImage conv( VDMask ) throw( VError ); -VImage convsep( VIMask ) throw( VError ); -VImage convsep( VDMask ) throw( VError ); -VImage fastcor( VImage ) throw( VError ); -VImage gradcor( VImage ) throw( VError ); -VImage gradient( VIMask ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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 ) throw( VError ); -VImage sharpen( int, double, double, double, double, double ) throw( VError ); -VImage spcor( VImage ) 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 ); // headers for package deprecated // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -VImage flood_copy( int, int, std::vector ) throw( VError ); -VImage flood_blob_copy( int, int, std::vector ) throw( VError ); -VImage flood_other_copy( VImage, int, int, int ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +VImage flood_copy( int flood_copy_start_x, int flood_copy_start_y, std::vector flood_copy_ink ) throw( VError ); +VImage flood_blob_copy( int flood_blob_copy_start_x, int flood_blob_copy_start_y, std::vector 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, int ) throw( VError ); -VImage cmulnorm( VImage ) throw( VError ); -VImage fav4( VImage, VImage, VImage ) throw( VError ); -VImage gadd( double, double, VImage, double ) throw( VError ); -VImage icc_export( char*, int ) throw( VError ); -VImage litecor( VImage, int, double ) throw( VError ); -VImage affine( double, double, double, double, double, double, int, int, int, int ) 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, int, int ) throw( VError ); -VImage convf( VDMask ) throw( VError ); -VImage convsepf( VDMask ) 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, std::vector, std::vector ) throw( VError ); +VImage insertplace( VImage insertplace_sub, std::vector insertplace_x, std::vector insertplace_y ) throw( VError ); VImage clip2us() throw( VError ); -VImage slice( double, double ) throw( VError ); -VImage segment( int& ) throw( VError ); -void line( int, int, int, int, int ) throw( VError ); -VImage thresh( double ) throw( VError ); -VImage convf_raw( VDMask ) throw( VError ); -VImage conv_raw( VIMask ) throw( VError ); -VImage contrast_surface_raw( int, int ) throw( VError ); -VImage convsepf_raw( VDMask ) throw( VError ); -VImage convsep_raw( VIMask ) throw( VError ); -VImage fastcor_raw( VImage ) throw( VError ); -VImage gradcor_raw( VImage ) throw( VError ); -VImage spcor_raw( VImage ) throw( VError ); -VImage lhisteq_raw( int, int ) throw( VError ); -VImage stdif_raw( double, double, double, double, int, int ) throw( VError ); -VImage rank_raw( int, int, int ) throw( VError ); -VImage dilate_raw( VIMask ) throw( VError ); -VImage erode_raw( VIMask ) throw( VError ); -VImage similarity_area( double, double, double, double, int, int, int, int ) throw( VError ); -VImage similarity( double, double, double, double ) throw( VError ); -void insertplace( VImage, int, int ) throw( VError ); -void circle( int, int, int, int ) 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 andimage_vec ) throw( VError ); +VImage orimage( VImage orimage_in2 ) throw( VError ); +VImage orimage( int orimage_c ) throw( VError ); +VImage orimage( std::vector orimage_vec ) throw( VError ); +VImage eorimage( VImage eorimage_in2 ) throw( VError ); +VImage eorimage( int eorimage_c ) throw( VError ); +VImage eorimage( std::vector eorimage_vec ) throw( VError ); +VImage shiftleft( std::vector shiftleft_vec ) throw( VError ); +VImage shiftleft( int shiftleft_c ) throw( VError ); +VImage shiftright( std::vector 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 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 less_vec ) throw( VError ); +VImage less( double less_c ) throw( VError ); +VImage lesseq( VImage lesseq_in2 ) throw( VError ); +VImage lesseq( std::vector lesseq_vec ) throw( VError ); +VImage lesseq( double lesseq_c ) throw( VError ); +VImage more( VImage more_in2 ) throw( VError ); +VImage more( std::vector more_vec ) throw( VError ); +VImage more( double more_c ) throw( VError ); +VImage moreeq( VImage moreeq_in2 ) throw( VError ); +VImage moreeq( std::vector moreeq_vec ) throw( VError ); +VImage moreeq( double moreeq_c ) throw( VError ); +VImage notequal( VImage notequal_in2 ) throw( VError ); +VImage notequal( std::vector notequal_vec ) throw( VError ); +VImage notequal( double notequal_c ) throw( VError ); // headers for package format // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -static VImage csv2vips( char* ) throw( VError ); -static VImage jpeg2vips( char* ) throw( VError ); -static VImage magick2vips( char* ) throw( VError ); -static VImage png2vips( char* ) throw( VError ); -static VImage exr2vips( char* ) throw( VError ); -static VImage ppm2vips( char* ) throw( VError ); -static VImage analyze2vips( char* ) throw( VError ); -static VImage tiff2vips( char* ) throw( VError ); -void vips2csv( char* ) throw( VError ); -void vips2jpeg( char* ) throw( VError ); -void vips2mimejpeg( int ) throw( VError ); -void vips2png( char* ) throw( VError ); -void vips2ppm( char* ) throw( VError ); -void vips2tiff( char* ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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 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 ); // headers for package freq_filt // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -static VImage create_fmask( int, int, int, double, double, double, double, double ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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, double, double, double, double, double ) throw( VError ); -static VImage fractsurf( int, double ) throw( VError ); -VImage freqflt( VImage ) 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 ) throw( VError ); +VImage phasecor_fft( VImage phasecor_fft_in2 ) throw( VError ); VImage invfftr() throw( VError ); // headers for package histograms_lut // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -VImage gammacorrect( double ) throw( VError ); -VImage heq( int ) throw( VError ); -VImage hist( int ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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 ) throw( VError ); -VImage histgr( int ) throw( VError ); -VImage histnD( int ) 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 ) throw( VError ); -VImage hsp( VImage ) throw( VError ); -static VImage identity( int ) throw( VError ); -static VImage identity_ushort( int, int ) 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, 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 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 ); +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 ); // headers for package inplace // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -void draw_circle( int, int, int, int, std::vector ) throw( VError ); -void draw_rect( int, int, int, int, int, std::vector ) throw( VError ); -void draw_line( int, int, int, int, std::vector ) throw( VError ); -void draw_point( int, int, std::vector ) throw( VError ); -void draw_smudge( int, int, int, int ) throw( VError ); -void draw_flood( int, int, std::vector ) throw( VError ); -void draw_flood_blob( int, int, std::vector ) throw( VError ); -void draw_flood_other( VImage, int, int, int ) throw( VError ); -void draw_image( VImage, int, int ) throw( VError ); -void draw_mask( VImage, int, int, std::vector ) throw( VError ); -VImage line( VImage, VImage, std::vector, std::vector, std::vector, std::vector ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +void draw_circle( int draw_circle_cx, int draw_circle_cy, int draw_circle_radius, int draw_circle_fill, std::vector 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 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 draw_line_ink ) throw( VError ); +void draw_point( int draw_point_x, int draw_point_y, std::vector 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 draw_flood_ink ) throw( VError ); +void draw_flood_blob( int draw_flood_blob_x, int draw_flood_blob_y, std::vector 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 draw_mask_ink ) throw( VError ); +VImage line( VImage line_mask, VImage line_ink, std::vector line_x1, std::vector line_y1, std::vector line_x2, std::vector line_y2 ) throw( VError ); // headers for package iofuncs // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -static VImage binfile( char*, int, int, int, int ) throw( VError ); -VImage cache( int, int, int ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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* ) throw( VError ); -int header_int( char* ) throw( VError ); -double header_double( char* ) throw( VError ); -char* header_string( char* ) 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 ); // headers for package mask // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // headers for package morphology // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -double cntlines( int ) throw( VError ); -VImage dilate( VIMask ) throw( VError ); -VImage rank( int, int, int ) throw( VError ); -static VImage rank_image( std::vector, int ) throw( VError ); -static VImage maxvalue( std::vector ) throw( VError ); -VImage label_regions( int& ) throw( VError ); -VImage zerox( int ) throw( VError ); -VImage erode( VIMask ) throw( VError ); -VImage profile( int ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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 rank_image_in, int rank_image_index ) throw( VError ); +static VImage maxvalue( std::vector 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 ); // headers for package mosaicing // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 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 ); -int _find_tboverlap( VImage, int, int, int, int, int, int, int, int&, double&, double&, double&, double& ) throw( VError ); -VImage global_balance( double ) throw( VError ); -VImage global_balancef( double ) throw( VError ); -VImage lrmerge( VImage, int, int, int ) throw( VError ); -VImage lrmerge1( VImage, int, int, int, int, int, int, int, int, int ) throw( VError ); -VImage lrmosaic( VImage, int, int, int, int, int, int, int, int, int ) throw( VError ); -VImage lrmosaic1( VImage, int, int, int, int, int, int, int, int, int, int, int, int, int ) throw( VError ); -VImage match_linear( VImage, int, int, int, int, int, int, int, int ) throw( VError ); -VImage match_linear_search( VImage, int, int, int, int, int, int, int, int, int, int ) throw( VError ); -double maxpos_subpel( double& ) throw( VError ); -VImage remosaic( char*, char* ) throw( VError ); -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 ); +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 ); // headers for package other // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 VImage benchmark() throw( VError ); double benchmark2() throw( VError ); -VImage benchmarkn( int ) throw( VError ); -static VImage eye( int, int, double ) throw( VError ); -static VImage grey( int, int ) throw( VError ); -static VImage feye( int, int, double ) throw( VError ); -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.23.0-Thu Nov 18 12:39:29 GMT 2010 -VImage blend( VImage, VImage ) throw( VError ); -VImage equal( VImage ) throw( VError ); -VImage equal( std::vector ) throw( VError ); -VImage equal( double ) throw( VError ); -VImage ifthenelse( VImage, VImage ) throw( VError ); -VImage less( VImage ) throw( VError ); -VImage less( std::vector ) throw( VError ); -VImage less( double ) throw( VError ); -VImage lesseq( VImage ) throw( VError ); -VImage lesseq( std::vector ) throw( VError ); -VImage lesseq( double ) throw( VError ); -VImage more( VImage ) throw( VError ); -VImage more( std::vector ) throw( VError ); -VImage more( double ) throw( VError ); -VImage moreeq( VImage ) throw( VError ); -VImage moreeq( std::vector ) throw( VError ); -VImage moreeq( double ) throw( VError ); -VImage notequal( VImage ) throw( VError ); -VImage notequal( std::vector ) throw( VError ); -VImage notequal( double ) 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 ); // headers for package resample // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -VImage rightshift_size( int, int, int ) throw( VError ); -VImage shrink( double, double ) throw( VError ); -VImage stretch3( double, double ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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 ); // headers for package video // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -static VImage video_test( int, int ) throw( VError ); -static VImage video_v4l1( char*, int, int, int, int, int, int ) throw( VError ); +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +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 ); diff --git a/libvipsCC/vipsc++.cc b/libvipsCC/vipsc++.cc index b22734d9..2d576042 100644 --- a/libvipsCC/vipsc++.cc +++ b/libvipsCC/vipsc++.cc @@ -1,7 +1,7 @@ // bodies for package arithmetic // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_abs: absolute value VImage VImage::abs() throw( VError ) { @@ -739,252 +739,9 @@ VImage VImage::tan() throw( VError ) } -// bodies for package boolean -// this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 -// im_andimage: bitwise and of two images -VImage VImage::andimage( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_andimage" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_andimageconst: bitwise and of an image with a constant -VImage VImage::andimage( int c ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_andimageconst" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = out.image(); - *((int*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in1._ref ); - - return( out ); -} - -// im_andimage_vec: bitwise and of an image with a vector constant -VImage VImage::andimage( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_andimage_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_orimage: bitwise or of two images -VImage VImage::orimage( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_orimage" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_orimageconst: bitwise or of an image with a constant -VImage VImage::orimage( int c ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_orimageconst" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = out.image(); - *((int*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in1._ref ); - - return( out ); -} - -// im_orimage_vec: bitwise or of an image with a vector constant -VImage VImage::orimage( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_orimage_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_eorimage: bitwise eor of two images -VImage VImage::eorimage( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_eorimage" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_eorimageconst: bitwise eor of an image with a constant -VImage VImage::eorimage( int c ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_eorimageconst" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = out.image(); - *((int*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in1._ref ); - - return( out ); -} - -// im_eorimage_vec: bitwise eor of an image with a vector constant -VImage VImage::eorimage( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_eorimage_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_shiftleft_vec: shift image array bits to left -VImage VImage::shiftleft( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_shiftleft_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_shiftleft: shift image n bits to left -VImage VImage::shiftleft( int c ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_shiftleft" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = out.image(); - *((int*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in1._ref ); - - return( out ); -} - -// im_shiftright_vec: shift image array bits to right -VImage VImage::shiftright( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_shiftright_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_shiftright: shift integer image n bits to right -VImage VImage::shiftright( int c ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_shiftright" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = out.image(); - *((int*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in1._ref ); - - return( out ); -} - - // bodies for package cimg // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // 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 ) { @@ -1044,7 +801,7 @@ VImage VImage::greyc_mask( VImage mask, int iterations, double amplitude, double // bodies for package colour // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_LCh2Lab: convert LCh to Lab VImage VImage::LCh2Lab() throw( VError ) { @@ -1614,6 +1371,22 @@ VImage VImage::float2rad() throw( VError ) return( out ); } +// im_argb2rgba: convert pre-multipled argb to png-style rgba +VImage VImage::argb2rgba() throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_argb2rgba" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + // im_icc_ac2rc: convert LAB from AC to RC using an ICC profile VImage VImage::icc_ac2rc( char* profile ) throw( VError ) { @@ -1760,7 +1533,7 @@ VImage VImage::sRGB2XYZ() throw( VError ) // bodies for package conversion // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_gaussnoise: generate image of gaussian noise with specified statistics VImage VImage::gaussnoise( int xsize, int ysize, double mean, double sigma ) throw( VError ) { @@ -2268,20 +2041,6 @@ VImage VImage::lrjoin( VImage in2 ) throw( VError ) return( out ); } -// im_mask2vips: convert DOUBLEMASK to VIPS image -VImage VImage::mask2vips( VDMask input ) throw( VError ) -{ - VImage output; - - Vargv _vec( "im_mask2vips" ); - - ((im_mask_object*) _vec.data(0))->mask = input.mask().dptr; - _vec.data(1) = output.image(); - _vec.call(); - - return( output ); -} - // im_msb: convert to uchar by discarding bits VImage VImage::msb() throw( VError ) { @@ -2519,22 +2278,6 @@ VImage VImage::text( char* text, char* font, int width, int alignment, int dpi ) return( out ); } -// im_vips2mask: convert VIPS image to DOUBLEMASK -VDMask VImage::vips2mask() throw( VError ) -{ - VImage input = *this; - VDMask output; - - Vargv _vec( "im_vips2mask" ); - - _vec.data(0) = input.image(); - ((im_mask_object*) _vec.data(1))->name = (char*)"noname"; - _vec.call(); - output.embed( (DOUBLEMASK *)((im_mask_object*)_vec.data(1))->mask ); - - return( output ); -} - // im_wrap: shift image origin, wrapping at sides VImage VImage::wrap( int x, int y ) throw( VError ) { @@ -2574,7 +2317,44 @@ VImage VImage::zoom( int xfac, int yfac ) throw( VError ) // bodies for package convolution // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 +// im_aconvsep: approximate separable convolution +VImage VImage::aconvsep( VDMask matrix, int n_layers ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_aconvsep" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_mask_object*) _vec.data(2))->mask = matrix.mask().dptr; + *((int*) _vec.data(3)) = n_layers; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_aconv: approximate convolution +VImage VImage::aconv( VDMask matrix, int n_layers, int cluster ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_aconv" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_mask_object*) _vec.data(2))->mask = matrix.mask().dptr; + *((int*) _vec.data(3)) = n_layers; + *((int*) _vec.data(4)) = cluster; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + // im_addgnoise: add gaussian noise with mean 0 and std. dev. sigma VImage VImage::addgnoise( double sigma ) throw( VError ) { @@ -2840,7 +2620,7 @@ VImage VImage::spcor( VImage in2 ) throw( VError ) // bodies for package deprecated // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_flood_copy: flood with ink from start_x, start_y while pixel == start pixel VImage VImage::flood_copy( int start_x, int start_y, std::vector ink ) throw( VError ) { @@ -3629,6 +3409,36 @@ VImage VImage::similarity( double a, double b, double dx, double dy ) throw( VEr return( out ); } +// im_mask2vips: convert DOUBLEMASK to VIPS image +VImage VImage::mask2vips( VDMask input ) throw( VError ) +{ + VImage output; + + Vargv _vec( "im_mask2vips" ); + + ((im_mask_object*) _vec.data(0))->mask = input.mask().dptr; + _vec.data(1) = output.image(); + _vec.call(); + + return( output ); +} + +// im_vips2mask: convert VIPS image to DOUBLEMASK +VDMask VImage::vips2mask() throw( VError ) +{ + VImage input = *this; + VDMask output; + + Vargv _vec( "im_vips2mask" ); + + _vec.data(0) = input.image(); + ((im_mask_object*) _vec.data(1))->name = (char*)"noname"; + _vec.call(); + output.embed( (DOUBLEMASK *)((im_mask_object*)_vec.data(1))->mask ); + + return( output ); +} + // im_insertplace: draw image sub inside image main at position (x,y) void VImage::insertplace( VImage sub, int x, int y ) throw( VError ) { @@ -3656,10 +3466,619 @@ void VImage::circle( int cx, int cy, int radius, int intensity ) throw( VError ) _vec.call(); } +// im_andimage: bitwise and of two images +VImage VImage::andimage( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_andimage" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_andimageconst: bitwise and of an image with a constant +VImage VImage::andimage( int c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_andimageconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((int*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_andimage_vec: bitwise and of an image with a vector constant +VImage VImage::andimage( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_andimage_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_orimage: bitwise or of two images +VImage VImage::orimage( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_orimage" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_orimageconst: bitwise or of an image with a constant +VImage VImage::orimage( int c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_orimageconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((int*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_orimage_vec: bitwise or of an image with a vector constant +VImage VImage::orimage( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_orimage_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_eorimage: bitwise eor of two images +VImage VImage::eorimage( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_eorimage" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_eorimageconst: bitwise eor of an image with a constant +VImage VImage::eorimage( int c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_eorimageconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((int*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_eorimage_vec: bitwise eor of an image with a vector constant +VImage VImage::eorimage( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_eorimage_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_shiftleft_vec: shift image array bits to left +VImage VImage::shiftleft( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_shiftleft_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_shiftleft: shift image n bits to left +VImage VImage::shiftleft( int c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_shiftleft" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((int*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_shiftright_vec: shift image array bits to right +VImage VImage::shiftright( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_shiftright_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_shiftright: shift integer image n bits to right +VImage VImage::shiftright( int c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_shiftright" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((int*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_blend: use cond image to blend between images in1 and in2 +VImage VImage::blend( VImage in1, VImage in2 ) throw( VError ) +{ + VImage cond = *this; + VImage out; + + Vargv _vec( "im_blend" ); + + _vec.data(0) = cond.image(); + _vec.data(1) = in1.image(); + _vec.data(2) = in2.image(); + _vec.data(3) = out.image(); + _vec.call(); + out._ref->addref( cond._ref ); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_equal: two images equal in value +VImage VImage::equal( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_equal" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_equal_vec: image equals doublevec +VImage VImage::equal( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_equal_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_equalconst: image equals const +VImage VImage::equal( double c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_equalconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((double*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_ifthenelse: use cond image to choose pels from image in1 or in2 +VImage VImage::ifthenelse( VImage in1, VImage in2 ) throw( VError ) +{ + VImage cond = *this; + VImage out; + + Vargv _vec( "im_ifthenelse" ); + + _vec.data(0) = cond.image(); + _vec.data(1) = in1.image(); + _vec.data(2) = in2.image(); + _vec.data(3) = out.image(); + _vec.call(); + out._ref->addref( cond._ref ); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_less: in1 less than in2 in value +VImage VImage::less( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_less" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_less_vec: in less than doublevec +VImage VImage::less( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_less_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_lessconst: in less than const +VImage VImage::less( double c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_lessconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((double*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_lesseq: in1 less than or equal to in2 in value +VImage VImage::lesseq( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_lesseq" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_lesseq_vec: in less than or equal to doublevec +VImage VImage::lesseq( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_lesseq_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_lesseqconst: in less than or equal to const +VImage VImage::lesseq( double c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_lesseqconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((double*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_more: in1 more than in2 in value +VImage VImage::more( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_more" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_more_vec: in more than doublevec +VImage VImage::more( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_more_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_moreconst: in more than const +VImage VImage::more( double c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_moreconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((double*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_moreeq: in1 more than or equal to in2 in value +VImage VImage::moreeq( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_moreeq" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_moreeq_vec: in more than or equal to doublevec +VImage VImage::moreeq( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_moreeq_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_moreeqconst: in more than or equal to const +VImage VImage::moreeq( double c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_moreeqconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((double*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + +// im_notequal: two images not equal in value +VImage VImage::notequal( VImage in2 ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_notequal" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = in2.image(); + _vec.data(2) = out.image(); + _vec.call(); + out._ref->addref( in1._ref ); + out._ref->addref( in2._ref ); + + return( out ); +} + +// im_notequal_vec: image does not equal doublevec +VImage VImage::notequal( std::vector vec ) throw( VError ) +{ + VImage in = *this; + VImage out; + + Vargv _vec( "im_notequal_vec" ); + + _vec.data(0) = in.image(); + _vec.data(1) = out.image(); + ((im_doublevec_object*) _vec.data(2))->n = vec.size(); + ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; + for( unsigned int i = 0; i < vec.size(); i++ ) + ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; + _vec.call(); + out._ref->addref( in._ref ); + + return( out ); +} + +// im_notequalconst: image does not equal const +VImage VImage::notequal( double c ) throw( VError ) +{ + VImage in1 = *this; + VImage out; + + Vargv _vec( "im_notequalconst" ); + + _vec.data(0) = in1.image(); + _vec.data(1) = out.image(); + *((double*) _vec.data(2)) = c; + _vec.call(); + out._ref->addref( in1._ref ); + + return( out ); +} + // bodies for package format // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_csv2vips: read a file in csv format VImage VImage::csv2vips( char* filename ) throw( VError ) { @@ -3674,6 +4093,20 @@ VImage VImage::csv2vips( char* filename ) throw( VError ) return( im ); } +// im_fits2vips: convert from fits +VImage VImage::fits2vips( char* in ) throw( VError ) +{ + VImage out; + + Vargv _vec( "im_fits2vips" ); + + _vec.data(0) = (im_object) in; + _vec.data(1) = out.image(); + _vec.call(); + + return( out ); +} + // im_jpeg2vips: convert from jpeg VImage VImage::jpeg2vips( char* in ) throw( VError ) { @@ -3841,7 +4274,7 @@ void VImage::vips2tiff( char* out ) throw( VError ) // bodies for package freq_filt // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_create_fmask: create frequency domain filter mask VImage VImage::create_fmask( int width, int height, int type, double p1, double p2, double p3, double p4, double p5 ) throw( VError ) { @@ -4009,7 +4442,7 @@ VImage VImage::invfftr() throw( VError ) // bodies for package histograms_lut // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_gammacorrect: gamma-correct image VImage VImage::gammacorrect( double exponent ) throw( VError ) { @@ -4456,7 +4889,7 @@ VImage VImage::tone_map( VImage lut ) throw( VError ) // bodies for package inplace // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_draw_circle: draw circle on image void VImage::draw_circle( int cx, int cy, int radius, int fill, std::vector ink ) throw( VError ) { @@ -4654,7 +5087,7 @@ VImage VImage::line( VImage mask, VImage ink, std::vector x1, std::vectoraddref( cond._ref ); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_equal: two images equal in value -VImage VImage::equal( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_equal" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_equal_vec: image equals doublevec -VImage VImage::equal( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_equal_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_equalconst: image equals const -VImage VImage::equal( double c ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_equalconst" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - *((double*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_ifthenelse: use cond image to choose pels from image in1 or in2 -VImage VImage::ifthenelse( VImage in1, VImage in2 ) throw( VError ) -{ - VImage cond = *this; - VImage out; - - Vargv _vec( "im_ifthenelse" ); - - _vec.data(0) = cond.image(); - _vec.data(1) = in1.image(); - _vec.data(2) = in2.image(); - _vec.data(3) = out.image(); - _vec.call(); - out._ref->addref( cond._ref ); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_less: in1 less than in2 in value -VImage VImage::less( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_less" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_less_vec: in less than doublevec -VImage VImage::less( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_less_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_lessconst: in less than const -VImage VImage::less( double c ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_lessconst" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - *((double*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_lesseq: in1 less than or equal to in2 in value -VImage VImage::lesseq( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_lesseq" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_lesseq_vec: in less than or equal to doublevec -VImage VImage::lesseq( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_lesseq_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_lesseqconst: in less than or equal to const -VImage VImage::lesseq( double c ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_lesseqconst" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - *((double*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_more: in1 more than in2 in value -VImage VImage::more( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_more" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_more_vec: in more than doublevec -VImage VImage::more( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_more_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_moreconst: in more than const -VImage VImage::more( double c ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_moreconst" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - *((double*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_moreeq: in1 more than or equal to in2 in value -VImage VImage::moreeq( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_moreeq" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_moreeq_vec: in more than or equal to doublevec -VImage VImage::moreeq( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_moreeq_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_moreeqconst: in more than or equal to const -VImage VImage::moreeq( double c ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_moreeqconst" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - *((double*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_notequal: two images not equal in value -VImage VImage::notequal( VImage in2 ) throw( VError ) -{ - VImage in1 = *this; - VImage out; - - Vargv _vec( "im_notequal" ); - - _vec.data(0) = in1.image(); - _vec.data(1) = in2.image(); - _vec.data(2) = out.image(); - _vec.call(); - out._ref->addref( in1._ref ); - out._ref->addref( in2._ref ); - - return( out ); -} - -// im_notequal_vec: image does not equal doublevec -VImage VImage::notequal( std::vector vec ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_notequal_vec" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - ((im_doublevec_object*) _vec.data(2))->n = vec.size(); - ((im_doublevec_object*) _vec.data(2))->vec = new double[vec.size()]; - for( unsigned int i = 0; i < vec.size(); i++ ) - ((im_doublevec_object*) _vec.data(2))->vec[i] = vec[i]; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - -// im_notequalconst: image does not equal const -VImage VImage::notequal( double c ) throw( VError ) -{ - VImage in = *this; - VImage out; - - Vargv _vec( "im_notequalconst" ); - - _vec.data(0) = in.image(); - _vec.data(1) = out.image(); - *((double*) _vec.data(2)) = c; - _vec.call(); - out._ref->addref( in._ref ); - - return( out ); -} - - // bodies for package resample // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_rightshift_size: decrease size by a power-of-two factor VImage VImage::rightshift_size( int xshift, int yshift, int band_fmt ) throw( VError ) { @@ -5986,7 +6062,7 @@ VImage VImage::stretch3( double xdisp, double ydisp ) throw( VError ) // bodies for package video // this file automatically generated from -// VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 +// VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 // im_video_test: test video grabber VImage VImage::video_test( int brightness, int error ) throw( VError ) { diff --git a/swig/vipsCC/VImage.i b/swig/vipsCC/VImage.i index cf840307..d6f93f60 100644 --- a/swig/vipsCC/VImage.i +++ b/swig/vipsCC/VImage.i @@ -80,10 +80,7 @@ struct VBuffer { */ %include VImage.h -/* Some operations return values though their params. We have to note these - * specially. - */ -extern double vips::VImage::maxpos_avg(double &OUTPUT, double &OUTPUT); + %extend vips::VImage { public: diff --git a/tools/vips.c b/tools/vips.c index c74566f0..06bd7931 100644 --- a/tools/vips.c +++ b/tools/vips.c @@ -35,6 +35,9 @@ * 24/6/10 * - less chatty error messages * - oops, don't rename "copy_set" as "copy_" + * 6/2/12 + * - long arg names in decls to help SWIG + * - don't wrap im_remainderconst_vec() */ /* @@ -362,6 +365,14 @@ is_cppable( im_function *fn ) { int j; + /* Don't wrap im_remainderconst_vec(). + * + * This has been replaced by the saner name im_remainder_vec(). If we + * generate wrappers for both names we get a overloading clash. + */ + if( strcmp( fn->name, "im_remainderconst_vec" ) == 0 ) + return( 0 ); + /* Check we know all the types. */ for( j = 0; j < fn->argc; j++ ) { @@ -631,6 +642,14 @@ print_cppdecl( im_function *fn ) */ if( ty->flags & IM_TYPE_OUTPUT ) printf( "&" ); + + /* Print arg name. + * + * Prepend the member name to make the arg + * unique. This is important for SWIG since it needs to have + * unique names for %apply. + */ + printf( " %s_%s", name, fn->argv[j].name ); } /* End of arg list!