vips-cpp  8.13
libvips C++ binding
VImage8.h
1 // VIPS image wrapper
2 
3 /*
4 
5  This file is part of VIPS.
6 
7  VIPS is free software; you can redistribute it and/or modify
8  it under the terms of the GNU Lesser General Public License as published by
9  the Free Software Foundation; either version 2 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20  02110-1301 USA
21 
22  */
23 
24 /*
25 
26  These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
27 
28  */
29 
30 #ifndef VIPS_VIMAGE_H
31 #define VIPS_VIMAGE_H
32 
33 #include <list>
34 #include <complex>
35 #include <vector>
36 
37 #include <cstring>
38 
39 #include <vips/vips.h>
40 
41 VIPS_NAMESPACE_START
42 
43 /* Small utility things.
44  */
45 
46 VIPS_CPLUSPLUS_API std::vector<double> to_vectorv( int n, ... );
47 VIPS_CPLUSPLUS_API std::vector<double> to_vector( double value );
48 VIPS_CPLUSPLUS_API std::vector<double> to_vector( int n, double array[] );
49 VIPS_CPLUSPLUS_API std::vector<double> negate( std::vector<double> value );
50 VIPS_CPLUSPLUS_API std::vector<double> invert( std::vector<double> value );
51 
56 enum VSteal {
57  NOSTEAL = 0,
58  STEAL = 1
59 };
60 
67 class VObject
68 {
69 private:
70  // can be NULL, see eg. VObject()
71  VipsObject *vobject;
72 
73 public:
80  VObject( VipsObject *new_vobject, VSteal steal = STEAL ) :
81  vobject( new_vobject )
82  {
83  // we allow NULL init, eg. "VImage a;"
84  g_assert( !new_vobject ||
85  VIPS_IS_OBJECT( new_vobject ) );
86 
87 #ifdef VIPS_DEBUG_VERBOSE
88  printf( "VObject constructor, obj = %p, steal = %d\n",
89  new_vobject, steal );
90  if( new_vobject ) {
91  printf( " obj " );
92  vips_object_print_name( VIPS_OBJECT( new_vobject ) );
93  printf( "\n" );
94  }
95 #endif /*VIPS_DEBUG_VERBOSE*/
96 
97  if( !steal && vobject ) {
98 #ifdef VIPS_DEBUG_VERBOSE
99  printf( " reffing object\n" );
100 #endif /*VIPS_DEBUG_VERBOSE*/
101  g_object_ref( vobject );
102  }
103  }
104 
105  VObject() :
106  vobject( 0 )
107  {
108  }
109 
110  VObject( const VObject &a ) :
111  vobject( a.vobject )
112  {
113  g_assert( !vobject ||
114  VIPS_IS_OBJECT( vobject ) );
115 
116 #ifdef VIPS_DEBUG_VERBOSE
117  printf( "VObject copy constructor, obj = %p\n",
118  vobject );
119  printf( " reffing object\n" );
120 #endif /*VIPS_DEBUG_VERBOSE*/
121  if( vobject )
122  g_object_ref( vobject );
123  }
124 
125  // assignment ... we must delete the old ref
126  VObject &operator=( const VObject &a )
127  {
128 #ifdef VIPS_DEBUG_VERBOSE
129  printf( "VObject assignment\n" );
130  printf( " reffing %p\n", a.vobject );
131  printf( " unreffing %p\n", vobject );
132 #endif /*VIPS_DEBUG_VERBOSE*/
133 
134  g_assert( !vobject ||
135  VIPS_IS_OBJECT( vobject ) );
136  g_assert( !a.vobject ||
137  VIPS_IS_OBJECT( a.vobject ) );
138 
139  // delete the old ref at the end ... otherwise "a = a;" could
140  // unref before reffing again
141  if( a.vobject )
142  g_object_ref( a.vobject );
143  if( vobject )
144  g_object_unref( vobject );
145  vobject = a.vobject;
146 
147  return( *this );
148  }
149 
150  // this mustn't be virtual: we want this class to only be a pointer,
151  // no vtable allowed
152  ~VObject()
153  {
154 #ifdef VIPS_DEBUG_VERBOSE
155  printf( "VObject destructor\n" );
156  printf( " unreffing %p\n", vobject );
157 #endif /*VIPS_DEBUG_VERBOSE*/
158 
159  g_assert( !vobject ||
160  VIPS_IS_OBJECT( vobject ) );
161 
162  if( vobject )
163  g_object_unref( vobject );
164  }
165 
171  VipsObject *
172  get_object() const
173  {
174  g_assert( !vobject ||
175  VIPS_IS_OBJECT( vobject ) );
176 
177  return( vobject );
178  }
179 
183  bool is_null() const
184  {
185  return vobject == 0;
186  }
187 
188 };
189 
190 class VIPS_CPLUSPLUS_API VImage;
191 class VIPS_CPLUSPLUS_API VInterpolate;
192 class VIPS_CPLUSPLUS_API VRegion;
193 class VIPS_CPLUSPLUS_API VSource;
194 class VIPS_CPLUSPLUS_API VTarget;
195 class VIPS_CPLUSPLUS_API VOption;
196 
218 class VOption {
219 private:
220  struct Pair {
221  const char *name;
222 
223  // the thing we pass to and from our caller
224  GValue value;
225 
226  // an input or output parameter ... we guess the direction
227  // from the arg to set()
228  bool input;
229 
230  // the pointer we write output values to
231  union {
232  bool *vbool;
233  int *vint;
234  double *vdouble;
235  VImage *vimage;
236  std::vector<double> *vvector;
237  VipsBlob **vblob;
238  };
239 
240  Pair( const char *name ) :
241  name( name ), input( false ), vimage( 0 )
242  {
243  // argh = {0} won't work wil vanilla C++
244  memset( &value, 0, sizeof( GValue ) );
245  }
246 
247  ~Pair()
248  {
249  g_value_unset( &value );
250  }
251  };
252 
253  std::list<Pair *> options;
254 
255 public:
256  VOption()
257  {
258  }
259 
260  virtual ~VOption();
261 
265  VOption *
266  set( const char *name, bool value );
267 
272  VOption *
273  set( const char *name, int value );
274 
278  VOption *
279  set( const char *name, guint64 value );
280 
284  VOption *
285  set( const char *name, double value );
286 
292  VOption *
293  set( const char *name, const char *value );
294 
301  VOption *
302  set( const char *name, const VObject value );
303 
309  VOption *
310  set( const char *name, std::vector<int> value );
311 
317  VOption *
318  set( const char *name, std::vector<double> value );
319 
325  VOption *
326  set( const char *name, std::vector<VImage> value );
327 
334  VOption *
335  set( const char *name, VipsBlob *value );
336 
340  VOption *
341  set( const char *name, bool *value );
342 
346  VOption *
347  set( const char *name, int *value );
348 
352  VOption *
353  set( const char *name, double *value );
354 
358  VOption *
359  set( const char *name, VImage *value );
360 
364  VOption *
365  set( const char *name, std::vector<double> *value );
366 
371  VOption *
372  set( const char *name, VipsBlob **blob );
373 
378  void
379  set_operation( VipsOperation *operation );
380 
385  void
386  get_operation( VipsOperation *operation );
387 
388 };
389 
405 class VImage : public VObject
406 {
407 public:
408  using VObject::is_null;
409 
416  VImage( VipsImage *image, VSteal steal = STEAL ) :
417  VObject( (VipsObject *) image, steal )
418  {
419  }
420 
424  VImage() :
425  VObject( 0 )
426  {
427  }
428 
434  VipsImage *
435  get_image() const
436  {
437  return( (VipsImage *) VObject::get_object() );
438  }
439 
443  int
444  width() const
445  {
446  return( vips_image_get_width( get_image() ) );
447  }
448 
452  int
453  height() const
454  {
455  return( vips_image_get_height( get_image() ) );
456  }
457 
461  int
462  bands() const
463  {
464  return( vips_image_get_bands( get_image() ) );
465  }
466 
470  VipsBandFormat
471  format() const
472  {
473  return( vips_image_get_format( get_image() ) );
474  }
475 
479  VipsCoding
480  coding() const
481  {
482  return( vips_image_get_coding( get_image() ) );
483  }
484 
489  VipsInterpretation
491  {
492  return( vips_image_get_interpretation( get_image() ) );
493  }
494 
499  VipsInterpretation
501  {
502  return( vips_image_guess_interpretation( get_image() ) );
503  }
504 
508  double
509  xres() const
510  {
511  return( vips_image_get_xres( get_image() ) );
512  }
513 
517  double
518  yres() const
519  {
520  return( vips_image_get_yres( get_image() ) );
521  }
522 
526  int
527  xoffset() const
528  {
529  return( vips_image_get_xoffset( get_image() ) );
530  }
531 
535  int
536  yoffset() const
537  {
538  return( vips_image_get_yoffset( get_image() ) );
539  }
540 
544  bool
545  has_alpha() const
546  {
547  return( vips_image_hasalpha( get_image() ) );
548  }
549 
554  const char *
555  filename() const
556  {
557  return( vips_image_get_filename( get_image() ) );
558  }
559 
566  const void *
567  data() const
568  {
569  return( vips_image_get_data( get_image() ) );
570  }
571 
575  void
576  set( const char *field, int value )
577  {
578  vips_image_set_int( this->get_image(), field, value );
579  }
580 
586  void
587  set( const char *field, int *value, int n )
588  {
589  vips_image_set_array_int( this->get_image(), field, value, n );
590  }
591 
597  void
598  set( const char *field, std::vector<int> value )
599  {
600  vips_image_set_array_int( this->get_image(), field, &value[0],
601  static_cast<int>( value.size() ) );
602  }
603 
609  void
610  set( const char *field, double *value, int n )
611  {
612  vips_image_set_array_double( this->get_image(), field, value, n );
613  }
614 
620  void
621  set( const char *field, std::vector<double> value )
622  {
623  vips_image_set_array_double( this->get_image(), field, &value[0],
624  static_cast<int>( value.size() ) );
625  }
626 
630  void
631  set( const char *field, double value )
632  {
633  vips_image_set_double( this->get_image(), field, value );
634  }
635 
641  void
642  set( const char *field, const char *value )
643  {
644  vips_image_set_string( this->get_image(), field, value );
645  }
646 
654  void
655  set( const char *field,
656  VipsCallbackFn free_fn, void *data, size_t length )
657  {
658  vips_image_set_blob( this->get_image(), field,
659  free_fn, data, length );
660  }
661 
666  GType
667  get_typeof( const char *field ) const
668  {
669  return( vips_image_get_typeof( this->get_image(), field ) );
670  }
671 
677  int
678  get_int( const char *field ) const
679  {
680  int value;
681 
682  if( vips_image_get_int( this->get_image(), field, &value ) )
683  throw( VError() );
684 
685  return( value );
686  }
687 
694  void
695  get_array_int( const char *field, int **out, int *n ) const
696  {
697  if( vips_image_get_array_int( this->get_image(),
698  field, out, n ) )
699  throw( VError() );
700  }
701 
707  std::vector<int>
708  get_array_int( const char *field ) const
709  {
710  int length;
711  int *array;
712 
713  if( vips_image_get_array_int( this->get_image(),
714  field, &array, &length ) )
715  throw( VError() );
716 
717  std::vector<int> vector( array, array + length );
718 
719  return( vector );
720  }
721 
728  void
729  get_array_double( const char *field, double **out, int *n ) const
730  {
731  if( vips_image_get_array_double( this->get_image(),
732  field, out, n ) )
733  throw( VError() );
734  }
735 
741  std::vector<double>
742  get_array_double( const char *field ) const
743  {
744  int length;
745  double *array;
746 
747  if( vips_image_get_array_double( this->get_image(),
748  field, &array, &length ) )
749  throw( VError() );
750 
751  std::vector<double> vector( array, array + length );
752 
753  return( vector );
754  }
755 
761  double
762  get_double( const char *field ) const
763  {
764  double value;
765 
766  if( vips_image_get_double( this->get_image(), field, &value ) )
767  throw( VError() );
768 
769  return( value );
770  }
771 
778  const char *
779  get_string( const char *field ) const
780  {
781  const char *value;
782 
783  if( vips_image_get_string( this->get_image(), field, &value ) )
784  throw( VError() );
785 
786  return( value );
787  }
788 
795  const void *
796  get_blob( const char *field, size_t *length ) const
797  {
798  const void *value;
799 
800  if( vips_image_get_blob( this->get_image(), field,
801  &value, length ) )
802  throw( VError() );
803 
804  return( value );
805  }
806 
811  bool
812  remove( const char *name ) const
813  {
814  return( vips_image_remove( get_image(), name ) );
815  }
816 
820  static VOption *
822  {
823  return( new VOption() );
824  }
825 
830  static void
831  call_option_string( const char *operation_name,
832  const char *option_string, VOption *options = 0 );
833 
837  static void
838  call( const char *operation_name, VOption *options = 0 );
839 
844  static VImage
846  {
847  return( VImage( vips_image_new_memory() ) );
848  }
849 
854  static VImage
855  new_temp_file( const char *file_format = ".v" )
856  {
857  VipsImage *image;
858 
859  if( !(image = vips_image_new_temp_file( file_format )) )
860  throw( VError() );
861 
862  return( VImage( image ) );
863  }
864 
871  static VImage
872  new_from_file( const char *name, VOption *options = 0 );
873 
881  static VImage
882  new_from_buffer( const void *buf, size_t len,
883  const char *option_string, VOption *options = 0 );
884 
892  static VImage
893  new_from_buffer( const std::string &buf,
894  const char *option_string, VOption *options = 0 );
895 
902  static VImage
903  new_from_source( VSource source,
904  const char *option_string, VOption *options = 0 );
905 
910  static VImage
911  new_from_memory( void *data, size_t size,
912  int width, int height, int bands, VipsBandFormat format )
913  {
914  VipsImage *image;
915 
916  if( !(image = vips_image_new_from_memory( data, size,
917  width, height, bands, format )) )
918  throw( VError() );
919 
920  return( VImage( image ) );
921  }
922 
930  static VImage
931  new_from_memory_steal( void *data, size_t size,
932  int width, int height, int bands, VipsBandFormat format );
933 
938  static VImage
939  new_matrix( int width, int height );
940 
945  static VImage
946  new_matrix( int width, int height, double *array, int size )
947  {
948  VipsImage *image;
949 
950  if( !(image = vips_image_new_matrix_from_array( width, height,
951  array, size )) )
952  throw( VError() );
953 
954  return( VImage( image ) );
955  }
956 
961  static VImage
962  new_matrixv( int width, int height, ... );
963 
968  VImage
969  new_from_image( std::vector<double> pixel ) const
970  {
971  VipsImage *image;
972 
973  if( !(image = vips_image_new_from_image( this->get_image(),
974  &pixel[0], static_cast<int>( pixel.size() ) )) )
975  throw( VError() );
976 
977  return( VImage( image ) );
978  }
979 
984  VImage
985  new_from_image( double pixel ) const
986  {
987  return( new_from_image( to_vectorv( 1, pixel ) ) );
988  }
989 
1002  VImage
1003  copy_memory() const
1004  {
1005  VipsImage *image;
1006 
1007  if( !(image = vips_image_copy_memory( this->get_image() )) )
1008  throw( VError() );
1009 
1010  return( VImage( image ) );
1011  }
1012 
1016  VImage write( VImage out ) const;
1017 
1024  void write_to_file( const char *name, VOption *options = 0 ) const;
1025 
1039  void write_to_buffer( const char *suffix, void **buf, size_t *size,
1040  VOption *options = 0 ) const;
1041 
1048  void write_to_target( const char *suffix, VTarget target,
1049  VOption *options = 0 ) const;
1050 
1054  void *
1055  write_to_memory( size_t *size ) const
1056  {
1057  void *result;
1058 
1059  if( !(result = vips_image_write_to_memory( this->get_image(),
1060  size )) )
1061  throw( VError() );
1062 
1063  return( result );
1064  }
1065 
1069  VRegion
1070  region() const;
1071 
1075  VRegion
1076  region( VipsRect *rect ) const;
1077 
1081  VRegion
1082  region( int left, int top, int width, int height ) const;
1083 
1089  VImage
1090  linear( double a, double b, VOption *options = 0 ) const
1091  {
1092  return( this->linear( to_vector( a ), to_vector( b ),
1093  options ) );
1094  }
1095 
1101  VImage
1102  linear( std::vector<double> a, double b, VOption *options = 0 ) const
1103  {
1104  return( this->linear( a, to_vector( b ), options ) );
1105  }
1106 
1112  VImage
1113  linear( double a, std::vector<double> b, VOption *options = 0 ) const
1114  {
1115  return( this->linear( to_vector( a ), b, options ) );
1116  }
1117 
1121  std::vector<VImage> bandsplit( VOption *options = 0 ) const;
1122 
1126  VImage bandjoin( VImage other, VOption *options = 0 ) const;
1127 
1132  VImage
1133  bandjoin( double other, VOption *options = 0 ) const
1134  {
1135  return( bandjoin( to_vector( other ), options ) );
1136  }
1137 
1142  VImage
1143  bandjoin( std::vector<double> other, VOption *options = 0 ) const
1144  {
1145  return( bandjoin_const( other, options ) );
1146  }
1147 
1151  VImage composite( VImage other, VipsBlendMode mode,
1152  VOption *options = 0 ) const;
1153 
1157  std::complex<double> minpos( VOption *options = 0 ) const;
1158 
1162  std::complex<double> maxpos( VOption *options = 0 ) const;
1163 
1167  VImage
1168  fliphor( VOption *options = 0 ) const
1169  {
1170  return( flip( VIPS_DIRECTION_HORIZONTAL, options ) );
1171  }
1172 
1176  VImage
1177  flipver( VOption *options = 0 ) const
1178  {
1179  return( flip( VIPS_DIRECTION_VERTICAL, options ) );
1180  }
1181 
1185  VImage
1186  rot90( VOption *options = 0 ) const
1187  {
1188  return( rot( VIPS_ANGLE_D90, options ) );
1189  }
1190 
1194  VImage
1195  rot180( VOption *options = 0 ) const
1196  {
1197  return( rot( VIPS_ANGLE_D180, options ) );
1198  }
1199 
1203  VImage
1204  rot270( VOption *options = 0 ) const
1205  {
1206  return( rot( VIPS_ANGLE_D270, options ) );
1207  }
1208 
1214  VImage
1215  dilate( VImage mask, VOption *options = 0 ) const
1216  {
1217  return( morph( mask, VIPS_OPERATION_MORPHOLOGY_DILATE,
1218  options ) );
1219  }
1220 
1226  VImage
1227  erode( VImage mask, VOption *options = 0 ) const
1228  {
1229  return( morph( mask, VIPS_OPERATION_MORPHOLOGY_ERODE,
1230  options ) );
1231  }
1232 
1236  VImage
1237  median( int size = 3, VOption *options = 0 ) const
1238  {
1239  return( rank( size, size, (size * size) / 2, options ) );
1240  }
1241 
1245  VImage
1246  floor( VOption *options = 0 ) const
1247  {
1248  return( round( VIPS_OPERATION_ROUND_FLOOR, options ) );
1249  }
1250 
1254  VImage
1255  ceil( VOption *options = 0 ) const
1256  {
1257  return( round( VIPS_OPERATION_ROUND_CEIL, options ) );
1258  }
1259 
1263  VImage
1264  rint( VOption *options = 0 ) const
1265  {
1266  return( round( VIPS_OPERATION_ROUND_RINT, options ) );
1267  }
1268 
1275  VImage
1276  bandand( VOption *options = 0 ) const
1277  {
1278  return( bandbool( VIPS_OPERATION_BOOLEAN_AND, options ) );
1279  }
1280 
1287  VImage
1288  bandor( VOption *options = 0 ) const
1289  {
1290  return( bandbool( VIPS_OPERATION_BOOLEAN_OR, options ) );
1291  }
1292 
1299  VImage
1300  bandeor( VOption *options = 0 ) const
1301  {
1302  return( bandbool( VIPS_OPERATION_BOOLEAN_EOR, options ) );
1303  }
1304 
1308  VImage
1309  real( VOption *options = 0 ) const
1310  {
1311  return( complexget( VIPS_OPERATION_COMPLEXGET_REAL, options ) );
1312  }
1313 
1317  VImage
1318  imag( VOption *options = 0 ) const
1319  {
1320  return( complexget( VIPS_OPERATION_COMPLEXGET_IMAG, options ) );
1321  }
1322 
1326  VImage
1327  polar( VOption *options = 0 ) const
1328  {
1329  return( complex( VIPS_OPERATION_COMPLEX_POLAR, options ) );
1330  }
1331 
1335  VImage
1336  rect( VOption *options = 0 ) const
1337  {
1338  return( complex( VIPS_OPERATION_COMPLEX_RECT, options ) );
1339  }
1340 
1344  VImage
1345  conj( VOption *options = 0 ) const
1346  {
1347  return( complex( VIPS_OPERATION_COMPLEX_CONJ, options ) );
1348  }
1349 
1353  VImage
1354  sin( VOption *options = 0 ) const
1355  {
1356  return( math( VIPS_OPERATION_MATH_SIN, options ) );
1357  }
1358 
1362  VImage
1363  cos( VOption *options = 0 ) const
1364  {
1365  return( math( VIPS_OPERATION_MATH_COS, options ) );
1366  }
1367 
1371  VImage
1372  tan( VOption *options = 0 ) const
1373  {
1374  return( math( VIPS_OPERATION_MATH_TAN, options ) );
1375  }
1376 
1380  VImage
1381  asin( VOption *options = 0 ) const
1382  {
1383  return( math( VIPS_OPERATION_MATH_ASIN, options ) );
1384  }
1385 
1389  VImage
1390  acos( VOption *options = 0 ) const
1391  {
1392  return( math( VIPS_OPERATION_MATH_ACOS, options ) );
1393  }
1394 
1398  VImage
1399  atan( VOption *options = 0 ) const
1400  {
1401  return( math( VIPS_OPERATION_MATH_ATAN, options ) );
1402  }
1403 
1407  VImage
1408  sinh( VOption *options = 0 ) const
1409  {
1410  return( math( VIPS_OPERATION_MATH_SINH, options ) );
1411  }
1412 
1416  VImage
1417  cosh( VOption *options = 0 ) const
1418  {
1419  return( math( VIPS_OPERATION_MATH_COSH, options ) );
1420  }
1421 
1425  VImage
1426  tanh( VOption *options = 0 ) const
1427  {
1428  return( math( VIPS_OPERATION_MATH_TANH, options ) );
1429  }
1430 
1434  VImage
1435  asinh( VOption *options = 0 ) const
1436  {
1437  return( math( VIPS_OPERATION_MATH_ASINH, options ) );
1438  }
1439 
1443  VImage
1444  acosh( VOption *options = 0 ) const
1445  {
1446  return( math( VIPS_OPERATION_MATH_ACOSH, options ) );
1447  }
1448 
1452  VImage
1453  atanh( VOption *options = 0 ) const
1454  {
1455  return( math( VIPS_OPERATION_MATH_ATANH, options ) );
1456  }
1457 
1461  VImage
1462  log( VOption *options = 0 ) const
1463  {
1464  return( math( VIPS_OPERATION_MATH_LOG, options ) );
1465  }
1466 
1470  VImage
1471  log10( VOption *options = 0 ) const
1472  {
1473  return( math( VIPS_OPERATION_MATH_LOG10, options ) );
1474  }
1475 
1479  VImage
1480  exp( VOption *options = 0 ) const
1481  {
1482  return( math( VIPS_OPERATION_MATH_EXP, options ) );
1483  }
1484 
1488  VImage
1489  exp10( VOption *options = 0 ) const
1490  {
1491  return( math( VIPS_OPERATION_MATH_EXP10, options ) );
1492  }
1493 
1497  VImage
1498  pow( VImage other, VOption *options = 0 ) const
1499  {
1500  return( math2( other, VIPS_OPERATION_MATH2_POW, options ) );
1501  }
1502 
1506  VImage
1507  pow( double other, VOption *options = 0 ) const
1508  {
1509  return( math2_const( VIPS_OPERATION_MATH2_POW,
1510  to_vector( other ), options ) );
1511  }
1512 
1516  VImage
1517  pow( std::vector<double> other, VOption *options = 0 ) const
1518  {
1519  return( math2_const( VIPS_OPERATION_MATH2_POW,
1520  other, options ) );
1521  }
1522 
1526  VImage
1527  wop( VImage other, VOption *options = 0 ) const
1528  {
1529  return( math2( other, VIPS_OPERATION_MATH2_WOP, options ) );
1530  }
1531 
1535  VImage
1536  wop( double other, VOption *options = 0 ) const
1537  {
1538  return( math2_const( VIPS_OPERATION_MATH2_WOP,
1539  to_vector( other ), options ) );
1540  }
1541 
1545  VImage
1546  wop( std::vector<double> other, VOption *options = 0 ) const
1547  {
1548  return( math2_const( VIPS_OPERATION_MATH2_WOP,
1549  other, options ) );
1550  }
1551 
1555  VImage
1556  atan2( VImage other, VOption *options = 0 ) const
1557  {
1558  return( math2( other, VIPS_OPERATION_MATH2_ATAN2, options ) );
1559  }
1560 
1564  VImage
1565  atan2( double other, VOption *options = 0 ) const
1566  {
1567  return( math2_const( VIPS_OPERATION_MATH2_ATAN2,
1568  to_vector( other ), options ) );
1569  }
1570 
1574  VImage
1575  atan2( std::vector<double> other, VOption *options = 0 ) const
1576  {
1577  return( math2_const( VIPS_OPERATION_MATH2_ATAN2,
1578  other, options ) );
1579  }
1580 
1585  VImage
1586  ifthenelse( std::vector<double> th, VImage el,
1587  VOption *options = 0 ) const
1588  {
1589  return( ifthenelse( el.new_from_image( th ), el, options ) );
1590  }
1591 
1596  VImage
1597  ifthenelse( VImage th, std::vector<double> el,
1598  VOption *options = 0 ) const
1599  {
1600  return( ifthenelse( th, th.new_from_image( el ), options ) );
1601  }
1602 
1607  VImage
1608  ifthenelse( std::vector<double> th, std::vector<double> el,
1609  VOption *options = 0 ) const
1610  {
1611  return( ifthenelse( new_from_image( th ), new_from_image( el ),
1612  options ) );
1613  }
1614 
1619  VImage
1620  ifthenelse( double th, VImage el, VOption *options = 0 ) const
1621  {
1622  return( ifthenelse( to_vector( th ), el, options ) );
1623  }
1624 
1629  VImage
1630  ifthenelse( VImage th, double el, VOption *options = 0 ) const
1631  {
1632  return( ifthenelse( th, to_vector( el ), options ) );
1633  }
1634 
1639  VImage
1640  ifthenelse( double th, double el, VOption *options = 0 ) const
1641  {
1642  return( ifthenelse( to_vector( th ), to_vector( el ),
1643  options ) );
1644  }
1645 
1646  // Operator overloads
1647 
1648  VImage operator[]( int index ) const;
1649 
1650  std::vector<double> operator()( int x, int y ) const;
1651 
1652  friend VIPS_CPLUSPLUS_API VImage
1653  operator+( const VImage a, const VImage b );
1654  friend VIPS_CPLUSPLUS_API VImage
1655  operator+( const double a, const VImage b );
1656  friend VIPS_CPLUSPLUS_API VImage
1657  operator+( const VImage a, const double b );
1658  friend VIPS_CPLUSPLUS_API VImage
1659  operator+( const std::vector<double> a, const VImage b );
1660  friend VIPS_CPLUSPLUS_API VImage
1661  operator+( const VImage a, const std::vector<double> b );
1662 
1663  friend VIPS_CPLUSPLUS_API VImage &
1664  operator+=( VImage &a, const VImage b );
1665  friend VIPS_CPLUSPLUS_API VImage &
1666  operator+=( VImage &a, const double b );
1667  friend VIPS_CPLUSPLUS_API VImage &
1668  operator+=( VImage &a, const std::vector<double> b );
1669 
1670  friend VIPS_CPLUSPLUS_API VImage
1671  operator-( const VImage a, const VImage b );
1672  friend VIPS_CPLUSPLUS_API VImage
1673  operator-( const double a, const VImage b );
1674  friend VIPS_CPLUSPLUS_API VImage
1675  operator-( const VImage a, const double b );
1676  friend VIPS_CPLUSPLUS_API VImage
1677  operator-( const std::vector<double> a, const VImage b );
1678  friend VIPS_CPLUSPLUS_API VImage
1679  operator-( const VImage a, const std::vector<double> b );
1680 
1681  friend VIPS_CPLUSPLUS_API VImage &
1682  operator-=( VImage &a, const VImage b );
1683  friend VIPS_CPLUSPLUS_API VImage &
1684  operator-=( VImage &a, const double b );
1685  friend VIPS_CPLUSPLUS_API VImage &
1686  operator-=( VImage &a, const std::vector<double> b );
1687 
1688  friend VIPS_CPLUSPLUS_API VImage
1689  operator-( const VImage a );
1690 
1691  friend VIPS_CPLUSPLUS_API VImage
1692  operator*( const VImage a, const VImage b );
1693  friend VIPS_CPLUSPLUS_API VImage
1694  operator*( const double a, const VImage b );
1695  friend VIPS_CPLUSPLUS_API VImage
1696  operator*( const VImage a, const double b );
1697  friend VIPS_CPLUSPLUS_API VImage
1698  operator*( const std::vector<double> a, const VImage b );
1699  friend VIPS_CPLUSPLUS_API VImage
1700  operator*( const VImage a, const std::vector<double> b );
1701 
1702  friend VIPS_CPLUSPLUS_API VImage &
1703  operator*=( VImage &a, const VImage b );
1704  friend VIPS_CPLUSPLUS_API VImage &
1705  operator*=( VImage &a, const double b );
1706  friend VIPS_CPLUSPLUS_API VImage &
1707  operator*=( VImage &a, const std::vector<double> b );
1708 
1709  friend VIPS_CPLUSPLUS_API VImage
1710  operator/( const VImage a, const VImage b );
1711  friend VIPS_CPLUSPLUS_API VImage
1712  operator/( const double a, const VImage b );
1713  friend VIPS_CPLUSPLUS_API VImage
1714  operator/( const VImage a, const double b );
1715  friend VIPS_CPLUSPLUS_API VImage
1716  operator/( const std::vector<double> a, const VImage b );
1717  friend VIPS_CPLUSPLUS_API VImage
1718  operator/( const VImage a, const std::vector<double> b );
1719 
1720  friend VIPS_CPLUSPLUS_API VImage &
1721  operator/=( VImage &a, const VImage b );
1722  friend VIPS_CPLUSPLUS_API VImage &
1723  operator/=( VImage &a, const double b );
1724  friend VIPS_CPLUSPLUS_API VImage &
1725  operator/=( VImage &a, const std::vector<double> b );
1726 
1727  friend VIPS_CPLUSPLUS_API VImage
1728  operator%( const VImage a, const VImage b );
1729  friend VIPS_CPLUSPLUS_API VImage
1730  operator%( const VImage a, const double b );
1731  friend VIPS_CPLUSPLUS_API VImage
1732  operator%( const VImage a, const std::vector<double> b );
1733 
1734  friend VIPS_CPLUSPLUS_API VImage &
1735  operator%=( VImage &a, const VImage b );
1736  friend VIPS_CPLUSPLUS_API VImage &
1737  operator%=( VImage &a, const double b );
1738  friend VIPS_CPLUSPLUS_API VImage &
1739  operator%=( VImage &a, const std::vector<double> b );
1740 
1741  friend VIPS_CPLUSPLUS_API VImage
1742  operator<( const VImage a, const VImage b );
1743  friend VIPS_CPLUSPLUS_API VImage
1744  operator<( const double a, const VImage b );
1745  friend VIPS_CPLUSPLUS_API VImage
1746  operator<( const VImage a, const double b );
1747  friend VIPS_CPLUSPLUS_API VImage
1748  operator<( const std::vector<double> a, const VImage b );
1749  friend VIPS_CPLUSPLUS_API VImage
1750  operator<( const VImage a, const std::vector<double> b );
1751 
1752  friend VIPS_CPLUSPLUS_API VImage
1753  operator<=( const VImage a, const VImage b );
1754  friend VIPS_CPLUSPLUS_API VImage
1755  operator<=( const double a, const VImage b );
1756  friend VIPS_CPLUSPLUS_API VImage
1757  operator<=( const VImage a, const double b );
1758  friend VIPS_CPLUSPLUS_API VImage
1759  operator<=( const std::vector<double> a, const VImage b );
1760  friend VIPS_CPLUSPLUS_API VImage
1761  operator<=( const VImage a, const std::vector<double> b );
1762 
1763  friend VIPS_CPLUSPLUS_API VImage
1764  operator>( const VImage a, const VImage b );
1765  friend VIPS_CPLUSPLUS_API VImage
1766  operator>( const double a, const VImage b );
1767  friend VIPS_CPLUSPLUS_API VImage
1768  operator>( const VImage a, const double b );
1769  friend VIPS_CPLUSPLUS_API VImage
1770  operator>( const std::vector<double> a, const VImage b );
1771  friend VIPS_CPLUSPLUS_API VImage
1772  operator>( const VImage a, const std::vector<double> b );
1773 
1774  friend VIPS_CPLUSPLUS_API VImage
1775  operator>=( const VImage a, const VImage b );
1776  friend VIPS_CPLUSPLUS_API VImage
1777  operator>=( const double a, const VImage b );
1778  friend VIPS_CPLUSPLUS_API VImage
1779  operator>=( const VImage a, const double b );
1780  friend VIPS_CPLUSPLUS_API VImage
1781  operator>=( const std::vector<double> a, const VImage b );
1782  friend VIPS_CPLUSPLUS_API VImage
1783  operator>=( const VImage a, const std::vector<double> b );
1784 
1785  friend VIPS_CPLUSPLUS_API VImage
1786  operator==( const VImage a, const VImage b );
1787  friend VIPS_CPLUSPLUS_API VImage
1788  operator==( const double a, const VImage b );
1789  friend VIPS_CPLUSPLUS_API VImage
1790  operator==( const VImage a, const double b );
1791  friend VIPS_CPLUSPLUS_API VImage
1792  operator==( const std::vector<double> a, const VImage b );
1793  friend VIPS_CPLUSPLUS_API VImage
1794  operator==( const VImage a, const std::vector<double> b );
1795 
1796  friend VIPS_CPLUSPLUS_API VImage
1797  operator!=( const VImage a, const VImage b );
1798  friend VIPS_CPLUSPLUS_API VImage
1799  operator!=( const double a, const VImage b );
1800  friend VIPS_CPLUSPLUS_API VImage
1801  operator!=( const VImage a, const double b );
1802  friend VIPS_CPLUSPLUS_API VImage
1803  operator!=( const std::vector<double> a, const VImage b );
1804  friend VIPS_CPLUSPLUS_API VImage
1805  operator!=( const VImage a, const std::vector<double> b );
1806 
1807  friend VIPS_CPLUSPLUS_API VImage
1808  operator&( const VImage a, const VImage b );
1809  friend VIPS_CPLUSPLUS_API VImage
1810  operator&( const double a, const VImage b );
1811  friend VIPS_CPLUSPLUS_API VImage
1812  operator&( const VImage a, const double b );
1813  friend VIPS_CPLUSPLUS_API VImage
1814  operator&( const std::vector<double> a, const VImage b );
1815  friend VIPS_CPLUSPLUS_API VImage
1816  operator&( const VImage a, const std::vector<double> b );
1817 
1818  friend VIPS_CPLUSPLUS_API VImage &
1819  operator&=( VImage &a, const VImage b );
1820  friend VIPS_CPLUSPLUS_API VImage &
1821  operator&=( VImage &a, const double b );
1822  friend VIPS_CPLUSPLUS_API VImage &
1823  operator&=( VImage &a, const std::vector<double> b );
1824 
1825  friend VIPS_CPLUSPLUS_API VImage
1826  operator|( const VImage a, const VImage b );
1827  friend VIPS_CPLUSPLUS_API VImage
1828  operator|( const double a, const VImage b );
1829  friend VIPS_CPLUSPLUS_API VImage
1830  operator|( const VImage a, const double b );
1831  friend VIPS_CPLUSPLUS_API VImage
1832  operator|( const std::vector<double> a, const VImage b );
1833  friend VIPS_CPLUSPLUS_API VImage
1834  operator|( const VImage a, const std::vector<double> b );
1835 
1836  friend VIPS_CPLUSPLUS_API VImage &
1837  operator|=( VImage &a, const VImage b );
1838  friend VIPS_CPLUSPLUS_API VImage &
1839  operator|=( VImage &a, const double b );
1840  friend VIPS_CPLUSPLUS_API VImage &
1841  operator|=( VImage &a, const std::vector<double> b );
1842 
1843  friend VIPS_CPLUSPLUS_API VImage
1844  operator^( const VImage a, const VImage b );
1845  friend VIPS_CPLUSPLUS_API VImage
1846  operator^( const double a, const VImage b );
1847  friend VIPS_CPLUSPLUS_API VImage
1848  operator^( const VImage a, const double b );
1849  friend VIPS_CPLUSPLUS_API VImage
1850  operator^( const std::vector<double> a, const VImage b );
1851  friend VIPS_CPLUSPLUS_API VImage
1852  operator^( const VImage a, const std::vector<double> b );
1853 
1854  friend VIPS_CPLUSPLUS_API VImage &
1855  operator^=( VImage &a, const VImage b );
1856  friend VIPS_CPLUSPLUS_API VImage &
1857  operator^=( VImage &a, const double b );
1858  friend VIPS_CPLUSPLUS_API VImage &
1859  operator^=( VImage &a, const std::vector<double> b );
1860 
1861  friend VIPS_CPLUSPLUS_API VImage
1862  operator<<( const VImage a, const VImage b );
1863  friend VIPS_CPLUSPLUS_API VImage
1864  operator<<( const VImage a, const double b );
1865  friend VIPS_CPLUSPLUS_API VImage
1866  operator<<( const VImage a, const std::vector<double> b );
1867 
1868  friend VIPS_CPLUSPLUS_API VImage &
1869  operator<<=( VImage &a, const VImage b );
1870  friend VIPS_CPLUSPLUS_API VImage &
1871  operator<<=( VImage &a, const double b );
1872  friend VIPS_CPLUSPLUS_API VImage &
1873  operator<<=( VImage &a, const std::vector<double> b );
1874 
1875  friend VIPS_CPLUSPLUS_API VImage
1876  operator>>( const VImage a, const VImage b );
1877  friend VIPS_CPLUSPLUS_API VImage
1878  operator>>( const VImage a, const double b );
1879  friend VIPS_CPLUSPLUS_API VImage
1880  operator>>( const VImage a, const std::vector<double> b );
1881 
1882  friend VIPS_CPLUSPLUS_API VImage &
1883  operator>>=( VImage &a, const VImage b );
1884  friend VIPS_CPLUSPLUS_API VImage &
1885  operator>>=( VImage &a, const double b );
1886  friend VIPS_CPLUSPLUS_API VImage &
1887  operator>>=( VImage &a, const std::vector<double> b );
1888 
1889  /* Automatically generated members.
1890  *
1891  * Rebuild with:
1892  *
1893  * make vips-operators
1894  *
1895  * Then delete from here to the end of the class and paste in
1896  * vips-operators.h. We could just #include vips-operators.h, but
1897  * that confuses doxygen.
1898  */
1899 
1900 // headers for vips operations
1901 // this file is generated automatically, do not edit!
1902 
1908 VImage CMC2LCh( VOption *options = 0 ) const;
1909 
1915 VImage CMYK2XYZ( VOption *options = 0 ) const;
1916 
1922 VImage HSV2sRGB( VOption *options = 0 ) const;
1923 
1929 VImage LCh2CMC( VOption *options = 0 ) const;
1930 
1936 VImage LCh2Lab( VOption *options = 0 ) const;
1937 
1943 VImage Lab2LCh( VOption *options = 0 ) const;
1944 
1950 VImage Lab2LabQ( VOption *options = 0 ) const;
1951 
1957 VImage Lab2LabS( VOption *options = 0 ) const;
1958 
1968 VImage Lab2XYZ( VOption *options = 0 ) const;
1969 
1975 VImage LabQ2Lab( VOption *options = 0 ) const;
1976 
1982 VImage LabQ2LabS( VOption *options = 0 ) const;
1983 
1989 VImage LabQ2sRGB( VOption *options = 0 ) const;
1990 
1996 VImage LabS2Lab( VOption *options = 0 ) const;
1997 
2003 VImage LabS2LabQ( VOption *options = 0 ) const;
2004 
2010 VImage XYZ2CMYK( VOption *options = 0 ) const;
2011 
2021 VImage XYZ2Lab( VOption *options = 0 ) const;
2022 
2028 VImage XYZ2Yxy( VOption *options = 0 ) const;
2029 
2035 VImage XYZ2scRGB( VOption *options = 0 ) const;
2036 
2042 VImage Yxy2XYZ( VOption *options = 0 ) const;
2043 
2049 VImage abs( VOption *options = 0 ) const;
2050 
2057 VImage add( VImage right, VOption *options = 0 ) const;
2058 
2077 VImage affine( std::vector<double> matrix, VOption *options = 0 ) const;
2078 
2091 static VImage analyzeload( const char *filename, VOption *options = 0 );
2092 
2109 static VImage arrayjoin( std::vector<VImage> in, VOption *options = 0 );
2110 
2116 VImage autorot( VOption *options = 0 ) const;
2117 
2123 double avg( VOption *options = 0 ) const;
2124 
2131 VImage bandbool( VipsOperationBoolean boolean, VOption *options = 0 ) const;
2132 
2142 VImage bandfold( VOption *options = 0 ) const;
2143 
2150 static VImage bandjoin( std::vector<VImage> in, VOption *options = 0 );
2151 
2158 VImage bandjoin_const( std::vector<double> c, VOption *options = 0 ) const;
2159 
2165 VImage bandmean( VOption *options = 0 ) const;
2166 
2177 static VImage bandrank( std::vector<VImage> in, VOption *options = 0 );
2178 
2188 VImage bandunfold( VOption *options = 0 ) const;
2189 
2201 static VImage black( int width, int height, VOption *options = 0 );
2202 
2210 VImage boolean( VImage right, VipsOperationBoolean boolean, VOption *options = 0 ) const;
2211 
2219 VImage boolean_const( VipsOperationBoolean boolean, std::vector<double> c, VOption *options = 0 ) const;
2220 
2226 VImage buildlut( VOption *options = 0 ) const;
2227 
2233 VImage byteswap( VOption *options = 0 ) const;
2234 
2246 VImage cache( VOption *options = 0 ) const;
2247 
2258 VImage canny( VOption *options = 0 ) const;
2259 
2266 VImage case_image( std::vector<VImage> cases, VOption *options = 0 ) const;
2267 
2278 VImage cast( VipsBandFormat format, VOption *options = 0 ) const;
2279 
2290 VImage colourspace( VipsInterpretation space, VOption *options = 0 ) const;
2291 
2307 VImage compass( VImage mask, VOption *options = 0 ) const;
2308 
2315 VImage complex( VipsOperationComplex cmplx, VOption *options = 0 ) const;
2316 
2324 VImage complex2( VImage right, VipsOperationComplex2 cmplx, VOption *options = 0 ) const;
2325 
2332 VImage complexform( VImage right, VOption *options = 0 ) const;
2333 
2340 VImage complexget( VipsOperationComplexget get, VOption *options = 0 ) const;
2341 
2356 static VImage composite( std::vector<VImage> in, std::vector<int> mode, VOption *options = 0 );
2357 
2372 VImage composite2( VImage overlay, VipsBlendMode mode, VOption *options = 0 ) const;
2373 
2386 VImage conv( VImage mask, VOption *options = 0 ) const;
2387 
2399 VImage conva( VImage mask, VOption *options = 0 ) const;
2400 
2411 VImage convasep( VImage mask, VOption *options = 0 ) const;
2412 
2419 VImage convf( VImage mask, VOption *options = 0 ) const;
2420 
2427 VImage convi( VImage mask, VOption *options = 0 ) const;
2428 
2441 VImage convsep( VImage mask, VOption *options = 0 ) const;
2442 
2461 VImage copy( VOption *options = 0 ) const;
2462 
2469 double countlines( VipsDirection direction, VOption *options = 0 ) const;
2470 
2480 VImage crop( int left, int top, int width, int height, VOption *options = 0 ) const;
2481 
2498 static VImage csvload( const char *filename, VOption *options = 0 );
2499 
2516 static VImage csvload_source( VSource source, VOption *options = 0 );
2517 
2530 void csvsave( const char *filename, VOption *options = 0 ) const;
2531 
2544 void csvsave_target( VTarget target, VOption *options = 0 ) const;
2545 
2552 VImage dE00( VImage right, VOption *options = 0 ) const;
2553 
2560 VImage dE76( VImage right, VOption *options = 0 ) const;
2561 
2568 VImage dECMC( VImage right, VOption *options = 0 ) const;
2569 
2575 double deviate( VOption *options = 0 ) const;
2576 
2583 VImage divide( VImage right, VOption *options = 0 ) const;
2584 
2597 void draw_circle( std::vector<double> ink, int cx, int cy, int radius, VOption *options = 0 ) const;
2598 
2611 void draw_flood( std::vector<double> ink, int x, int y, VOption *options = 0 ) const;
2612 
2624 void draw_image( VImage sub, int x, int y, VOption *options = 0 ) const;
2625 
2635 void draw_line( std::vector<double> ink, int x1, int y1, int x2, int y2, VOption *options = 0 ) const;
2636 
2645 void draw_mask( std::vector<double> ink, VImage mask, int x, int y, VOption *options = 0 ) const;
2646 
2660 void draw_rect( std::vector<double> ink, int left, int top, int width, int height, VOption *options = 0 ) const;
2661 
2670 void draw_smudge( int left, int top, int width, int height, VOption *options = 0 ) const;
2671 
2697 void dzsave( const char *filename, VOption *options = 0 ) const;
2698 
2724 VipsBlob *dzsave_buffer( VOption *options = 0 ) const;
2725 
2751 void dzsave_target( VTarget target, VOption *options = 0 ) const;
2752 
2767 VImage embed( int x, int y, int width, int height, VOption *options = 0 ) const;
2768 
2778 VImage extract_area( int left, int top, int width, int height, VOption *options = 0 ) const;
2779 
2790 VImage extract_band( int band, VOption *options = 0 ) const;
2791 
2804 static VImage eye( int width, int height, VOption *options = 0 );
2805 
2811 VImage falsecolour( VOption *options = 0 ) const;
2812 
2819 VImage fastcor( VImage ref, VOption *options = 0 ) const;
2820 
2826 VImage fill_nearest( VOption *options = 0 ) const;
2827 
2841 int find_trim( int *top, int *width, int *height, VOption *options = 0 ) const;
2842 
2855 static VImage fitsload( const char *filename, VOption *options = 0 );
2856 
2869 static VImage fitsload_source( VSource source, VOption *options = 0 );
2870 
2882 void fitssave( const char *filename, VOption *options = 0 ) const;
2883 
2894 VImage flatten( VOption *options = 0 ) const;
2895 
2902 VImage flip( VipsDirection direction, VOption *options = 0 ) const;
2903 
2909 VImage float2rad( VOption *options = 0 ) const;
2910 
2919 static VImage fractsurf( int width, int height, double fractal_dimension, VOption *options = 0 );
2920 
2927 VImage freqmult( VImage mask, VOption *options = 0 ) const;
2928 
2934 VImage fwfft( VOption *options = 0 ) const;
2935 
2945 VImage gamma( VOption *options = 0 ) const;
2946 
2958 VImage gaussblur( double sigma, VOption *options = 0 ) const;
2959 
2972 static VImage gaussmat( double sigma, double min_ampl, VOption *options = 0 );
2973 
2987 static VImage gaussnoise( int width, int height, VOption *options = 0 );
2988 
2996 std::vector<double> getpoint( int x, int y, VOption *options = 0 ) const;
2997 
3012 static VImage gifload( const char *filename, VOption *options = 0 );
3013 
3028 static VImage gifload_buffer( VipsBlob *buffer, VOption *options = 0 );
3029 
3044 static VImage gifload_source( VSource source, VOption *options = 0 );
3045 
3063 void gifsave( const char *filename, VOption *options = 0 ) const;
3064 
3082 VipsBlob *gifsave_buffer( VOption *options = 0 ) const;
3083 
3101 void gifsave_target( VTarget target, VOption *options = 0 ) const;
3102 
3113 VImage globalbalance( VOption *options = 0 ) const;
3114 
3128 VImage gravity( VipsCompassDirection direction, int width, int height, VOption *options = 0 ) const;
3129 
3141 static VImage grey( int width, int height, VOption *options = 0 );
3142 
3151 VImage grid( int tile_height, int across, int down, VOption *options = 0 ) const;
3152 
3169 static VImage heifload( const char *filename, VOption *options = 0 );
3170 
3187 static VImage heifload_buffer( VipsBlob *buffer, VOption *options = 0 );
3188 
3205 static VImage heifload_source( VSource source, VOption *options = 0 );
3206 
3224 void heifsave( const char *filename, VOption *options = 0 ) const;
3225 
3243 VipsBlob *heifsave_buffer( VOption *options = 0 ) const;
3244 
3262 void heifsave_target( VTarget target, VOption *options = 0 ) const;
3263 
3269 VImage hist_cum( VOption *options = 0 ) const;
3270 
3276 double hist_entropy( VOption *options = 0 ) const;
3277 
3287 VImage hist_equal( VOption *options = 0 ) const;
3288 
3298 VImage hist_find( VOption *options = 0 ) const;
3299 
3310 VImage hist_find_indexed( VImage index, VOption *options = 0 ) const;
3311 
3321 VImage hist_find_ndim( VOption *options = 0 ) const;
3322 
3328 bool hist_ismonotonic( VOption *options = 0 ) const;
3329 
3341 VImage hist_local( int width, int height, VOption *options = 0 ) const;
3342 
3349 VImage hist_match( VImage ref, VOption *options = 0 ) const;
3350 
3356 VImage hist_norm( VOption *options = 0 ) const;
3357 
3363 VImage hist_plot( VOption *options = 0 ) const;
3364 
3376 VImage hough_circle( VOption *options = 0 ) const;
3377 
3388 VImage hough_line( VOption *options = 0 ) const;
3389 
3403 VImage icc_export( VOption *options = 0 ) const;
3404 
3418 VImage icc_import( VOption *options = 0 ) const;
3419 
3435 VImage icc_transform( const char *output_profile, VOption *options = 0 ) const;
3436 
3448 static VImage identity( VOption *options = 0 );
3449 
3461 VImage ifthenelse( VImage in1, VImage in2, VOption *options = 0 ) const;
3462 
3476 VImage insert( VImage sub, int x, int y, VOption *options = 0 ) const;
3477 
3483 VImage invert( VOption *options = 0 ) const;
3484 
3494 VImage invertlut( VOption *options = 0 ) const;
3495 
3505 VImage invfft( VOption *options = 0 ) const;
3506 
3521 VImage join( VImage in2, VipsDirection direction, VOption *options = 0 ) const;
3522 
3536 static VImage jp2kload( const char *filename, VOption *options = 0 );
3537 
3551 static VImage jp2kload_buffer( VipsBlob *buffer, VOption *options = 0 );
3552 
3566 static VImage jp2kload_source( VSource source, VOption *options = 0 );
3567 
3584 void jp2ksave( const char *filename, VOption *options = 0 ) const;
3585 
3602 VipsBlob *jp2ksave_buffer( VOption *options = 0 ) const;
3603 
3620 void jp2ksave_target( VTarget target, VOption *options = 0 ) const;
3621 
3636 static VImage jpegload( const char *filename, VOption *options = 0 );
3637 
3652 static VImage jpegload_buffer( VipsBlob *buffer, VOption *options = 0 );
3653 
3668 static VImage jpegload_source( VSource source, VOption *options = 0 );
3669 
3691 void jpegsave( const char *filename, VOption *options = 0 ) const;
3692 
3714 VipsBlob *jpegsave_buffer( VOption *options = 0 ) const;
3715 
3736 void jpegsave_mime( VOption *options = 0 ) const;
3737 
3759 void jpegsave_target( VTarget target, VOption *options = 0 ) const;
3760 
3773 static VImage jxlload( const char *filename, VOption *options = 0 );
3774 
3787 static VImage jxlload_buffer( VipsBlob *buffer, VOption *options = 0 );
3788 
3801 static VImage jxlload_source( VSource source, VOption *options = 0 );
3802 
3819 void jxlsave( const char *filename, VOption *options = 0 ) const;
3820 
3837 VipsBlob *jxlsave_buffer( VOption *options = 0 ) const;
3838 
3855 void jxlsave_target( VTarget target, VOption *options = 0 ) const;
3856 
3862 VImage labelregions( VOption *options = 0 ) const;
3863 
3875 VImage linear( std::vector<double> a, std::vector<double> b, VOption *options = 0 ) const;
3876 
3889 VImage linecache( VOption *options = 0 ) const;
3890 
3903 static VImage logmat( double sigma, double min_ampl, VOption *options = 0 );
3904 
3920 static VImage magickload( const char *filename, VOption *options = 0 );
3921 
3937 static VImage magickload_buffer( VipsBlob *buffer, VOption *options = 0 );
3938 
3955 void magicksave( const char *filename, VOption *options = 0 ) const;
3956 
3973 VipsBlob *magicksave_buffer( VOption *options = 0 ) const;
3974 
3988 VImage mapim( VImage index, VOption *options = 0 ) const;
3989 
4000 VImage maplut( VImage lut, VOption *options = 0 ) const;
4001 
4019 static VImage mask_butterworth( int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options = 0 );
4020 
4040 static VImage mask_butterworth_band( int width, int height, double order, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options = 0 );
4041 
4060 static VImage mask_butterworth_ring( int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = 0 );
4061 
4077 static VImage mask_fractal( int width, int height, double fractal_dimension, VOption *options = 0 );
4078 
4095 static VImage mask_gaussian( int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options = 0 );
4096 
4115 static VImage mask_gaussian_band( int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options = 0 );
4116 
4134 static VImage mask_gaussian_ring( int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = 0 );
4135 
4151 static VImage mask_ideal( int width, int height, double frequency_cutoff, VOption *options = 0 );
4152 
4170 static VImage mask_ideal_band( int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options = 0 );
4171 
4188 static VImage mask_ideal_ring( int width, int height, double frequency_cutoff, double ringwidth, VOption *options = 0 );
4189 
4211 VImage match( VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options = 0 ) const;
4212 
4219 VImage math( VipsOperationMath math, VOption *options = 0 ) const;
4220 
4228 VImage math2( VImage right, VipsOperationMath2 math2, VOption *options = 0 ) const;
4229 
4237 VImage math2_const( VipsOperationMath2 math2, std::vector<double> c, VOption *options = 0 ) const;
4238 
4251 static VImage matload( const char *filename, VOption *options = 0 );
4252 
4258 VImage matrixinvert( VOption *options = 0 ) const;
4259 
4272 static VImage matrixload( const char *filename, VOption *options = 0 );
4273 
4286 static VImage matrixload_source( VSource source, VOption *options = 0 );
4287 
4298 void matrixprint( VOption *options = 0 ) const;
4299 
4311 void matrixsave( const char *filename, VOption *options = 0 ) const;
4312 
4324 void matrixsave_target( VTarget target, VOption *options = 0 ) const;
4325 
4335 double max( VOption *options = 0 ) const;
4336 
4351 VImage measure( int h, int v, VOption *options = 0 ) const;
4352 
4366 VImage merge( VImage sec, VipsDirection direction, int dx, int dy, VOption *options = 0 ) const;
4367 
4377 double min( VOption *options = 0 ) const;
4378 
4386 VImage morph( VImage mask, VipsOperationMorphology morph, VOption *options = 0 ) const;
4387 
4406 VImage mosaic( VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options = 0 ) const;
4407 
4431 VImage mosaic1( VImage sec, VipsDirection direction, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options = 0 ) const;
4432 
4442 VImage msb( VOption *options = 0 ) const;
4443 
4450 VImage multiply( VImage right, VOption *options = 0 ) const;
4451 
4464 static VImage niftiload( const char *filename, VOption *options = 0 );
4465 
4478 static VImage niftiload_source( VSource source, VOption *options = 0 );
4479 
4491 void niftisave( const char *filename, VOption *options = 0 ) const;
4492 
4505 static VImage openexrload( const char *filename, VOption *options = 0 );
4506 
4523 static VImage openslideload( const char *filename, VOption *options = 0 );
4524 
4541 static VImage openslideload_source( VSource source, VOption *options = 0 );
4542 
4561 static VImage pdfload( const char *filename, VOption *options = 0 );
4562 
4581 static VImage pdfload_buffer( VipsBlob *buffer, VOption *options = 0 );
4582 
4601 static VImage pdfload_source( VSource source, VOption *options = 0 );
4602 
4609 int percent( double percent, VOption *options = 0 ) const;
4610 
4624 static VImage perlin( int width, int height, VOption *options = 0 );
4625 
4632 VImage phasecor( VImage in2, VOption *options = 0 ) const;
4633 
4647 static VImage pngload( const char *filename, VOption *options = 0 );
4648 
4662 static VImage pngload_buffer( VipsBlob *buffer, VOption *options = 0 );
4663 
4677 static VImage pngload_source( VSource source, VOption *options = 0 );
4678 
4699 void pngsave( const char *filename, VOption *options = 0 ) const;
4700 
4721 VipsBlob *pngsave_buffer( VOption *options = 0 ) const;
4722 
4743 void pngsave_target( VTarget target, VOption *options = 0 ) const;
4744 
4757 static VImage ppmload( const char *filename, VOption *options = 0 );
4758 
4771 static VImage ppmload_source( VSource source, VOption *options = 0 );
4772 
4787 void ppmsave( const char *filename, VOption *options = 0 ) const;
4788 
4803 void ppmsave_target( VTarget target, VOption *options = 0 ) const;
4804 
4814 VImage premultiply( VOption *options = 0 ) const;
4815 
4822 VImage profile( VImage *rows, VOption *options = 0 ) const;
4823 
4830 static VipsBlob *profile_load( const char *name, VOption *options = 0 );
4831 
4838 VImage project( VImage *rows, VOption *options = 0 ) const;
4839 
4850 VImage quadratic( VImage coeff, VOption *options = 0 ) const;
4851 
4857 VImage rad2float( VOption *options = 0 ) const;
4858 
4871 static VImage radload( const char *filename, VOption *options = 0 );
4872 
4885 static VImage radload_buffer( VipsBlob *buffer, VOption *options = 0 );
4886 
4899 static VImage radload_source( VSource source, VOption *options = 0 );
4900 
4912 void radsave( const char *filename, VOption *options = 0 ) const;
4913 
4925 VipsBlob *radsave_buffer( VOption *options = 0 ) const;
4926 
4938 void radsave_target( VTarget target, VOption *options = 0 ) const;
4939 
4948 VImage rank( int width, int height, int index, VOption *options = 0 ) const;
4949 
4968 static VImage rawload( const char *filename, int width, int height, int bands, VOption *options = 0 );
4969 
4981 void rawsave( const char *filename, VOption *options = 0 ) const;
4982 
4994 void rawsave_fd( int fd, VOption *options = 0 ) const;
4995 
5002 VImage recomb( VImage m, VOption *options = 0 ) const;
5003 
5016 VImage reduce( double hshrink, double vshrink, VOption *options = 0 ) const;
5017 
5029 VImage reduceh( double hshrink, VOption *options = 0 ) const;
5030 
5042 VImage reducev( double vshrink, VOption *options = 0 ) const;
5043 
5051 VImage relational( VImage right, VipsOperationRelational relational, VOption *options = 0 ) const;
5052 
5060 VImage relational_const( VipsOperationRelational relational, std::vector<double> c, VOption *options = 0 ) const;
5061 
5068 VImage remainder( VImage right, VOption *options = 0 ) const;
5069 
5076 VImage remainder_const( std::vector<double> c, VOption *options = 0 ) const;
5077 
5085 VImage replicate( int across, int down, VOption *options = 0 ) const;
5086 
5099 VImage resize( double scale, VOption *options = 0 ) const;
5100 
5107 VImage rot( VipsAngle angle, VOption *options = 0 ) const;
5108 
5118 VImage rot45( VOption *options = 0 ) const;
5119 
5135 VImage rotate( double angle, VOption *options = 0 ) const;
5136 
5143 VImage round( VipsOperationRound round, VOption *options = 0 ) const;
5144 
5150 VImage sRGB2HSV( VOption *options = 0 ) const;
5151 
5157 VImage sRGB2scRGB( VOption *options = 0 ) const;
5158 
5168 VImage scRGB2BW( VOption *options = 0 ) const;
5169 
5175 VImage scRGB2XYZ( VOption *options = 0 ) const;
5176 
5186 VImage scRGB2sRGB( VOption *options = 0 ) const;
5187 
5198 VImage scale( VOption *options = 0 ) const;
5199 
5209 VImage sequential( VOption *options = 0 ) const;
5210 
5225 VImage sharpen( VOption *options = 0 ) const;
5226 
5238 VImage shrink( double hshrink, double vshrink, VOption *options = 0 ) const;
5239 
5250 VImage shrinkh( int hshrink, VOption *options = 0 ) const;
5251 
5262 VImage shrinkv( int vshrink, VOption *options = 0 ) const;
5263 
5269 VImage sign( VOption *options = 0 ) const;
5270 
5287 VImage similarity( VOption *options = 0 ) const;
5288 
5302 static VImage sines( int width, int height, VOption *options = 0 );
5303 
5315 VImage smartcrop( int width, int height, VOption *options = 0 ) const;
5316 
5322 VImage sobel( VOption *options = 0 ) const;
5323 
5330 VImage spcor( VImage ref, VOption *options = 0 ) const;
5331 
5337 VImage spectrum( VOption *options = 0 ) const;
5338 
5344 VImage stats( VOption *options = 0 ) const;
5345 
5360 VImage stdif( int width, int height, VOption *options = 0 ) const;
5361 
5373 VImage subsample( int xfac, int yfac, VOption *options = 0 ) const;
5374 
5381 VImage subtract( VImage right, VOption *options = 0 ) const;
5382 
5389 static VImage sum( std::vector<VImage> in, VOption *options = 0 );
5390 
5406 static VImage svgload( const char *filename, VOption *options = 0 );
5407 
5423 static VImage svgload_buffer( VipsBlob *buffer, VOption *options = 0 );
5424 
5440 static VImage svgload_source( VSource source, VOption *options = 0 );
5441 
5448 static VImage switch_image( std::vector<VImage> tests, VOption *options = 0 );
5449 
5461 static void system( const char *cmd_format, VOption *options = 0 );
5462 
5481 static VImage text( const char *text, VOption *options = 0 );
5482 
5502 static VImage thumbnail( const char *filename, int width, VOption *options = 0 );
5503 
5524 static VImage thumbnail_buffer( VipsBlob *buffer, int width, VOption *options = 0 );
5525 
5544 VImage thumbnail_image( int width, VOption *options = 0 ) const;
5545 
5566 static VImage thumbnail_source( VSource source, int width, VOption *options = 0 );
5567 
5584 static VImage tiffload( const char *filename, VOption *options = 0 );
5585 
5602 static VImage tiffload_buffer( VipsBlob *buffer, VOption *options = 0 );
5603 
5620 static VImage tiffload_source( VSource source, VOption *options = 0 );
5621 
5654 void tiffsave( const char *filename, VOption *options = 0 ) const;
5655 
5688 VipsBlob *tiffsave_buffer( VOption *options = 0 ) const;
5689 
5722 void tiffsave_target( VTarget target, VOption *options = 0 ) const;
5723 
5738 VImage tilecache( VOption *options = 0 ) const;
5739 
5758 static VImage tonelut( VOption *options = 0 );
5759 
5769 VImage transpose3d( VOption *options = 0 ) const;
5770 
5781 VImage unpremultiply( VOption *options = 0 ) const;
5782 
5795 static VImage vipsload( const char *filename, VOption *options = 0 );
5796 
5809 static VImage vipsload_source( VSource source, VOption *options = 0 );
5810 
5822 void vipssave( const char *filename, VOption *options = 0 ) const;
5823 
5835 void vipssave_target( VTarget target, VOption *options = 0 ) const;
5836 
5852 static VImage webpload( const char *filename, VOption *options = 0 );
5853 
5869 static VImage webpload_buffer( VipsBlob *buffer, VOption *options = 0 );
5870 
5886 static VImage webpload_source( VSource source, VOption *options = 0 );
5887 
5911 void webpsave( const char *filename, VOption *options = 0 ) const;
5912 
5936 VipsBlob *webpsave_buffer( VOption *options = 0 ) const;
5937 
5961 void webpsave_target( VTarget target, VOption *options = 0 ) const;
5962 
5975 static VImage worley( int width, int height, VOption *options = 0 );
5976 
5987 VImage wrap( VOption *options = 0 ) const;
5988 
6002 static VImage xyz( int width, int height, VOption *options = 0 );
6003 
6015 static VImage zone( int width, int height, VOption *options = 0 );
6016 
6024 VImage zoom( int xfac, int yfac, VOption *options = 0 ) const;
6025 };
6026 
6027 VIPS_NAMESPACE_END
6028 
6029 #endif /*VIPS_VIMAGE_H*/
Definition: VError8.h:46
Definition: VImage8.h:406
VImage HSV2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:28
VImage join(VImage in2, VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:1692
VImage conva(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:638
VImage median(int size=3, VOption *options=0) const
Definition: VImage8.h:1237
VImage rot45(VOption *options=0) const
Definition: vips-operators.cpp:3029
static VImage magickload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1956
void set(const char *field, double *value, int n)
Definition: VImage8.h:610
VImage erode(VImage mask, VOption *options=0) const
Definition: VImage8.h:1227
VImage canny(VOption *options=0) const
Definition: vips-operators.cpp:481
static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options=0)
Definition: vips-operators.cpp:2169
double xres() const
Definition: VImage8.h:509
VipsBlob * tiffsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:3519
static VImage sines(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3227
VImage XYZ2Lab(VOption *options=0) const
Definition: vips-operators.cpp:184
static VImage new_from_memory(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage8.h:911
VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options=0) const
Definition: vips-operators.cpp:2343
VImage quadratic(VImage coeff, VOption *options=0) const
Definition: vips-operators.cpp:2747
VImage relational_const(VipsOperationRelational relational, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2949
VImage relational(VImage right, VipsOperationRelational relational, VOption *options=0) const
Definition: vips-operators.cpp:2935
VImage math2(VImage right, VipsOperationMath2 math2, VOption *options=0) const
Definition: vips-operators.cpp:2218
static VImage pdfload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2542
VImage shrinkh(int hshrink, VOption *options=0) const
Definition: vips-operators.cpp:3177
VImage sequential(VOption *options=0) const
Definition: vips-operators.cpp:3139
VImage hist_plot(VOption *options=0) const
Definition: vips-operators.cpp:1543
static void call(const char *operation_name, VOption *options=0)
Definition: VImage.cpp:556
int get_int(const char *field) const
Definition: VImage8.h:678
void set(const char *field, int *value, int n)
Definition: VImage8.h:587
static VImage new_matrixv(int width, int height,...)
Definition: VImage.cpp:663
VImage crop(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:728
VImage bandmean(VOption *options=0) const
Definition: vips-operators.cpp:368
void set(const char *field, std::vector< int > value)
Definition: VImage8.h:598
VImage Lab2LabQ(VOption *options=0) const
Definition: vips-operators.cpp:76
VImage LabQ2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:136
VImage smartcrop(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:3240
VImage asinh(VOption *options=0) const
Definition: VImage8.h:1435
VImage bandjoin(double other, VOption *options=0) const
Definition: VImage8.h:1133
static VImage csvload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:756
VImage LCh2CMC(VOption *options=0) const
Definition: vips-operators.cpp:40
static VImage mask_gaussian_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2106
VImage cosh(VOption *options=0) const
Definition: VImage8.h:1417
VImage pow(VImage other, VOption *options=0) const
Definition: VImage8.h:1498
VImage CMYK2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:16
VImage hist_local(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:1504
VImage autorot(VOption *options=0) const
Definition: vips-operators.cpp:294
VImage tilecache(VOption *options=0) const
Definition: vips-operators.cpp:3539
VImage thumbnail_image(int width, VOption *options=0) const
Definition: vips-operators.cpp:3449
VipsBlob * magicksave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1988
VImage dE76(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:797
static VImage jpegload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1782
VImage acosh(VOption *options=0) const
Definition: VImage8.h:1444
VImage fill_nearest(VOption *options=0) const
Definition: vips-operators.cpp:1036
int percent(double percent, VOption *options=0) const
Definition: vips-operators.cpp:2554
static VImage niftiload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2450
static VImage new_from_source(VSource source, const char *option_string, VOption *options=0)
Definition: VImage.cpp:619
static VImage webpload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3650
static VImage black(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:404
VImage scRGB2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:3103
VImage colourspace(VipsInterpretation space, VOption *options=0) const
Definition: vips-operators.cpp:519
static VImage rawload(const char *filename, int width, int height, int bands, VOption *options=0)
Definition: vips-operators.cpp:2851
VipsBlob * dzsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:933
static VImage vipsload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3586
VImage gamma(VOption *options=0) const
Definition: vips-operators.cpp:1171
VImage transpose3d(VOption *options=0) const
Definition: vips-operators.cpp:3562
VImage scRGB2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:3115
VImage pow(double other, VOption *options=0) const
Definition: VImage8.h:1507
VImage floor(VOption *options=0) const
Definition: VImage8.h:1246
VImage atan2(double other, VOption *options=0) const
Definition: VImage8.h:1565
static VImage new_memory()
Definition: VImage8.h:845
VImage conv(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:625
static VImage niftiload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2462
VImage divide(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:835
double hist_entropy(VOption *options=0) const
Definition: vips-operators.cpp:1431
bool has_alpha() const
Definition: VImage8.h:545
VImage tanh(VOption *options=0) const
Definition: VImage8.h:1426
void set(const char *field, int value)
Definition: VImage8.h:576
VImage similarity(VOption *options=0) const
Definition: vips-operators.cpp:3215
static VImage gifload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1260
VImage grid(int tile_height, int across, int down, VOption *options=0) const
Definition: vips-operators.cpp:1340
VImage XYZ2CMYK(VOption *options=0) const
Definition: vips-operators.cpp:172
void jxlsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1897
VImage scRGB2BW(VOption *options=0) const
Definition: vips-operators.cpp:3091
VImage ifthenelse(double th, VImage el, VOption *options=0) const
Definition: VImage8.h:1620
VImage case_image(std::vector< VImage > cases, VOption *options=0) const
Definition: vips-operators.cpp:493
void draw_line(std::vector< double > ink, int x1, int y1, int x2, int y2, VOption *options=0) const
Definition: vips-operators.cpp:879
void jpegsave_mime(VOption *options=0) const
Definition: vips-operators.cpp:1826
VImage Lab2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:100
static void call_option_string(const char *operation_name, const char *option_string, VOption *options=0)
Definition: VImage.cpp:502
VImage shrink(double hshrink, double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:3163
VImage maplut(VImage lut, VOption *options=0) const
Definition: vips-operators.cpp:2013
VImage write(VImage out) const
Definition: VImage.cpp:681
VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:1312
VImage sharpen(VOption *options=0) const
Definition: vips-operators.cpp:3151
std::vector< double > get_array_double(const char *field) const
Definition: VImage8.h:742
VImage bandand(VOption *options=0) const
Definition: VImage8.h:1276
VImage log10(VOption *options=0) const
Definition: VImage8.h:1471
VImage bandjoin(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1143
VImage dilate(VImage mask, VOption *options=0) const
Definition: VImage8.h:1215
static VImage heifload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1379
VImage reduceh(double hshrink, VOption *options=0) const
Definition: vips-operators.cpp:2909
VImage freqmult(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:1146
void vipssave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3610
static VImage radload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2796
VImage invert(VOption *options=0) const
Definition: vips-operators.cpp:1656
VImage Lab2LabS(VOption *options=0) const
Definition: vips-operators.cpp:88
VImage stdif(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:3303
static VImage xyz(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3715
VImage new_from_image(double pixel) const
Definition: VImage8.h:985
static VImage svgload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3356
VImage math(VipsOperationMath math, VOption *options=0) const
Definition: vips-operators.cpp:2205
void radsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2828
VImage math2_const(VipsOperationMath2 math2, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2232
VImage invfft(VOption *options=0) const
Definition: vips-operators.cpp:1680
VImage convi(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:677
static VImage matload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2246
VImage phasecor(VImage in2, VOption *options=0) const
Definition: vips-operators.cpp:2580
bool hist_ismonotonic(VOption *options=0) const
Definition: vips-operators.cpp:1492
const char * filename() const
Definition: VImage8.h:555
VImage complex(VipsOperationComplex cmplx, VOption *options=0) const
Definition: vips-operators.cpp:545
VipsBlob * jpegsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1814
VImage sinh(VOption *options=0) const
Definition: VImage8.h:1408
VImage hist_find_ndim(VOption *options=0) const
Definition: vips-operators.cpp:1480
VImage complexget(VipsOperationComplexget get, VOption *options=0) const
Definition: vips-operators.cpp:585
VImage XYZ2Yxy(VOption *options=0) const
Definition: vips-operators.cpp:196
void heifsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1391
static VImage vipsload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3598
static VImage tonelut(VOption *options=0)
Definition: vips-operators.cpp:3551
VImage convf(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:664
VipsCoding coding() const
Definition: VImage8.h:480
static VImage pdfload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2518
VImage dECMC(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:810
static VImage tiffload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3487
static VImage fitsload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1063
void write_to_target(const char *suffix, VTarget target, VOption *options=0) const
Definition: VImage.cpp:762
static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=0)
Definition: vips-operators.cpp:2123
static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options=0)
Definition: vips-operators.cpp:1132
void rawsave_fd(int fd, VOption *options=0) const
Definition: vips-operators.cpp:2874
void jxlsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1877
VImage sign(VOption *options=0) const
Definition: vips-operators.cpp:3203
VImage zoom(int xfac, int yfac, VOption *options=0) const
Definition: vips-operators.cpp:3741
void jp2ksave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1762
static VImage logmat(double sigma, double min_ampl, VOption *options=0)
Definition: vips-operators.cpp:1943
void write_to_file(const char *name, VOption *options=0) const
Definition: VImage.cpp:690
void draw_image(VImage sub, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:869
VImage rank(int width, int height, int index, VOption *options=0) const
Definition: vips-operators.cpp:2836
VImage exp10(VOption *options=0) const
Definition: VImage8.h:1489
static VImage worley(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3690
VImage icc_import(VOption *options=0) const
Definition: vips-operators.cpp:1591
void draw_smudge(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:914
static VImage zone(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3728
void gifsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1272
VImage complexform(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:572
VImage fwfft(VOption *options=0) const
Definition: vips-operators.cpp:1159
VImage labelregions(VOption *options=0) const
Definition: vips-operators.cpp:1905
VImage subtract(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:3331
static VImage jpegload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1770
static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1718
void matrixsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2301
static VImage svgload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3368
static VImage new_from_file(const char *name, VOption *options=0)
Definition: VImage.cpp:562
static VImage webpload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3638
VImage sin(VOption *options=0) const
Definition: VImage8.h:1354
VImage atan2(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1575
static void system(const char *cmd_format, VOption *options=0)
Definition: vips-operators.cpp:3404
std::vector< double > getpoint(int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:1222
VImage LabS2Lab(VOption *options=0) const
Definition: vips-operators.cpp:148
VImage hist_find(VOption *options=0) const
Definition: vips-operators.cpp:1455
VImage hist_equal(VOption *options=0) const
Definition: vips-operators.cpp:1443
static VImage jp2kload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1706
void webpsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:3682
VImage hough_line(VOption *options=0) const
Definition: vips-operators.cpp:1567
VImage rint(VOption *options=0) const
Definition: VImage8.h:1264
double avg(VOption *options=0) const
Definition: vips-operators.cpp:306
static VImage grey(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:1327
void niftisave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2474
VImage rot(VipsAngle angle, VOption *options=0) const
Definition: vips-operators.cpp:3016
void set(const char *field, VipsCallbackFn free_fn, void *data, size_t length)
Definition: VImage8.h:655
VImage round(VipsOperationRound round, VOption *options=0) const
Definition: vips-operators.cpp:3054
static VImage eye(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:998
VipsBlob * heifsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1399
VImage new_from_image(std::vector< double > pixel) const
Definition: VImage8.h:969
VImage conj(VOption *options=0) const
Definition: VImage8.h:1345
static VOption * option()
Definition: VImage8.h:821
void fitssave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1087
VImage sRGB2HSV(VOption *options=0) const
Definition: vips-operators.cpp:3067
static VImage ppmload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2657
void tiffsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:3531
void heifsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1411
VImage hist_norm(VOption *options=0) const
Definition: vips-operators.cpp:1531
VipsBlob * webpsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:3670
VImage buildlut(VOption *options=0) const
Definition: vips-operators.cpp:445
VipsBlob * jxlsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1885
VImage mosaic1(VImage sec, VipsDirection direction, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options=0) const
Definition: vips-operators.cpp:2403
VImage log(VOption *options=0) const
Definition: VImage8.h:1462
static VImage heifload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1355
VImage fliphor(VOption *options=0) const
Definition: VImage8.h:1168
void pngsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2649
void jp2ksave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1742
VImage hist_match(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:1518
VImage sobel(VOption *options=0) const
Definition: vips-operators.cpp:3254
void write_to_buffer(const char *suffix, void **buf, size_t *size, VOption *options=0) const
Definition: VImage.cpp:709
VImage LabQ2Lab(VOption *options=0) const
Definition: vips-operators.cpp:112
VImage asin(VOption *options=0) const
Definition: VImage8.h:1381
VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options=0) const
Definition: vips-operators.cpp:558
VImage abs(VOption *options=0) const
Definition: vips-operators.cpp:232
VImage copy_memory() const
Definition: VImage8.h:1003
VImage atan(VOption *options=0) const
Definition: VImage8.h:1399
static VImage heifload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1367
static VImage pngload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2617
static VImage jpegload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1794
VImage bandor(VOption *options=0) const
Definition: VImage8.h:1288
void get_array_double(const char *field, double **out, int *n) const
Definition: VImage8.h:729
void rawsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2866
VImage remainder_const(std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2976
VImage ifthenelse(VImage th, std::vector< double > el, VOption *options=0) const
Definition: VImage8.h:1597
static VipsBlob * profile_load(const char *name, VOption *options=0)
Definition: vips-operators.cpp:2722
bool remove(const char *name) const
Definition: VImage8.h:812
VImage falsecolour(VOption *options=0) const
Definition: vips-operators.cpp:1011
static VImage mask_ideal_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options=0)
Definition: vips-operators.cpp:2153
VImage rotate(double angle, VOption *options=0) const
Definition: vips-operators.cpp:3041
VImage scale(VOption *options=0) const
Definition: vips-operators.cpp:3127
static VImage arrayjoin(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:282
void draw_rect(std::vector< double > ink, int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:902
VImage hough_circle(VOption *options=0) const
Definition: vips-operators.cpp:1555
VImage fastcor(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:1023
VImage linear(double a, std::vector< double > b, VOption *options=0) const
Definition: VImage8.h:1113
std::complex< double > minpos(VOption *options=0) const
Definition: VImage.cpp:842
static VImage sum(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:3344
VImage multiply(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:2437
static VImage analyzeload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:270
static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options=0)
Definition: vips-operators.cpp:2077
void gifsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1292
void csvsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:776
void dzsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:945
void draw_mask(std::vector< double > ink, VImage mask, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:891
double yres() const
Definition: VImage8.h:518
void set(const char *field, std::vector< double > value)
Definition: VImage8.h:621
VImage boolean_const(VipsOperationBoolean boolean, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:431
static VImage new_from_memory_steal(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage.cpp:641
VImage sRGB2scRGB(VOption *options=0) const
Definition: vips-operators.cpp:3079
void webpsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3662
VImage rad2float(VOption *options=0) const
Definition: vips-operators.cpp:2760
VImage exp(VOption *options=0) const
Definition: VImage8.h:1480
int find_trim(int *top, int *width, int *height, VOption *options=0) const
Definition: vips-operators.cpp:1048
VImage ceil(VOption *options=0) const
Definition: VImage8.h:1255
static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2139
VImage reduce(double hshrink, double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:2895
static VImage pdfload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2530
VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options=0) const
Definition: vips-operators.cpp:417
static VImage openslideload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2506
int yoffset() const
Definition: VImage8.h:536
VipsInterpretation interpretation() const
Definition: VImage8.h:490
VImage rot270(VOption *options=0) const
Definition: VImage8.h:1204
VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options=0) const
Definition: vips-operators.cpp:2385
int height() const
Definition: VImage8.h:453
void jpegsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1833
void set(const char *field, const char *value)
Definition: VImage8.h:642
VImage stats(VOption *options=0) const
Definition: vips-operators.cpp:3291
const void * get_blob(const char *field, size_t *length) const
Definition: VImage8.h:796
void ppmsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2681
double max(VOption *options=0) const
Definition: vips-operators.cpp:2317
VImage shrinkv(int vshrink, VOption *options=0) const
Definition: vips-operators.cpp:3190
static VImage mask_butterworth_band(int width, int height, double order, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2042
static VImage pngload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2605
void jpegsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1806
GType get_typeof(const char *field) const
Definition: VImage8.h:667
static VImage tiffload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3499
VRegion region() const
Definition: VImage.cpp:782
VImage ifthenelse(double th, double el, VOption *options=0) const
Definition: VImage8.h:1640
void tiffsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3511
static VImage pngload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2593
VImage imag(VOption *options=0) const
Definition: VImage8.h:1318
VipsBlob * jp2ksave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1750
VImage linecache(VOption *options=0) const
Definition: vips-operators.cpp:1931
VImage premultiply(VOption *options=0) const
Definition: vips-operators.cpp:2697
VImage composite(VImage other, VipsBlendMode mode, VOption *options=0) const
Definition: VImage.cpp:831
static VImage new_matrix(int width, int height, double *array, int size)
Definition: VImage8.h:946
VipsInterpretation guess_interpretation() const
Definition: VImage8.h:500
VImage cache(VOption *options=0) const
Definition: vips-operators.cpp:469
double get_double(const char *field) const
Definition: VImage8.h:762
static VImage jp2kload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1730
VImage byteswap(VOption *options=0) const
Definition: vips-operators.cpp:457
VImage remainder(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:2963
VImage wop(double other, VOption *options=0) const
Definition: VImage8.h:1536
VipsBlob * gifsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1280
int bands() const
Definition: VImage8.h:462
static VImage openexrload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2482
static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2091
VImage icc_export(VOption *options=0) const
Definition: vips-operators.cpp:1579
VImage extract_band(int band, VOption *options=0) const
Definition: vips-operators.cpp:985
VImage unpremultiply(VOption *options=0) const
Definition: vips-operators.cpp:3574
VImage globalbalance(VOption *options=0) const
Definition: vips-operators.cpp:1300
VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options=0) const
Definition: vips-operators.cpp:2371
VImage LabS2LabQ(VOption *options=0) const
Definition: vips-operators.cpp:160
static VImage jxlload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1841
VImage acos(VOption *options=0) const
Definition: VImage8.h:1390
static VImage ppmload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2669
VImage CMC2LCh(VOption *options=0) const
Definition: vips-operators.cpp:4
static VImage webpload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3626
double deviate(VOption *options=0) const
Definition: vips-operators.cpp:823
VImage insert(VImage sub, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:1641
VImage ifthenelse(std::vector< double > th, VImage el, VOption *options=0) const
Definition: VImage8.h:1586
VImage bandjoin_const(std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:355
VImage spectrum(VOption *options=0) const
Definition: vips-operators.cpp:3279
VImage()
Definition: VImage8.h:424
VImage dE00(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:784
void matrixprint(VOption *options=0) const
Definition: vips-operators.cpp:2294
std::complex< double > maxpos(VOption *options=0) const
Definition: VImage.cpp:855
static VImage new_temp_file(const char *file_format=".v")
Definition: VImage8.h:855
VImage flip(VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:1107
static VImage gaussnoise(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:1209
VImage atanh(VOption *options=0) const
Definition: VImage8.h:1453
double countlines(VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:715
VImage linear(double a, double b, VOption *options=0) const
Definition: VImage8.h:1090
void * write_to_memory(size_t *size) const
Definition: VImage8.h:1055
void ppmsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2689
VImage wop(VImage other, VOption *options=0) const
Definition: VImage8.h:1527
void set(const char *field, double value)
Definition: VImage8.h:631
VImage Yxy2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:220
static VImage new_matrix(int width, int height)
Definition: VImage.cpp:657
void magicksave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1980
static VImage perlin(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:2567
VImage(VipsImage *image, VSteal steal=STEAL)
Definition: VImage8.h:416
VImage bandfold(VOption *options=0) const
Definition: vips-operators.cpp:331
VImage match(VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options=0) const
Definition: vips-operators.cpp:2184
void draw_flood(std::vector< double > ink, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:859
VImage rot90(VOption *options=0) const
Definition: VImage8.h:1186
static VImage radload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2772
VImage copy(VOption *options=0) const
Definition: vips-operators.cpp:703
VImage real(VOption *options=0) const
Definition: VImage8.h:1309
static VImage jxlload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1853
std::vector< int > get_array_int(const char *field) const
Definition: VImage8.h:708
static VImage matrixload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2282
VImage spcor(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:3266
VImage wop(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1546
static VImage svgload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3380
VImage flipver(VOption *options=0) const
Definition: VImage8.h:1177
VImage atan2(VImage other, VOption *options=0) const
Definition: VImage8.h:1556
VImage Lab2LCh(VOption *options=0) const
Definition: vips-operators.cpp:64
void draw_circle(std::vector< double > ink, int cx, int cy, int radius, VOption *options=0) const
Definition: vips-operators.cpp:848
VImage extract_area(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:969
VImage profile(VImage *rows, VOption *options=0) const
Definition: vips-operators.cpp:2709
void vipssave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:3618
VImage hist_find_indexed(VImage index, VOption *options=0) const
Definition: vips-operators.cpp:1467
VImage ifthenelse(std::vector< double > th, std::vector< double > el, VOption *options=0) const
Definition: VImage8.h:1608
std::vector< VImage > bandsplit(VOption *options=0) const
Definition: VImage.cpp:810
VImage rect(VOption *options=0) const
Definition: VImage8.h:1336
const void * data() const
Definition: VImage8.h:567
VipsBandFormat format() const
Definition: VImage8.h:471
static VImage thumbnail_source(VSource source, int width, VOption *options=0)
Definition: vips-operators.cpp:3462
VImage mapim(VImage index, VOption *options=0) const
Definition: vips-operators.cpp:2000
VImage recomb(VImage m, VOption *options=0) const
Definition: vips-operators.cpp:2882
void get_array_int(const char *field, int **out, int *n) const
Definition: VImage8.h:695
VImage rot180(VOption *options=0) const
Definition: VImage8.h:1195
VImage icc_transform(const char *output_profile, VOption *options=0) const
Definition: vips-operators.cpp:1603
static VImage new_from_buffer(const void *buf, size_t len, const char *option_string, VOption *options=0)
Definition: VImage.cpp:585
static VImage thumbnail(const char *filename, int width, VOption *options=0)
Definition: vips-operators.cpp:3423
void pngsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2629
static VImage gifload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1236
static VImage radload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2784
static VImage gifload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1248
VImage embed(int x, int y, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:953
const char * get_string(const char *field) const
Definition: VImage8.h:779
static VImage openslideload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2494
void matrixsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2309
int width() const
Definition: VImage8.h:444
VImage bandbool(VipsOperationBoolean boolean, VOption *options=0) const
Definition: vips-operators.cpp:318
VImage convasep(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:651
VImage float2rad(VOption *options=0) const
Definition: vips-operators.cpp:1120
double min(VOption *options=0) const
Definition: vips-operators.cpp:2359
VImage pow(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1517
VImage cos(VOption *options=0) const
Definition: VImage8.h:1363
VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options=0) const
Definition: vips-operators.cpp:611
static VImage switch_image(std::vector< VImage > tests, VOption *options=0)
Definition: vips-operators.cpp:3392
static VImage bandrank(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:380
VImage replicate(int across, int down, VOption *options=0) const
Definition: vips-operators.cpp:2989
VipsBlob * radsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:2816
VImage bandunfold(VOption *options=0) const
Definition: vips-operators.cpp:392
static VImage gaussmat(double sigma, double min_ampl, VOption *options=0)
Definition: vips-operators.cpp:1196
static VImage matrixload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2270
VipsBlob * pngsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:2637
static VImage tiffload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3475
int xoffset() const
Definition: VImage8.h:527
VImage affine(std::vector< double > matrix, VOption *options=0) const
Definition: vips-operators.cpp:257
VImage tan(VOption *options=0) const
Definition: VImage8.h:1372
VImage matrixinvert(VOption *options=0) const
Definition: vips-operators.cpp:2258
static VImage magickload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1968
VImage linear(std::vector< double > a, double b, VOption *options=0) const
Definition: VImage8.h:1102
VImage add(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:244
VImage LabQ2LabS(VOption *options=0) const
Definition: vips-operators.cpp:124
static VImage csvload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:744
VImage LCh2Lab(VOption *options=0) const
Definition: vips-operators.cpp:52
VImage hist_cum(VOption *options=0) const
Definition: vips-operators.cpp:1419
void csvsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:768
VImage cast(VipsBandFormat format, VOption *options=0) const
Definition: vips-operators.cpp:506
static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2026
static VImage text(const char *text, VOption *options=0)
Definition: vips-operators.cpp:3411
static VImage fitsload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1075
VipsImage * get_image() const
Definition: VImage8.h:435
VImage msb(VOption *options=0) const
Definition: vips-operators.cpp:2425
static VImage identity(VOption *options=0)
Definition: vips-operators.cpp:1616
VImage flatten(VOption *options=0) const
Definition: vips-operators.cpp:1095
VImage project(VImage *rows, VOption *options=0) const
Definition: vips-operators.cpp:2734
VImage bandeor(VOption *options=0) const
Definition: VImage8.h:1300
VImage wrap(VOption *options=0) const
Definition: vips-operators.cpp:3703
VImage convsep(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:690
VImage reducev(double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:2922
static VImage jxlload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1865
void radsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2808
VImage XYZ2scRGB(VOption *options=0) const
Definition: vips-operators.cpp:208
VImage gaussblur(double sigma, VOption *options=0) const
Definition: vips-operators.cpp:1183
VImage invertlut(VOption *options=0) const
Definition: vips-operators.cpp:1668
static VImage thumbnail_buffer(VipsBlob *buffer, int width, VOption *options=0)
Definition: vips-operators.cpp:3436
VImage polar(VOption *options=0) const
Definition: VImage8.h:1327
VImage bandjoin(VImage other, VOption *options=0) const
Definition: VImage.cpp:822
VImage resize(double scale, VOption *options=0) const
Definition: vips-operators.cpp:3003
VImage ifthenelse(VImage th, double el, VOption *options=0) const
Definition: VImage8.h:1630
void dzsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:925
VImage compass(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:532
VImage measure(int h, int v, VOption *options=0) const
Definition: vips-operators.cpp:2329
static VImage mask_butterworth_ring(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=0)
Definition: vips-operators.cpp:2060
VImage subsample(int xfac, int yfac, VOption *options=0) const
Definition: vips-operators.cpp:3317
Definition: VInterpolate8.h:46
Definition: VImage8.h:68
VObject(VipsObject *new_vobject, VSteal steal=STEAL)
Definition: VImage8.h:80
VipsObject * get_object() const
Definition: VImage8.h:172
bool is_null() const
Definition: VImage8.h:183
Definition: VImage8.h:218
void get_operation(VipsOperation *operation)
Definition: VImage.cpp:448
VOption * set(const char *name, bool value)
Definition: VImage.cpp:123
void set_operation(VipsOperation *operation)
Definition: VImage.cpp:426
Definition: VRegion8.h:41
Definition: VConnection8.h:46
Definition: VConnection8.h:107