vips-cpp  8.12
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 VSource;
193 class VIPS_CPLUSPLUS_API VTarget;
194 class VIPS_CPLUSPLUS_API VOption;
195 
217 class VOption {
218 private:
219  struct Pair {
220  const char *name;
221 
222  // the thing we pass to and from our caller
223  GValue value;
224 
225  // an input or output parameter ... we guess the direction
226  // from the arg to set()
227  bool input;
228 
229  // the pointer we write output values to
230  union {
231  bool *vbool;
232  int *vint;
233  double *vdouble;
234  VImage *vimage;
235  std::vector<double> *vvector;
236  VipsBlob **vblob;
237  };
238 
239  Pair( const char *name ) :
240  name( name ), input( false ), vimage( 0 )
241  {
242  // argh = {0} won't work wil vanilla C++
243  memset( &value, 0, sizeof( GValue ) );
244  }
245 
246  ~Pair()
247  {
248  g_value_unset( &value );
249  }
250  };
251 
252  std::list<Pair *> options;
253 
254 public:
255  VOption()
256  {
257  }
258 
259  virtual ~VOption();
260 
264  VOption *
265  set( const char *name, bool value );
266 
271  VOption *
272  set( const char *name, int value );
273 
277  VOption *
278  set( const char *name, guint64 value );
279 
283  VOption *
284  set( const char *name, double value );
285 
291  VOption *
292  set( const char *name, const char *value );
293 
300  VOption *
301  set( const char *name, const VObject value );
302 
308  VOption *
309  set( const char *name, std::vector<int> value );
310 
316  VOption *
317  set( const char *name, std::vector<double> value );
318 
324  VOption *
325  set( const char *name, std::vector<VImage> value );
326 
333  VOption *
334  set( const char *name, VipsBlob *value );
335 
339  VOption *
340  set( const char *name, bool *value );
341 
345  VOption *
346  set( const char *name, int *value );
347 
351  VOption *
352  set( const char *name, double *value );
353 
357  VOption *
358  set( const char *name, VImage *value );
359 
363  VOption *
364  set( const char *name, std::vector<double> *value );
365 
370  VOption *
371  set( const char *name, VipsBlob **blob );
372 
377  void
378  set_operation( VipsOperation *operation );
379 
384  void
385  get_operation( VipsOperation *operation );
386 
387 };
388 
404 class VImage : public VObject
405 {
406 public:
407  using VObject::is_null;
408 
415  VImage( VipsImage *image, VSteal steal = STEAL ) :
416  VObject( (VipsObject *) image, steal )
417  {
418  }
419 
423  VImage() :
424  VObject( 0 )
425  {
426  }
427 
433  VipsImage *
434  get_image() const
435  {
436  return( (VipsImage *) VObject::get_object() );
437  }
438 
442  int
443  width() const
444  {
445  return( vips_image_get_width( get_image() ) );
446  }
447 
451  int
452  height() const
453  {
454  return( vips_image_get_height( get_image() ) );
455  }
456 
460  int
461  bands() const
462  {
463  return( vips_image_get_bands( get_image() ) );
464  }
465 
469  VipsBandFormat
470  format() const
471  {
472  return( vips_image_get_format( get_image() ) );
473  }
474 
478  VipsCoding
479  coding() const
480  {
481  return( vips_image_get_coding( get_image() ) );
482  }
483 
488  VipsInterpretation
490  {
491  return( vips_image_get_interpretation( get_image() ) );
492  }
493 
498  VipsInterpretation
500  {
501  return( vips_image_guess_interpretation( get_image() ) );
502  }
503 
507  double
508  xres() const
509  {
510  return( vips_image_get_xres( get_image() ) );
511  }
512 
516  double
517  yres() const
518  {
519  return( vips_image_get_yres( get_image() ) );
520  }
521 
525  int
526  xoffset() const
527  {
528  return( vips_image_get_xoffset( get_image() ) );
529  }
530 
534  int
535  yoffset() const
536  {
537  return( vips_image_get_yoffset( get_image() ) );
538  }
539 
543  bool
544  has_alpha() const
545  {
546  return( vips_image_hasalpha( get_image() ) );
547  }
548 
553  const char *
554  filename() const
555  {
556  return( vips_image_get_filename( get_image() ) );
557  }
558 
565  const void *
566  data() const
567  {
568  return( vips_image_get_data( get_image() ) );
569  }
570 
574  void
575  set( const char *field, int value )
576  {
577  vips_image_set_int( this->get_image(), field, value );
578  }
579 
585  void
586  set( const char *field, int *value, int n )
587  {
588  vips_image_set_array_int( this->get_image(), field, value, n );
589  }
590 
596  void
597  set( const char *field, std::vector<int> value )
598  {
599  vips_image_set_array_int( this->get_image(), field, &value[0],
600  static_cast<int>( value.size() ) );
601  }
602 
608  void
609  set( const char *field, double *value, int n )
610  {
611  vips_image_set_array_double( this->get_image(), field, value, n );
612  }
613 
619  void
620  set( const char *field, std::vector<double> value )
621  {
622  vips_image_set_array_double( this->get_image(), field, &value[0],
623  static_cast<int>( value.size() ) );
624  }
625 
629  void
630  set( const char *field, double value )
631  {
632  vips_image_set_double( this->get_image(), field, value );
633  }
634 
640  void
641  set( const char *field, const char *value )
642  {
643  vips_image_set_string( this->get_image(), field, value );
644  }
645 
653  void
654  set( const char *field,
655  VipsCallbackFn free_fn, void *data, size_t length )
656  {
657  vips_image_set_blob( this->get_image(), field,
658  free_fn, data, length );
659  }
660 
665  GType
666  get_typeof( const char *field ) const
667  {
668  return( vips_image_get_typeof( this->get_image(), field ) );
669  }
670 
676  int
677  get_int( const char *field ) const
678  {
679  int value;
680 
681  if( vips_image_get_int( this->get_image(), field, &value ) )
682  throw( VError() );
683 
684  return( value );
685  }
686 
693  void
694  get_array_int( const char *field, int **out, int *n ) const
695  {
696  if( vips_image_get_array_int( this->get_image(),
697  field, out, n ) )
698  throw( VError() );
699  }
700 
706  std::vector<int>
707  get_array_int( const char *field ) const
708  {
709  int length;
710  int *array;
711 
712  if( vips_image_get_array_int( this->get_image(),
713  field, &array, &length ) )
714  throw( VError() );
715 
716  std::vector<int> vector( array, array + length );
717 
718  return( vector );
719  }
720 
727  void
728  get_array_double( const char *field, double **out, int *n ) const
729  {
730  if( vips_image_get_array_double( this->get_image(),
731  field, out, n ) )
732  throw( VError() );
733  }
734 
740  std::vector<double>
741  get_array_double( const char *field ) const
742  {
743  int length;
744  double *array;
745 
746  if( vips_image_get_array_double( this->get_image(),
747  field, &array, &length ) )
748  throw( VError() );
749 
750  std::vector<double> vector( array, array + length );
751 
752  return( vector );
753  }
754 
760  double
761  get_double( const char *field ) const
762  {
763  double value;
764 
765  if( vips_image_get_double( this->get_image(), field, &value ) )
766  throw( VError() );
767 
768  return( value );
769  }
770 
777  const char *
778  get_string( const char *field ) const
779  {
780  const char *value;
781 
782  if( vips_image_get_string( this->get_image(), field, &value ) )
783  throw( VError() );
784 
785  return( value );
786  }
787 
794  const void *
795  get_blob( const char *field, size_t *length ) const
796  {
797  const void *value;
798 
799  if( vips_image_get_blob( this->get_image(), field,
800  &value, length ) )
801  throw( VError() );
802 
803  return( value );
804  }
805 
810  bool
811  remove( const char *name ) const
812  {
813  return( vips_image_remove( get_image(), name ) );
814  }
815 
819  static VOption *
821  {
822  return( new VOption() );
823  }
824 
829  static void
830  call_option_string( const char *operation_name,
831  const char *option_string, VOption *options = 0 );
832 
836  static void
837  call( const char *operation_name, VOption *options = 0 );
838 
843  static VImage
845  {
846  return( VImage( vips_image_new_memory() ) );
847  }
848 
853  static VImage
854  new_temp_file( const char *file_format = ".v" )
855  {
856  VipsImage *image;
857 
858  if( !(image = vips_image_new_temp_file( file_format )) )
859  throw( VError() );
860 
861  return( VImage( image ) );
862  }
863 
870  static VImage
871  new_from_file( const char *name, VOption *options = 0 );
872 
880  static VImage
881  new_from_buffer( const void *buf, size_t len,
882  const char *option_string, VOption *options = 0 );
883 
891  static VImage
892  new_from_buffer( const std::string &buf,
893  const char *option_string, VOption *options = 0 );
894 
901  static VImage
902  new_from_source( VSource source,
903  const char *option_string, VOption *options = 0 );
904 
909  static VImage
910  new_from_memory( void *data, size_t size,
911  int width, int height, int bands, VipsBandFormat format )
912  {
913  VipsImage *image;
914 
915  if( !(image = vips_image_new_from_memory( data, size,
916  width, height, bands, format )) )
917  throw( VError() );
918 
919  return( VImage( image ) );
920  }
921 
929  static VImage
930  new_from_memory_steal( void *data, size_t size,
931  int width, int height, int bands, VipsBandFormat format );
932 
937  static VImage
938  new_matrix( int width, int height );
939 
944  static VImage
945  new_matrix( int width, int height, double *array, int size )
946  {
947  VipsImage *image;
948 
949  if( !(image = vips_image_new_matrix_from_array( width, height,
950  array, size )) )
951  throw( VError() );
952 
953  return( VImage( image ) );
954  }
955 
960  static VImage
961  new_matrixv( int width, int height, ... );
962 
967  VImage
968  new_from_image( std::vector<double> pixel ) const
969  {
970  VipsImage *image;
971 
972  if( !(image = vips_image_new_from_image( this->get_image(),
973  &pixel[0], static_cast<int>( pixel.size() ) )) )
974  throw( VError() );
975 
976  return( VImage( image ) );
977  }
978 
983  VImage
984  new_from_image( double pixel ) const
985  {
986  return( new_from_image( to_vectorv( 1, pixel ) ) );
987  }
988 
994  VImage
995  copy_memory() const
996  {
997  VipsImage *image;
998 
999  if( !(image = vips_image_copy_memory( this->get_image() )) )
1000  throw( VError() );
1001 
1002  return( VImage( image ) );
1003  }
1004 
1008  VImage write( VImage out ) const;
1009 
1016  void write_to_file( const char *name, VOption *options = 0 ) const;
1017 
1031  void write_to_buffer( const char *suffix, void **buf, size_t *size,
1032  VOption *options = 0 ) const;
1033 
1040  void write_to_target( const char *suffix, VTarget target,
1041  VOption *options = 0 ) const;
1042 
1046  void *
1047  write_to_memory( size_t *size ) const
1048  {
1049  void *result;
1050 
1051  if( !(result = vips_image_write_to_memory( this->get_image(),
1052  size )) )
1053  throw( VError() );
1054 
1055  return( result );
1056  }
1057 
1063  VImage
1064  linear( double a, double b, VOption *options = 0 ) const
1065  {
1066  return( this->linear( to_vector( a ), to_vector( b ),
1067  options ) );
1068  }
1069 
1075  VImage
1076  linear( std::vector<double> a, double b, VOption *options = 0 ) const
1077  {
1078  return( this->linear( a, to_vector( b ), options ) );
1079  }
1080 
1086  VImage
1087  linear( double a, std::vector<double> b, VOption *options = 0 ) const
1088  {
1089  return( this->linear( to_vector( a ), b, options ) );
1090  }
1091 
1095  std::vector<VImage> bandsplit( VOption *options = 0 ) const;
1096 
1100  VImage bandjoin( VImage other, VOption *options = 0 ) const;
1101 
1106  VImage
1107  bandjoin( double other, VOption *options = 0 ) const
1108  {
1109  return( bandjoin( to_vector( other ), options ) );
1110  }
1111 
1116  VImage
1117  bandjoin( std::vector<double> other, VOption *options = 0 ) const
1118  {
1119  return( bandjoin_const( other, options ) );
1120  }
1121 
1125  VImage composite( VImage other, VipsBlendMode mode,
1126  VOption *options = 0 ) const;
1127 
1131  std::complex<double> minpos( VOption *options = 0 ) const;
1132 
1136  std::complex<double> maxpos( VOption *options = 0 ) const;
1137 
1141  VImage
1142  fliphor( VOption *options = 0 ) const
1143  {
1144  return( flip( VIPS_DIRECTION_HORIZONTAL, options ) );
1145  }
1146 
1150  VImage
1151  flipver( VOption *options = 0 ) const
1152  {
1153  return( flip( VIPS_DIRECTION_VERTICAL, options ) );
1154  }
1155 
1159  VImage
1160  rot90( VOption *options = 0 ) const
1161  {
1162  return( rot( VIPS_ANGLE_D90, options ) );
1163  }
1164 
1168  VImage
1169  rot180( VOption *options = 0 ) const
1170  {
1171  return( rot( VIPS_ANGLE_D180, options ) );
1172  }
1173 
1177  VImage
1178  rot270( VOption *options = 0 ) const
1179  {
1180  return( rot( VIPS_ANGLE_D270, options ) );
1181  }
1182 
1188  VImage
1189  dilate( VImage mask, VOption *options = 0 ) const
1190  {
1191  return( morph( mask, VIPS_OPERATION_MORPHOLOGY_DILATE,
1192  options ) );
1193  }
1194 
1200  VImage
1201  erode( VImage mask, VOption *options = 0 ) const
1202  {
1203  return( morph( mask, VIPS_OPERATION_MORPHOLOGY_ERODE,
1204  options ) );
1205  }
1206 
1210  VImage
1211  median( int size = 3, VOption *options = 0 ) const
1212  {
1213  return( rank( size, size, (size * size) / 2, options ) );
1214  }
1215 
1219  VImage
1220  floor( VOption *options = 0 ) const
1221  {
1222  return( round( VIPS_OPERATION_ROUND_FLOOR, options ) );
1223  }
1224 
1228  VImage
1229  ceil( VOption *options = 0 ) const
1230  {
1231  return( round( VIPS_OPERATION_ROUND_CEIL, options ) );
1232  }
1233 
1237  VImage
1238  rint( VOption *options = 0 ) const
1239  {
1240  return( round( VIPS_OPERATION_ROUND_RINT, options ) );
1241  }
1242 
1249  VImage
1250  bandand( VOption *options = 0 ) const
1251  {
1252  return( bandbool( VIPS_OPERATION_BOOLEAN_AND, options ) );
1253  }
1254 
1261  VImage
1262  bandor( VOption *options = 0 ) const
1263  {
1264  return( bandbool( VIPS_OPERATION_BOOLEAN_OR, options ) );
1265  }
1266 
1273  VImage
1274  bandeor( VOption *options = 0 ) const
1275  {
1276  return( bandbool( VIPS_OPERATION_BOOLEAN_EOR, options ) );
1277  }
1278 
1282  VImage
1283  real( VOption *options = 0 ) const
1284  {
1285  return( complexget( VIPS_OPERATION_COMPLEXGET_REAL, options ) );
1286  }
1287 
1291  VImage
1292  imag( VOption *options = 0 ) const
1293  {
1294  return( complexget( VIPS_OPERATION_COMPLEXGET_IMAG, options ) );
1295  }
1296 
1300  VImage
1301  polar( VOption *options = 0 ) const
1302  {
1303  return( complex( VIPS_OPERATION_COMPLEX_POLAR, options ) );
1304  }
1305 
1309  VImage
1310  rect( VOption *options = 0 ) const
1311  {
1312  return( complex( VIPS_OPERATION_COMPLEX_RECT, options ) );
1313  }
1314 
1318  VImage
1319  conj( VOption *options = 0 ) const
1320  {
1321  return( complex( VIPS_OPERATION_COMPLEX_CONJ, options ) );
1322  }
1323 
1327  VImage
1328  sin( VOption *options = 0 ) const
1329  {
1330  return( math( VIPS_OPERATION_MATH_SIN, options ) );
1331  }
1332 
1336  VImage
1337  cos( VOption *options = 0 ) const
1338  {
1339  return( math( VIPS_OPERATION_MATH_COS, options ) );
1340  }
1341 
1345  VImage
1346  tan( VOption *options = 0 ) const
1347  {
1348  return( math( VIPS_OPERATION_MATH_TAN, options ) );
1349  }
1350 
1354  VImage
1355  asin( VOption *options = 0 ) const
1356  {
1357  return( math( VIPS_OPERATION_MATH_ASIN, options ) );
1358  }
1359 
1363  VImage
1364  acos( VOption *options = 0 ) const
1365  {
1366  return( math( VIPS_OPERATION_MATH_ACOS, options ) );
1367  }
1368 
1372  VImage
1373  atan( VOption *options = 0 ) const
1374  {
1375  return( math( VIPS_OPERATION_MATH_ATAN, options ) );
1376  }
1377 
1381  VImage
1382  sinh( VOption *options = 0 ) const
1383  {
1384  return( math( VIPS_OPERATION_MATH_SINH, options ) );
1385  }
1386 
1390  VImage
1391  cosh( VOption *options = 0 ) const
1392  {
1393  return( math( VIPS_OPERATION_MATH_COSH, options ) );
1394  }
1395 
1399  VImage
1400  tanh( VOption *options = 0 ) const
1401  {
1402  return( math( VIPS_OPERATION_MATH_TANH, options ) );
1403  }
1404 
1408  VImage
1409  asinh( VOption *options = 0 ) const
1410  {
1411  return( math( VIPS_OPERATION_MATH_ASINH, options ) );
1412  }
1413 
1417  VImage
1418  acosh( VOption *options = 0 ) const
1419  {
1420  return( math( VIPS_OPERATION_MATH_ACOSH, options ) );
1421  }
1422 
1426  VImage
1427  atanh( VOption *options = 0 ) const
1428  {
1429  return( math( VIPS_OPERATION_MATH_ATANH, options ) );
1430  }
1431 
1435  VImage
1436  log( VOption *options = 0 ) const
1437  {
1438  return( math( VIPS_OPERATION_MATH_LOG, options ) );
1439  }
1440 
1444  VImage
1445  log10( VOption *options = 0 ) const
1446  {
1447  return( math( VIPS_OPERATION_MATH_LOG10, options ) );
1448  }
1449 
1453  VImage
1454  exp( VOption *options = 0 ) const
1455  {
1456  return( math( VIPS_OPERATION_MATH_EXP, options ) );
1457  }
1458 
1462  VImage
1463  exp10( VOption *options = 0 ) const
1464  {
1465  return( math( VIPS_OPERATION_MATH_EXP10, options ) );
1466  }
1467 
1471  VImage
1472  pow( VImage other, VOption *options = 0 ) const
1473  {
1474  return( math2( other, VIPS_OPERATION_MATH2_POW, options ) );
1475  }
1476 
1480  VImage
1481  pow( double other, VOption *options = 0 ) const
1482  {
1483  return( math2_const( VIPS_OPERATION_MATH2_POW,
1484  to_vector( other ), options ) );
1485  }
1486 
1490  VImage
1491  pow( std::vector<double> other, VOption *options = 0 ) const
1492  {
1493  return( math2_const( VIPS_OPERATION_MATH2_POW,
1494  other, options ) );
1495  }
1496 
1500  VImage
1501  wop( VImage other, VOption *options = 0 ) const
1502  {
1503  return( math2( other, VIPS_OPERATION_MATH2_WOP, options ) );
1504  }
1505 
1509  VImage
1510  wop( double other, VOption *options = 0 ) const
1511  {
1512  return( math2_const( VIPS_OPERATION_MATH2_WOP,
1513  to_vector( other ), options ) );
1514  }
1515 
1519  VImage
1520  wop( std::vector<double> other, VOption *options = 0 ) const
1521  {
1522  return( math2_const( VIPS_OPERATION_MATH2_WOP,
1523  other, options ) );
1524  }
1525 
1529  VImage
1530  atan2( VImage other, VOption *options = 0 ) const
1531  {
1532  return( math2( other, VIPS_OPERATION_MATH2_ATAN2, options ) );
1533  }
1534 
1538  VImage
1539  atan2( double other, VOption *options = 0 ) const
1540  {
1541  return( math2_const( VIPS_OPERATION_MATH2_ATAN2,
1542  to_vector( other ), options ) );
1543  }
1544 
1548  VImage
1549  atan2( std::vector<double> other, VOption *options = 0 ) const
1550  {
1551  return( math2_const( VIPS_OPERATION_MATH2_ATAN2,
1552  other, options ) );
1553  }
1554 
1559  VImage
1560  ifthenelse( std::vector<double> th, VImage el,
1561  VOption *options = 0 ) const
1562  {
1563  return( ifthenelse( el.new_from_image( th ), el, options ) );
1564  }
1565 
1570  VImage
1571  ifthenelse( VImage th, std::vector<double> el,
1572  VOption *options = 0 ) const
1573  {
1574  return( ifthenelse( th, th.new_from_image( el ), options ) );
1575  }
1576 
1581  VImage
1582  ifthenelse( std::vector<double> th, std::vector<double> el,
1583  VOption *options = 0 ) const
1584  {
1585  return( ifthenelse( new_from_image( th ), new_from_image( el ),
1586  options ) );
1587  }
1588 
1593  VImage
1594  ifthenelse( double th, VImage el, VOption *options = 0 ) const
1595  {
1596  return( ifthenelse( to_vector( th ), el, options ) );
1597  }
1598 
1603  VImage
1604  ifthenelse( VImage th, double el, VOption *options = 0 ) const
1605  {
1606  return( ifthenelse( th, to_vector( el ), options ) );
1607  }
1608 
1613  VImage
1614  ifthenelse( double th, double el, VOption *options = 0 ) const
1615  {
1616  return( ifthenelse( to_vector( th ), to_vector( el ),
1617  options ) );
1618  }
1619 
1620  // Operator overloads
1621 
1622  VImage operator[]( int index ) const;
1623 
1624  std::vector<double> operator()( int x, int y ) const;
1625 
1626  friend VIPS_CPLUSPLUS_API VImage
1627  operator+( const VImage a, const VImage b );
1628  friend VIPS_CPLUSPLUS_API VImage
1629  operator+( const double a, const VImage b );
1630  friend VIPS_CPLUSPLUS_API VImage
1631  operator+( const VImage a, const double b );
1632  friend VIPS_CPLUSPLUS_API VImage
1633  operator+( const std::vector<double> a, const VImage b );
1634  friend VIPS_CPLUSPLUS_API VImage
1635  operator+( const VImage a, const std::vector<double> b );
1636 
1637  friend VIPS_CPLUSPLUS_API VImage &
1638  operator+=( VImage &a, const VImage b );
1639  friend VIPS_CPLUSPLUS_API VImage &
1640  operator+=( VImage &a, const double b );
1641  friend VIPS_CPLUSPLUS_API VImage &
1642  operator+=( VImage &a, const std::vector<double> b );
1643 
1644  friend VIPS_CPLUSPLUS_API VImage
1645  operator-( const VImage a, const VImage b );
1646  friend VIPS_CPLUSPLUS_API VImage
1647  operator-( const double a, const VImage b );
1648  friend VIPS_CPLUSPLUS_API VImage
1649  operator-( const VImage a, const double b );
1650  friend VIPS_CPLUSPLUS_API VImage
1651  operator-( const std::vector<double> a, const VImage b );
1652  friend VIPS_CPLUSPLUS_API VImage
1653  operator-( const VImage a, const std::vector<double> b );
1654 
1655  friend VIPS_CPLUSPLUS_API VImage &
1656  operator-=( VImage &a, const VImage b );
1657  friend VIPS_CPLUSPLUS_API VImage &
1658  operator-=( VImage &a, const double b );
1659  friend VIPS_CPLUSPLUS_API VImage &
1660  operator-=( VImage &a, const std::vector<double> b );
1661 
1662  friend VIPS_CPLUSPLUS_API VImage
1663  operator-( const VImage a );
1664 
1665  friend VIPS_CPLUSPLUS_API VImage
1666  operator*( const VImage a, const VImage b );
1667  friend VIPS_CPLUSPLUS_API VImage
1668  operator*( const double a, const VImage b );
1669  friend VIPS_CPLUSPLUS_API VImage
1670  operator*( const VImage a, const double b );
1671  friend VIPS_CPLUSPLUS_API VImage
1672  operator*( const std::vector<double> a, const VImage b );
1673  friend VIPS_CPLUSPLUS_API VImage
1674  operator*( const VImage a, const std::vector<double> b );
1675 
1676  friend VIPS_CPLUSPLUS_API VImage &
1677  operator*=( VImage &a, const VImage b );
1678  friend VIPS_CPLUSPLUS_API VImage &
1679  operator*=( VImage &a, const double b );
1680  friend VIPS_CPLUSPLUS_API VImage &
1681  operator*=( VImage &a, const std::vector<double> b );
1682 
1683  friend VIPS_CPLUSPLUS_API VImage
1684  operator/( const VImage a, const VImage b );
1685  friend VIPS_CPLUSPLUS_API VImage
1686  operator/( const double a, const VImage b );
1687  friend VIPS_CPLUSPLUS_API VImage
1688  operator/( const VImage a, const double b );
1689  friend VIPS_CPLUSPLUS_API VImage
1690  operator/( const std::vector<double> a, const VImage b );
1691  friend VIPS_CPLUSPLUS_API VImage
1692  operator/( const VImage a, const std::vector<double> b );
1693 
1694  friend VIPS_CPLUSPLUS_API VImage &
1695  operator/=( VImage &a, const VImage b );
1696  friend VIPS_CPLUSPLUS_API VImage &
1697  operator/=( VImage &a, const double b );
1698  friend VIPS_CPLUSPLUS_API VImage &
1699  operator/=( VImage &a, const std::vector<double> b );
1700 
1701  friend VIPS_CPLUSPLUS_API VImage
1702  operator%( const VImage a, const VImage b );
1703  friend VIPS_CPLUSPLUS_API VImage
1704  operator%( const VImage a, const double b );
1705  friend VIPS_CPLUSPLUS_API VImage
1706  operator%( const VImage a, const std::vector<double> b );
1707 
1708  friend VIPS_CPLUSPLUS_API VImage &
1709  operator%=( VImage &a, const VImage b );
1710  friend VIPS_CPLUSPLUS_API VImage &
1711  operator%=( VImage &a, const double b );
1712  friend VIPS_CPLUSPLUS_API VImage &
1713  operator%=( VImage &a, const std::vector<double> b );
1714 
1715  friend VIPS_CPLUSPLUS_API VImage
1716  operator<( const VImage a, const VImage b );
1717  friend VIPS_CPLUSPLUS_API VImage
1718  operator<( const double a, const VImage b );
1719  friend VIPS_CPLUSPLUS_API VImage
1720  operator<( const VImage a, const double b );
1721  friend VIPS_CPLUSPLUS_API VImage
1722  operator<( const std::vector<double> a, const VImage b );
1723  friend VIPS_CPLUSPLUS_API VImage
1724  operator<( const VImage a, const std::vector<double> b );
1725 
1726  friend VIPS_CPLUSPLUS_API VImage
1727  operator<=( const VImage a, const VImage b );
1728  friend VIPS_CPLUSPLUS_API VImage
1729  operator<=( const double a, const VImage b );
1730  friend VIPS_CPLUSPLUS_API VImage
1731  operator<=( const VImage a, const double b );
1732  friend VIPS_CPLUSPLUS_API VImage
1733  operator<=( const std::vector<double> a, const VImage b );
1734  friend VIPS_CPLUSPLUS_API VImage
1735  operator<=( const VImage a, const std::vector<double> b );
1736 
1737  friend VIPS_CPLUSPLUS_API VImage
1738  operator>( const VImage a, const VImage b );
1739  friend VIPS_CPLUSPLUS_API VImage
1740  operator>( const double a, const VImage b );
1741  friend VIPS_CPLUSPLUS_API VImage
1742  operator>( const VImage a, const double b );
1743  friend VIPS_CPLUSPLUS_API VImage
1744  operator>( const std::vector<double> a, const VImage b );
1745  friend VIPS_CPLUSPLUS_API VImage
1746  operator>( const VImage a, const std::vector<double> b );
1747 
1748  friend VIPS_CPLUSPLUS_API VImage
1749  operator>=( const VImage a, const VImage b );
1750  friend VIPS_CPLUSPLUS_API VImage
1751  operator>=( const double a, const VImage b );
1752  friend VIPS_CPLUSPLUS_API VImage
1753  operator>=( const VImage a, const double b );
1754  friend VIPS_CPLUSPLUS_API VImage
1755  operator>=( const std::vector<double> a, const VImage b );
1756  friend VIPS_CPLUSPLUS_API VImage
1757  operator>=( const VImage a, const std::vector<double> b );
1758 
1759  friend VIPS_CPLUSPLUS_API VImage
1760  operator==( const VImage a, const VImage b );
1761  friend VIPS_CPLUSPLUS_API VImage
1762  operator==( const double a, const VImage b );
1763  friend VIPS_CPLUSPLUS_API VImage
1764  operator==( const VImage a, const double b );
1765  friend VIPS_CPLUSPLUS_API VImage
1766  operator==( const std::vector<double> a, const VImage b );
1767  friend VIPS_CPLUSPLUS_API VImage
1768  operator==( const VImage a, const std::vector<double> b );
1769 
1770  friend VIPS_CPLUSPLUS_API VImage
1771  operator!=( const VImage a, const VImage b );
1772  friend VIPS_CPLUSPLUS_API VImage
1773  operator!=( const double a, const VImage b );
1774  friend VIPS_CPLUSPLUS_API VImage
1775  operator!=( const VImage a, const double b );
1776  friend VIPS_CPLUSPLUS_API VImage
1777  operator!=( const std::vector<double> a, const VImage b );
1778  friend VIPS_CPLUSPLUS_API VImage
1779  operator!=( const VImage a, const std::vector<double> b );
1780 
1781  friend VIPS_CPLUSPLUS_API VImage
1782  operator&( const VImage a, const VImage b );
1783  friend VIPS_CPLUSPLUS_API VImage
1784  operator&( const double a, const VImage b );
1785  friend VIPS_CPLUSPLUS_API VImage
1786  operator&( const VImage a, const double b );
1787  friend VIPS_CPLUSPLUS_API VImage
1788  operator&( const std::vector<double> a, const VImage b );
1789  friend VIPS_CPLUSPLUS_API VImage
1790  operator&( const VImage a, const std::vector<double> b );
1791 
1792  friend VIPS_CPLUSPLUS_API VImage &
1793  operator&=( VImage &a, const VImage b );
1794  friend VIPS_CPLUSPLUS_API VImage &
1795  operator&=( VImage &a, const double b );
1796  friend VIPS_CPLUSPLUS_API VImage &
1797  operator&=( VImage &a, const std::vector<double> b );
1798 
1799  friend VIPS_CPLUSPLUS_API VImage
1800  operator|( const VImage a, const VImage b );
1801  friend VIPS_CPLUSPLUS_API VImage
1802  operator|( const double a, const VImage b );
1803  friend VIPS_CPLUSPLUS_API VImage
1804  operator|( const VImage a, const double b );
1805  friend VIPS_CPLUSPLUS_API VImage
1806  operator|( const std::vector<double> a, const VImage b );
1807  friend VIPS_CPLUSPLUS_API VImage
1808  operator|( const VImage a, const std::vector<double> b );
1809 
1810  friend VIPS_CPLUSPLUS_API VImage &
1811  operator|=( VImage &a, const VImage b );
1812  friend VIPS_CPLUSPLUS_API VImage &
1813  operator|=( VImage &a, const double b );
1814  friend VIPS_CPLUSPLUS_API VImage &
1815  operator|=( VImage &a, const std::vector<double> b );
1816 
1817  friend VIPS_CPLUSPLUS_API VImage
1818  operator^( const VImage a, const VImage b );
1819  friend VIPS_CPLUSPLUS_API VImage
1820  operator^( const double a, const VImage b );
1821  friend VIPS_CPLUSPLUS_API VImage
1822  operator^( const VImage a, const double b );
1823  friend VIPS_CPLUSPLUS_API VImage
1824  operator^( const std::vector<double> a, const VImage b );
1825  friend VIPS_CPLUSPLUS_API VImage
1826  operator^( const VImage a, const std::vector<double> b );
1827 
1828  friend VIPS_CPLUSPLUS_API VImage &
1829  operator^=( VImage &a, const VImage b );
1830  friend VIPS_CPLUSPLUS_API VImage &
1831  operator^=( VImage &a, const double b );
1832  friend VIPS_CPLUSPLUS_API VImage &
1833  operator^=( VImage &a, const std::vector<double> b );
1834 
1835  friend VIPS_CPLUSPLUS_API VImage
1836  operator<<( const VImage a, const VImage b );
1837  friend VIPS_CPLUSPLUS_API VImage
1838  operator<<( const VImage a, const double b );
1839  friend VIPS_CPLUSPLUS_API VImage
1840  operator<<( const VImage a, const std::vector<double> b );
1841 
1842  friend VIPS_CPLUSPLUS_API VImage &
1843  operator<<=( VImage &a, const VImage b );
1844  friend VIPS_CPLUSPLUS_API VImage &
1845  operator<<=( VImage &a, const double b );
1846  friend VIPS_CPLUSPLUS_API VImage &
1847  operator<<=( VImage &a, const std::vector<double> b );
1848 
1849  friend VIPS_CPLUSPLUS_API VImage
1850  operator>>( const VImage a, const VImage b );
1851  friend VIPS_CPLUSPLUS_API VImage
1852  operator>>( const VImage a, const double b );
1853  friend VIPS_CPLUSPLUS_API VImage
1854  operator>>( const VImage a, const std::vector<double> b );
1855 
1856  friend VIPS_CPLUSPLUS_API VImage &
1857  operator>>=( VImage &a, const VImage b );
1858  friend VIPS_CPLUSPLUS_API VImage &
1859  operator>>=( VImage &a, const double b );
1860  friend VIPS_CPLUSPLUS_API VImage &
1861  operator>>=( VImage &a, const std::vector<double> b );
1862 
1863  /* Automatically generated members.
1864  *
1865  * Rebuild with:
1866  *
1867  * make vips-operators
1868  *
1869  * Then delete from here to the end of the class and paste in
1870  * vips-operators.h. We could just #include vips-operators.h, but
1871  * that confuses doxygen.
1872  */
1873 
1874 // headers for vips operations
1875 // Mon Nov 1 03:31:09 PM CET 2021
1876 // this file is generated automatically, do not edit!
1877 
1883 VImage CMC2LCh( VOption *options = 0 ) const;
1884 
1890 VImage CMYK2XYZ( VOption *options = 0 ) const;
1891 
1897 VImage HSV2sRGB( VOption *options = 0 ) const;
1898 
1904 VImage LCh2CMC( VOption *options = 0 ) const;
1905 
1911 VImage LCh2Lab( VOption *options = 0 ) const;
1912 
1918 VImage Lab2LCh( VOption *options = 0 ) const;
1919 
1925 VImage Lab2LabQ( VOption *options = 0 ) const;
1926 
1932 VImage Lab2LabS( VOption *options = 0 ) const;
1933 
1943 VImage Lab2XYZ( VOption *options = 0 ) const;
1944 
1950 VImage LabQ2Lab( VOption *options = 0 ) const;
1951 
1957 VImage LabQ2LabS( VOption *options = 0 ) const;
1958 
1964 VImage LabQ2sRGB( VOption *options = 0 ) const;
1965 
1971 VImage LabS2Lab( VOption *options = 0 ) const;
1972 
1978 VImage LabS2LabQ( VOption *options = 0 ) const;
1979 
1985 VImage XYZ2CMYK( VOption *options = 0 ) const;
1986 
1996 VImage XYZ2Lab( VOption *options = 0 ) const;
1997 
2003 VImage XYZ2Yxy( VOption *options = 0 ) const;
2004 
2010 VImage XYZ2scRGB( VOption *options = 0 ) const;
2011 
2017 VImage Yxy2XYZ( VOption *options = 0 ) const;
2018 
2024 VImage abs( VOption *options = 0 ) const;
2025 
2032 VImage add( VImage right, VOption *options = 0 ) const;
2033 
2052 VImage affine( std::vector<double> matrix, VOption *options = 0 ) const;
2053 
2066 static VImage analyzeload( const char *filename, VOption *options = 0 );
2067 
2084 static VImage arrayjoin( std::vector<VImage> in, VOption *options = 0 );
2085 
2091 VImage autorot( VOption *options = 0 ) const;
2092 
2098 double avg( VOption *options = 0 ) const;
2099 
2106 VImage bandbool( VipsOperationBoolean boolean, VOption *options = 0 ) const;
2107 
2117 VImage bandfold( VOption *options = 0 ) const;
2118 
2125 static VImage bandjoin( std::vector<VImage> in, VOption *options = 0 );
2126 
2133 VImage bandjoin_const( std::vector<double> c, VOption *options = 0 ) const;
2134 
2140 VImage bandmean( VOption *options = 0 ) const;
2141 
2152 static VImage bandrank( std::vector<VImage> in, VOption *options = 0 );
2153 
2163 VImage bandunfold( VOption *options = 0 ) const;
2164 
2176 static VImage black( int width, int height, VOption *options = 0 );
2177 
2185 VImage boolean( VImage right, VipsOperationBoolean boolean, VOption *options = 0 ) const;
2186 
2194 VImage boolean_const( VipsOperationBoolean boolean, std::vector<double> c, VOption *options = 0 ) const;
2195 
2201 VImage buildlut( VOption *options = 0 ) const;
2202 
2208 VImage byteswap( VOption *options = 0 ) const;
2209 
2221 VImage cache( VOption *options = 0 ) const;
2222 
2233 VImage canny( VOption *options = 0 ) const;
2234 
2241 VImage case_image( std::vector<VImage> cases, VOption *options = 0 ) const;
2242 
2253 VImage cast( VipsBandFormat format, VOption *options = 0 ) const;
2254 
2265 VImage colourspace( VipsInterpretation space, VOption *options = 0 ) const;
2266 
2282 VImage compass( VImage mask, VOption *options = 0 ) const;
2283 
2290 VImage complex( VipsOperationComplex cmplx, VOption *options = 0 ) const;
2291 
2299 VImage complex2( VImage right, VipsOperationComplex2 cmplx, VOption *options = 0 ) const;
2300 
2307 VImage complexform( VImage right, VOption *options = 0 ) const;
2308 
2315 VImage complexget( VipsOperationComplexget get, VOption *options = 0 ) const;
2316 
2331 static VImage composite( std::vector<VImage> in, std::vector<int> mode, VOption *options = 0 );
2332 
2347 VImage composite2( VImage overlay, VipsBlendMode mode, VOption *options = 0 ) const;
2348 
2361 VImage conv( VImage mask, VOption *options = 0 ) const;
2362 
2374 VImage conva( VImage mask, VOption *options = 0 ) const;
2375 
2386 VImage convasep( VImage mask, VOption *options = 0 ) const;
2387 
2394 VImage convf( VImage mask, VOption *options = 0 ) const;
2395 
2402 VImage convi( VImage mask, VOption *options = 0 ) const;
2403 
2416 VImage convsep( VImage mask, VOption *options = 0 ) const;
2417 
2436 VImage copy( VOption *options = 0 ) const;
2437 
2444 double countlines( VipsDirection direction, VOption *options = 0 ) const;
2445 
2455 VImage crop( int left, int top, int width, int height, VOption *options = 0 ) const;
2456 
2473 static VImage csvload( const char *filename, VOption *options = 0 );
2474 
2491 static VImage csvload_source( VSource source, VOption *options = 0 );
2492 
2505 void csvsave( const char *filename, VOption *options = 0 ) const;
2506 
2519 void csvsave_target( VTarget target, VOption *options = 0 ) const;
2520 
2527 VImage dE00( VImage right, VOption *options = 0 ) const;
2528 
2535 VImage dE76( VImage right, VOption *options = 0 ) const;
2536 
2543 VImage dECMC( VImage right, VOption *options = 0 ) const;
2544 
2550 double deviate( VOption *options = 0 ) const;
2551 
2558 VImage divide( VImage right, VOption *options = 0 ) const;
2559 
2572 void draw_circle( std::vector<double> ink, int cx, int cy, int radius, VOption *options = 0 ) const;
2573 
2586 void draw_flood( std::vector<double> ink, int x, int y, VOption *options = 0 ) const;
2587 
2599 void draw_image( VImage sub, int x, int y, VOption *options = 0 ) const;
2600 
2610 void draw_line( std::vector<double> ink, int x1, int y1, int x2, int y2, VOption *options = 0 ) const;
2611 
2620 void draw_mask( std::vector<double> ink, VImage mask, int x, int y, VOption *options = 0 ) const;
2621 
2635 void draw_rect( std::vector<double> ink, int left, int top, int width, int height, VOption *options = 0 ) const;
2636 
2645 void draw_smudge( int left, int top, int width, int height, VOption *options = 0 ) const;
2646 
2673 void dzsave( const char *filename, VOption *options = 0 ) const;
2674 
2701 VipsBlob *dzsave_buffer( VOption *options = 0 ) const;
2702 
2717 VImage embed( int x, int y, int width, int height, VOption *options = 0 ) const;
2718 
2728 VImage extract_area( int left, int top, int width, int height, VOption *options = 0 ) const;
2729 
2740 VImage extract_band( int band, VOption *options = 0 ) const;
2741 
2754 static VImage eye( int width, int height, VOption *options = 0 );
2755 
2761 VImage falsecolour( VOption *options = 0 ) const;
2762 
2769 VImage fastcor( VImage ref, VOption *options = 0 ) const;
2770 
2776 VImage fill_nearest( VOption *options = 0 ) const;
2777 
2791 int find_trim( int *top, int *width, int *height, VOption *options = 0 ) const;
2792 
2805 static VImage fitsload( const char *filename, VOption *options = 0 );
2806 
2819 static VImage fitsload_source( VSource source, VOption *options = 0 );
2820 
2832 void fitssave( const char *filename, VOption *options = 0 ) const;
2833 
2844 VImage flatten( VOption *options = 0 ) const;
2845 
2852 VImage flip( VipsDirection direction, VOption *options = 0 ) const;
2853 
2859 VImage float2rad( VOption *options = 0 ) const;
2860 
2869 static VImage fractsurf( int width, int height, double fractal_dimension, VOption *options = 0 );
2870 
2877 VImage freqmult( VImage mask, VOption *options = 0 ) const;
2878 
2884 VImage fwfft( VOption *options = 0 ) const;
2885 
2895 VImage gamma( VOption *options = 0 ) const;
2896 
2908 VImage gaussblur( double sigma, VOption *options = 0 ) const;
2909 
2922 static VImage gaussmat( double sigma, double min_ampl, VOption *options = 0 );
2923 
2937 static VImage gaussnoise( int width, int height, VOption *options = 0 );
2938 
2946 std::vector<double> getpoint( int x, int y, VOption *options = 0 ) const;
2947 
2962 static VImage gifload( const char *filename, VOption *options = 0 );
2963 
2978 static VImage gifload_buffer( VipsBlob *buffer, VOption *options = 0 );
2979 
2994 static VImage gifload_source( VSource source, VOption *options = 0 );
2995 
3010 void gifsave( const char *filename, VOption *options = 0 ) const;
3011 
3026 VipsBlob *gifsave_buffer( VOption *options = 0 ) const;
3027 
3042 void gifsave_target( VTarget target, VOption *options = 0 ) const;
3043 
3054 VImage globalbalance( VOption *options = 0 ) const;
3055 
3069 VImage gravity( VipsCompassDirection direction, int width, int height, VOption *options = 0 ) const;
3070 
3082 static VImage grey( int width, int height, VOption *options = 0 );
3083 
3092 VImage grid( int tile_height, int across, int down, VOption *options = 0 ) const;
3093 
3109 static VImage heifload( const char *filename, VOption *options = 0 );
3110 
3126 static VImage heifload_buffer( VipsBlob *buffer, VOption *options = 0 );
3127 
3143 static VImage heifload_source( VSource source, VOption *options = 0 );
3144 
3161 void heifsave( const char *filename, VOption *options = 0 ) const;
3162 
3179 VipsBlob *heifsave_buffer( VOption *options = 0 ) const;
3180 
3197 void heifsave_target( VTarget target, VOption *options = 0 ) const;
3198 
3204 VImage hist_cum( VOption *options = 0 ) const;
3205 
3211 double hist_entropy( VOption *options = 0 ) const;
3212 
3222 VImage hist_equal( VOption *options = 0 ) const;
3223 
3233 VImage hist_find( VOption *options = 0 ) const;
3234 
3245 VImage hist_find_indexed( VImage index, VOption *options = 0 ) const;
3246 
3256 VImage hist_find_ndim( VOption *options = 0 ) const;
3257 
3263 bool hist_ismonotonic( VOption *options = 0 ) const;
3264 
3276 VImage hist_local( int width, int height, VOption *options = 0 ) const;
3277 
3284 VImage hist_match( VImage ref, VOption *options = 0 ) const;
3285 
3291 VImage hist_norm( VOption *options = 0 ) const;
3292 
3298 VImage hist_plot( VOption *options = 0 ) const;
3299 
3311 VImage hough_circle( VOption *options = 0 ) const;
3312 
3323 VImage hough_line( VOption *options = 0 ) const;
3324 
3338 VImage icc_export( VOption *options = 0 ) const;
3339 
3353 VImage icc_import( VOption *options = 0 ) const;
3354 
3370 VImage icc_transform( const char *output_profile, VOption *options = 0 ) const;
3371 
3383 static VImage identity( VOption *options = 0 );
3384 
3396 VImage ifthenelse( VImage in1, VImage in2, VOption *options = 0 ) const;
3397 
3411 VImage insert( VImage sub, int x, int y, VOption *options = 0 ) const;
3412 
3418 VImage invert( VOption *options = 0 ) const;
3419 
3429 VImage invertlut( VOption *options = 0 ) const;
3430 
3440 VImage invfft( VOption *options = 0 ) const;
3441 
3456 VImage join( VImage in2, VipsDirection direction, VOption *options = 0 ) const;
3457 
3471 static VImage jp2kload( const char *filename, VOption *options = 0 );
3472 
3486 static VImage jp2kload_buffer( VipsBlob *buffer, VOption *options = 0 );
3487 
3501 static VImage jp2kload_source( VSource source, VOption *options = 0 );
3502 
3519 void jp2ksave( const char *filename, VOption *options = 0 ) const;
3520 
3537 VipsBlob *jp2ksave_buffer( VOption *options = 0 ) const;
3538 
3555 void jp2ksave_target( VTarget target, VOption *options = 0 ) const;
3556 
3571 static VImage jpegload( const char *filename, VOption *options = 0 );
3572 
3587 static VImage jpegload_buffer( VipsBlob *buffer, VOption *options = 0 );
3588 
3603 static VImage jpegload_source( VSource source, VOption *options = 0 );
3604 
3626 void jpegsave( const char *filename, VOption *options = 0 ) const;
3627 
3649 VipsBlob *jpegsave_buffer( VOption *options = 0 ) const;
3650 
3671 void jpegsave_mime( VOption *options = 0 ) const;
3672 
3694 void jpegsave_target( VTarget target, VOption *options = 0 ) const;
3695 
3708 static VImage jxlload( const char *filename, VOption *options = 0 );
3709 
3722 static VImage jxlload_buffer( VipsBlob *buffer, VOption *options = 0 );
3723 
3736 static VImage jxlload_source( VSource source, VOption *options = 0 );
3737 
3754 void jxlsave( const char *filename, VOption *options = 0 ) const;
3755 
3772 VipsBlob *jxlsave_buffer( VOption *options = 0 ) const;
3773 
3790 void jxlsave_target( VTarget target, VOption *options = 0 ) const;
3791 
3797 VImage labelregions( VOption *options = 0 ) const;
3798 
3810 VImage linear( std::vector<double> a, std::vector<double> b, VOption *options = 0 ) const;
3811 
3824 VImage linecache( VOption *options = 0 ) const;
3825 
3838 static VImage logmat( double sigma, double min_ampl, VOption *options = 0 );
3839 
3855 static VImage magickload( const char *filename, VOption *options = 0 );
3856 
3872 static VImage magickload_buffer( VipsBlob *buffer, VOption *options = 0 );
3873 
3889 void magicksave( const char *filename, VOption *options = 0 ) const;
3890 
3906 VipsBlob *magicksave_buffer( VOption *options = 0 ) const;
3907 
3918 VImage mapim( VImage index, VOption *options = 0 ) const;
3919 
3930 VImage maplut( VImage lut, VOption *options = 0 ) const;
3931 
3949 static VImage mask_butterworth( int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options = 0 );
3950 
3970 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 );
3971 
3990 static VImage mask_butterworth_ring( int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = 0 );
3991 
4007 static VImage mask_fractal( int width, int height, double fractal_dimension, VOption *options = 0 );
4008 
4025 static VImage mask_gaussian( int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options = 0 );
4026 
4045 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 );
4046 
4064 static VImage mask_gaussian_ring( int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = 0 );
4065 
4081 static VImage mask_ideal( int width, int height, double frequency_cutoff, VOption *options = 0 );
4082 
4100 static VImage mask_ideal_band( int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options = 0 );
4101 
4118 static VImage mask_ideal_ring( int width, int height, double frequency_cutoff, double ringwidth, VOption *options = 0 );
4119 
4141 VImage match( VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options = 0 ) const;
4142 
4149 VImage math( VipsOperationMath math, VOption *options = 0 ) const;
4150 
4158 VImage math2( VImage right, VipsOperationMath2 math2, VOption *options = 0 ) const;
4159 
4167 VImage math2_const( VipsOperationMath2 math2, std::vector<double> c, VOption *options = 0 ) const;
4168 
4181 static VImage matload( const char *filename, VOption *options = 0 );
4182 
4188 VImage matrixinvert( VOption *options = 0 ) const;
4189 
4202 static VImage matrixload( const char *filename, VOption *options = 0 );
4203 
4216 static VImage matrixload_source( VSource source, VOption *options = 0 );
4217 
4228 void matrixprint( VOption *options = 0 ) const;
4229 
4241 void matrixsave( const char *filename, VOption *options = 0 ) const;
4242 
4254 void matrixsave_target( VTarget target, VOption *options = 0 ) const;
4255 
4265 double max( VOption *options = 0 ) const;
4266 
4281 VImage measure( int h, int v, VOption *options = 0 ) const;
4282 
4296 VImage merge( VImage sec, VipsDirection direction, int dx, int dy, VOption *options = 0 ) const;
4297 
4307 double min( VOption *options = 0 ) const;
4308 
4316 VImage morph( VImage mask, VipsOperationMorphology morph, VOption *options = 0 ) const;
4317 
4336 VImage mosaic( VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options = 0 ) const;
4337 
4362 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;
4363 
4373 VImage msb( VOption *options = 0 ) const;
4374 
4381 VImage multiply( VImage right, VOption *options = 0 ) const;
4382 
4395 static VImage niftiload( const char *filename, VOption *options = 0 );
4396 
4409 static VImage niftiload_source( VSource source, VOption *options = 0 );
4410 
4422 void niftisave( const char *filename, VOption *options = 0 ) const;
4423 
4436 static VImage openexrload( const char *filename, VOption *options = 0 );
4437 
4454 static VImage openslideload( const char *filename, VOption *options = 0 );
4455 
4472 static VImage openslideload_source( VSource source, VOption *options = 0 );
4473 
4491 static VImage pdfload( const char *filename, VOption *options = 0 );
4492 
4510 static VImage pdfload_buffer( VipsBlob *buffer, VOption *options = 0 );
4511 
4529 static VImage pdfload_source( VSource source, VOption *options = 0 );
4530 
4537 int percent( double percent, VOption *options = 0 ) const;
4538 
4552 static VImage perlin( int width, int height, VOption *options = 0 );
4553 
4560 VImage phasecor( VImage in2, VOption *options = 0 ) const;
4561 
4575 static VImage pngload( const char *filename, VOption *options = 0 );
4576 
4590 static VImage pngload_buffer( VipsBlob *buffer, VOption *options = 0 );
4591 
4605 static VImage pngload_source( VSource source, VOption *options = 0 );
4606 
4627 void pngsave( const char *filename, VOption *options = 0 ) const;
4628 
4649 VipsBlob *pngsave_buffer( VOption *options = 0 ) const;
4650 
4671 void pngsave_target( VTarget target, VOption *options = 0 ) const;
4672 
4685 static VImage ppmload( const char *filename, VOption *options = 0 );
4686 
4699 static VImage ppmload_source( VSource source, VOption *options = 0 );
4700 
4715 void ppmsave( const char *filename, VOption *options = 0 ) const;
4716 
4731 void ppmsave_target( VTarget target, VOption *options = 0 ) const;
4732 
4742 VImage premultiply( VOption *options = 0 ) const;
4743 
4750 VImage profile( VImage *rows, VOption *options = 0 ) const;
4751 
4758 static VipsBlob *profile_load( const char *name, VOption *options = 0 );
4759 
4766 VImage project( VImage *rows, VOption *options = 0 ) const;
4767 
4778 VImage quadratic( VImage coeff, VOption *options = 0 ) const;
4779 
4785 VImage rad2float( VOption *options = 0 ) const;
4786 
4799 static VImage radload( const char *filename, VOption *options = 0 );
4800 
4813 static VImage radload_buffer( VipsBlob *buffer, VOption *options = 0 );
4814 
4827 static VImage radload_source( VSource source, VOption *options = 0 );
4828 
4840 void radsave( const char *filename, VOption *options = 0 ) const;
4841 
4853 VipsBlob *radsave_buffer( VOption *options = 0 ) const;
4854 
4866 void radsave_target( VTarget target, VOption *options = 0 ) const;
4867 
4876 VImage rank( int width, int height, int index, VOption *options = 0 ) const;
4877 
4896 static VImage rawload( const char *filename, int width, int height, int bands, VOption *options = 0 );
4897 
4909 void rawsave( const char *filename, VOption *options = 0 ) const;
4910 
4922 void rawsave_fd( int fd, VOption *options = 0 ) const;
4923 
4930 VImage recomb( VImage m, VOption *options = 0 ) const;
4931 
4943 VImage reduce( double hshrink, double vshrink, VOption *options = 0 ) const;
4944 
4955 VImage reduceh( double hshrink, VOption *options = 0 ) const;
4956 
4967 VImage reducev( double vshrink, VOption *options = 0 ) const;
4968 
4976 VImage relational( VImage right, VipsOperationRelational relational, VOption *options = 0 ) const;
4977 
4985 VImage relational_const( VipsOperationRelational relational, std::vector<double> c, VOption *options = 0 ) const;
4986 
4993 VImage remainder( VImage right, VOption *options = 0 ) const;
4994 
5001 VImage remainder_const( std::vector<double> c, VOption *options = 0 ) const;
5002 
5010 VImage replicate( int across, int down, VOption *options = 0 ) const;
5011 
5023 VImage resize( double scale, VOption *options = 0 ) const;
5024 
5031 VImage rot( VipsAngle angle, VOption *options = 0 ) const;
5032 
5042 VImage rot45( VOption *options = 0 ) const;
5043 
5059 VImage rotate( double angle, VOption *options = 0 ) const;
5060 
5067 VImage round( VipsOperationRound round, VOption *options = 0 ) const;
5068 
5074 VImage sRGB2HSV( VOption *options = 0 ) const;
5075 
5081 VImage sRGB2scRGB( VOption *options = 0 ) const;
5082 
5092 VImage scRGB2BW( VOption *options = 0 ) const;
5093 
5099 VImage scRGB2XYZ( VOption *options = 0 ) const;
5100 
5110 VImage scRGB2sRGB( VOption *options = 0 ) const;
5111 
5122 VImage scale( VOption *options = 0 ) const;
5123 
5133 VImage sequential( VOption *options = 0 ) const;
5134 
5149 VImage sharpen( VOption *options = 0 ) const;
5150 
5158 VImage shrink( double hshrink, double vshrink, VOption *options = 0 ) const;
5159 
5166 VImage shrinkh( int hshrink, VOption *options = 0 ) const;
5167 
5174 VImage shrinkv( int vshrink, VOption *options = 0 ) const;
5175 
5181 VImage sign( VOption *options = 0 ) const;
5182 
5199 VImage similarity( VOption *options = 0 ) const;
5200 
5214 static VImage sines( int width, int height, VOption *options = 0 );
5215 
5227 VImage smartcrop( int width, int height, VOption *options = 0 ) const;
5228 
5234 VImage sobel( VOption *options = 0 ) const;
5235 
5242 VImage spcor( VImage ref, VOption *options = 0 ) const;
5243 
5249 VImage spectrum( VOption *options = 0 ) const;
5250 
5256 VImage stats( VOption *options = 0 ) const;
5257 
5272 VImage stdif( int width, int height, VOption *options = 0 ) const;
5273 
5285 VImage subsample( int xfac, int yfac, VOption *options = 0 ) const;
5286 
5293 VImage subtract( VImage right, VOption *options = 0 ) const;
5294 
5301 static VImage sum( std::vector<VImage> in, VOption *options = 0 );
5302 
5318 static VImage svgload( const char *filename, VOption *options = 0 );
5319 
5335 static VImage svgload_buffer( VipsBlob *buffer, VOption *options = 0 );
5336 
5352 static VImage svgload_source( VSource source, VOption *options = 0 );
5353 
5360 static VImage switch_image( std::vector<VImage> tests, VOption *options = 0 );
5361 
5373 static void system( const char *cmd_format, VOption *options = 0 );
5374 
5393 static VImage text( const char *text, VOption *options = 0 );
5394 
5413 static VImage thumbnail( const char *filename, int width, VOption *options = 0 );
5414 
5434 static VImage thumbnail_buffer( VipsBlob *buffer, int width, VOption *options = 0 );
5435 
5453 VImage thumbnail_image( int width, VOption *options = 0 ) const;
5454 
5474 static VImage thumbnail_source( VSource source, int width, VOption *options = 0 );
5475 
5492 static VImage tiffload( const char *filename, VOption *options = 0 );
5493 
5510 static VImage tiffload_buffer( VipsBlob *buffer, VOption *options = 0 );
5511 
5528 static VImage tiffload_source( VSource source, VOption *options = 0 );
5529 
5562 void tiffsave( const char *filename, VOption *options = 0 ) const;
5563 
5596 VipsBlob *tiffsave_buffer( VOption *options = 0 ) const;
5597 
5612 VImage tilecache( VOption *options = 0 ) const;
5613 
5632 static VImage tonelut( VOption *options = 0 );
5633 
5643 VImage transpose3d( VOption *options = 0 ) const;
5644 
5655 VImage unpremultiply( VOption *options = 0 ) const;
5656 
5669 static VImage vipsload( const char *filename, VOption *options = 0 );
5670 
5683 static VImage vipsload_source( VSource source, VOption *options = 0 );
5684 
5696 void vipssave( const char *filename, VOption *options = 0 ) const;
5697 
5709 void vipssave_target( VTarget target, VOption *options = 0 ) const;
5710 
5726 static VImage webpload( const char *filename, VOption *options = 0 );
5727 
5743 static VImage webpload_buffer( VipsBlob *buffer, VOption *options = 0 );
5744 
5760 static VImage webpload_source( VSource source, VOption *options = 0 );
5761 
5784 void webpsave( const char *filename, VOption *options = 0 ) const;
5785 
5808 VipsBlob *webpsave_buffer( VOption *options = 0 ) const;
5809 
5832 void webpsave_target( VTarget target, VOption *options = 0 ) const;
5833 
5846 static VImage worley( int width, int height, VOption *options = 0 );
5847 
5858 VImage wrap( VOption *options = 0 ) const;
5859 
5873 static VImage xyz( int width, int height, VOption *options = 0 );
5874 
5886 static VImage zone( int width, int height, VOption *options = 0 );
5887 
5895 VImage zoom( int xfac, int yfac, VOption *options = 0 ) const;
5896 };
5897 
5898 VIPS_NAMESPACE_END
5899 
5900 #endif /*VIPS_VIMAGE_H*/
VImage::real
VImage real(VOption *options=0) const
Definition: VImage8.h:1283
VImage::icc_transform
VImage icc_transform(const char *output_profile, VOption *options=0) const
Definition: vips-operators.cpp:1596
VImage::remove
bool remove(const char *name) const
Definition: VImage8.h:811
VImage::maxpos
std::complex< double > maxpos(VOption *options=0) const
Definition: VImage.cpp:829
VImage::niftiload
static VImage niftiload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2443
VImage::get_array_double
void get_array_double(const char *field, double **out, int *n) const
Definition: VImage8.h:728
VImage::linear
VImage linear(double a, std::vector< double > b, VOption *options=0) const
Definition: VImage8.h:1087
VImage::labelregions
VImage labelregions(VOption *options=0) const
Definition: vips-operators.cpp:1898
VImage::shrinkh
VImage shrinkh(int hshrink, VOption *options=0) const
Definition: vips-operators.cpp:3170
VImage::CMYK2XYZ
VImage CMYK2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:17
VImage::composite
VImage composite(VImage other, VipsBlendMode mode, VOption *options=0) const
Definition: VImage.cpp:805
VImage::replicate
VImage replicate(int across, int down, VOption *options=0) const
Definition: vips-operators.cpp:2982
VImage::fwfft
VImage fwfft(VOption *options=0) const
Definition: vips-operators.cpp:1152
VImage::asinh
VImage asinh(VOption *options=0) const
Definition: VImage8.h:1409
VImage::jpegsave
void jpegsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1799
VImage::copy_memory
VImage copy_memory() const
Definition: VImage8.h:995
VImage::bands
int bands() const
Definition: VImage8.h:461
VImage::interpretation
VipsInterpretation interpretation() const
Definition: VImage8.h:489
VImage::get_image
VipsImage * get_image() const
Definition: VImage8.h:434
VImage::divide
VImage divide(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:836
VImage::radsave_target
void radsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2821
VImage::rawload
static VImage rawload(const char *filename, int width, int height, int bands, VOption *options=0)
Definition: vips-operators.cpp:2844
VImage::grey
static VImage grey(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:1320
VImage::linecache
VImage linecache(VOption *options=0) const
Definition: vips-operators.cpp:1924
VImage::jp2kload_buffer
static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1711
VImage::gifload_source
static VImage gifload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1253
VImage::sinh
VImage sinh(VOption *options=0) const
Definition: VImage8.h:1382
VImage::mask_gaussian
static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2084
VImage::atan
VImage atan(VOption *options=0) const
Definition: VImage8.h:1373
VImage::scRGB2sRGB
VImage scRGB2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:3108
VImage::hist_ismonotonic
bool hist_ismonotonic(VOption *options=0) const
Definition: vips-operators.cpp:1485
VImage::erode
VImage erode(VImage mask, VOption *options=0) const
Definition: VImage8.h:1201
VImage::HSV2sRGB
VImage HSV2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:29
VImage::hist_norm
VImage hist_norm(VOption *options=0) const
Definition: vips-operators.cpp:1524
VImage::jp2ksave
void jp2ksave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1735
VImage::filename
const char * filename() const
Definition: VImage8.h:554
VImage::conv
VImage conv(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:626
VImage::new_matrix
static VImage new_matrix(int width, int height)
Definition: VImage.cpp:657
VImage::openslideload
static VImage openslideload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2487
VImage::matrixsave_target
void matrixsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2302
VImage::wop
VImage wop(VImage other, VOption *options=0) const
Definition: VImage8.h:1501
VImage::scRGB2XYZ
VImage scRGB2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:3096
VImage::new_from_image
VImage new_from_image(double pixel) const
Definition: VImage8.h:984
VImage::dilate
VImage dilate(VImage mask, VOption *options=0) const
Definition: VImage8.h:1189
VImage::worley
static VImage worley(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3675
VImage::perlin
static VImage perlin(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:2560
VImage::multiply
VImage multiply(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:2430
VImage::hist_find_indexed
VImage hist_find_indexed(VImage index, VOption *options=0) const
Definition: vips-operators.cpp:1460
VImage::ifthenelse
VImage ifthenelse(double th, VImage el, VOption *options=0) const
Definition: VImage8.h:1594
VImage::LabQ2sRGB
VImage LabQ2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:137
VImage::ppmload
static VImage ppmload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2650
VImage::globalbalance
VImage globalbalance(VOption *options=0) const
Definition: vips-operators.cpp:1293
VImage::width
int width() const
Definition: VImage8.h:443
VImage::falsecolour
VImage falsecolour(VOption *options=0) const
Definition: vips-operators.cpp:1004
VImage::spcor
VImage spcor(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:3259
VImage::sequential
VImage sequential(VOption *options=0) const
Definition: vips-operators.cpp:3132
VImage::hist_cum
VImage hist_cum(VOption *options=0) const
Definition: vips-operators.cpp:1412
VImage::math2
VImage math2(VImage right, VipsOperationMath2 math2, VOption *options=0) const
Definition: vips-operators.cpp:2211
VImage::bandjoin
VImage bandjoin(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1117
VImage::merge
VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options=0) const
Definition: vips-operators.cpp:2336
VImage::rect
VImage rect(VOption *options=0) const
Definition: VImage8.h:1310
VImage::complexget
VImage complexget(VipsOperationComplexget get, VOption *options=0) const
Definition: vips-operators.cpp:586
VImage::pngsave
void pngsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2622
VImage::gifload
static VImage gifload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1229
VImage::set
void set(const char *field, int *value, int n)
Definition: VImage8.h:586
VImage::jpegsave_target
void jpegsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1826
VImage::hist_entropy
double hist_entropy(VOption *options=0) const
Definition: vips-operators.cpp:1424
VImage::data
const void * data() const
Definition: VImage8.h:566
VImage::bandbool
VImage bandbool(VipsOperationBoolean boolean, VOption *options=0) const
Definition: vips-operators.cpp:319
VImage::system
static void system(const char *cmd_format, VOption *options=0)
Definition: vips-operators.cpp:3397
VImage::pngload_buffer
static VImage pngload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2598
VImage::canny
VImage canny(VOption *options=0) const
Definition: vips-operators.cpp:482
VImage::LCh2CMC
VImage LCh2CMC(VOption *options=0) const
Definition: vips-operators.cpp:41
VImage::magickload
static VImage magickload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1949
VImage::bandsplit
std::vector< VImage > bandsplit(VOption *options=0) const
Definition: VImage.cpp:784
VImage::radload_source
static VImage radload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2789
VImage::sRGB2HSV
VImage sRGB2HSV(VOption *options=0) const
Definition: vips-operators.cpp:3060
VImage::new_from_image
VImage new_from_image(std::vector< double > pixel) const
Definition: VImage8.h:968
VImage::new_from_memory
static VImage new_from_memory(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage8.h:910
VImage::call_option_string
static void call_option_string(const char *operation_name, const char *option_string, VOption *options=0)
Definition: VImage.cpp:502
VImage::wop
VImage wop(double other, VOption *options=0) const
Definition: VImage8.h:1510
VImage::linear
VImage linear(double a, double b, VOption *options=0) const
Definition: VImage8.h:1064
VImage::draw_circle
void draw_circle(std::vector< double > ink, int cx, int cy, int radius, VOption *options=0) const
Definition: vips-operators.cpp:849
VImage::new_memory
static VImage new_memory()
Definition: VImage8.h:844
VImage::fliphor
VImage fliphor(VOption *options=0) const
Definition: VImage8.h:1142
VImage::atanh
VImage atanh(VOption *options=0) const
Definition: VImage8.h:1427
VImage::cosh
VImage cosh(VOption *options=0) const
Definition: VImage8.h:1391
VImage
Definition: VImage8.h:405
VImage::convsep
VImage convsep(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:691
VImage::radload
static VImage radload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2765
VImage::mosaic1
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:2396
VImage::get_array_int
std::vector< int > get_array_int(const char *field) const
Definition: VImage8.h:707
VImage::math2_const
VImage math2_const(VipsOperationMath2 math2, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2225
VImage::stdif
VImage stdif(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:3296
VImage::gifsave_buffer
VipsBlob * gifsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1273
VImage::jpegload_source
static VImage jpegload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1787
VImage::LabQ2Lab
VImage LabQ2Lab(VOption *options=0) const
Definition: vips-operators.cpp:113
VImage::invfft
VImage invfft(VOption *options=0) const
Definition: vips-operators.cpp:1673
VImage::rawsave
void rawsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2859
VImage::matload
static VImage matload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2239
VImage::zoom
VImage zoom(int xfac, int yfac, VOption *options=0) const
Definition: vips-operators.cpp:3726
VImage::remainder
VImage remainder(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:2956
VImage::dE00
VImage dE00(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:785
VImage::LabS2Lab
VImage LabS2Lab(VOption *options=0) const
Definition: vips-operators.cpp:149
VImage::freqmult
VImage freqmult(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:1139
VImage::invert
VImage invert(VOption *options=0) const
Definition: vips-operators.cpp:1649
VImage::XYZ2Yxy
VImage XYZ2Yxy(VOption *options=0) const
Definition: vips-operators.cpp:197
VImage::mask_gaussian_band
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:2099
VImage::bandmean
VImage bandmean(VOption *options=0) const
Definition: vips-operators.cpp:369
VImage::recomb
VImage recomb(VImage m, VOption *options=0) const
Definition: vips-operators.cpp:2875
VImage::set
void set(const char *field, double value)
Definition: VImage8.h:630
VImage::jp2ksave_target
void jp2ksave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1755
VImage::rot270
VImage rot270(VOption *options=0) const
Definition: VImage8.h:1178
VImage::similarity
VImage similarity(VOption *options=0) const
Definition: vips-operators.cpp:3208
VImage::get_array_int
void get_array_int(const char *field, int **out, int *n) const
Definition: VImage8.h:694
VImage::atan2
VImage atan2(VImage other, VOption *options=0) const
Definition: VImage8.h:1530
VImage::dECMC
VImage dECMC(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:811
VImage::write
VImage write(VImage out) const
Definition: VImage.cpp:681
VImage::heifsave_buffer
VipsBlob * heifsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1392
VImage::ppmsave
void ppmsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2674
VImage::webpsave_target
void webpsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:3667
VImage::profile_load
static VipsBlob * profile_load(const char *name, VOption *options=0)
Definition: vips-operators.cpp:2715
VImage::polar
VImage polar(VOption *options=0) const
Definition: VImage8.h:1301
VImage::pdfload_source
static VImage pdfload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2535
VImage::mapim
VImage mapim(VImage index, VOption *options=0) const
Definition: vips-operators.cpp:1993
VImage::wrap
VImage wrap(VOption *options=0) const
Definition: vips-operators.cpp:3688
VImage::draw_rect
void draw_rect(std::vector< double > ink, int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:903
VImage::set
void set(const char *field, VipsCallbackFn free_fn, void *data, size_t length)
Definition: VImage8.h:654
VImage::magickload_buffer
static VImage magickload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1961
VImage::set
void set(const char *field, std::vector< double > value)
Definition: VImage8.h:620
VImage::dzsave_buffer
VipsBlob * dzsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:934
VImage::tiffload_source
static VImage tiffload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3492
VImage::matrixload_source
static VImage matrixload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2275
VImage::zone
static VImage zone(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3713
VImage::icc_import
VImage icc_import(VOption *options=0) const
Definition: vips-operators.cpp:1584
VImage::jxlload_buffer
static VImage jxlload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1846
VImage::set
void set(const char *field, const char *value)
Definition: VImage8.h:641
VImage::black
static VImage black(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:405
VImage::get_blob
const void * get_blob(const char *field, size_t *length) const
Definition: VImage8.h:795
VImage::median
VImage median(int size=3, VOption *options=0) const
Definition: VImage8.h:1211
VImage::csvload_source
static VImage csvload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:757
VImage::webpload
static VImage webpload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3611
VImage::jxlsave_buffer
VipsBlob * jxlsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1878
VImage::Lab2XYZ
VImage Lab2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:101
VImage::csvload
static VImage csvload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:745
VImage::hist_find
VImage hist_find(VOption *options=0) const
Definition: vips-operators.cpp:1448
VImage::coding
VipsCoding coding() const
Definition: VImage8.h:479
VImage::bandjoin
VImage bandjoin(double other, VOption *options=0) const
Definition: VImage8.h:1107
VImage::csvsave_target
void csvsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:777
VImage::call
static void call(const char *operation_name, VOption *options=0)
Definition: VImage.cpp:556
VImage::stats
VImage stats(VOption *options=0) const
Definition: vips-operators.cpp:3284
VImage::complexform
VImage complexform(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:573
VImage::LabQ2LabS
VImage LabQ2LabS(VOption *options=0) const
Definition: vips-operators.cpp:125
VObject::is_null
bool is_null() const
Definition: VImage8.h:183
VImage::vipsload
static VImage vipsload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3571
VImage::rint
VImage rint(VOption *options=0) const
Definition: VImage8.h:1238
VImage::bandand
VImage bandand(VOption *options=0) const
Definition: VImage8.h:1250
VImage::complex2
VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options=0) const
Definition: vips-operators.cpp:559
VImage::sin
VImage sin(VOption *options=0) const
Definition: VImage8.h:1328
VObject::get_object
VipsObject * get_object() const
Definition: VImage8.h:172
VImage::radsave_buffer
VipsBlob * radsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:2809
VImage::webpsave
void webpsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3647
VImage::new_from_file
static VImage new_from_file(const char *name, VOption *options=0)
Definition: VImage.cpp:562
VImage::XYZ2scRGB
VImage XYZ2scRGB(VOption *options=0) const
Definition: vips-operators.cpp:209
VImage::sign
VImage sign(VOption *options=0) const
Definition: vips-operators.cpp:3196
VImage::XYZ2Lab
VImage XYZ2Lab(VOption *options=0) const
Definition: vips-operators.cpp:185
VImage::convf
VImage convf(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:665
VImage::set
void set(const char *field, std::vector< int > value)
Definition: VImage8.h:597
VImage::tan
VImage tan(VOption *options=0) const
Definition: VImage8.h:1346
VImage::ifthenelse
VImage ifthenelse(std::vector< double > th, VImage el, VOption *options=0) const
Definition: VImage8.h:1560
VImage::join
VImage join(VImage in2, VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:1685
VImage::VImage
VImage()
Definition: VImage8.h:423
VImage::gamma
VImage gamma(VOption *options=0) const
Definition: vips-operators.cpp:1164
VImage::tanh
VImage tanh(VOption *options=0) const
Definition: VImage8.h:1400
VImage::identity
static VImage identity(VOption *options=0)
Definition: vips-operators.cpp:1609
VImage::gaussmat
static VImage gaussmat(double sigma, double min_ampl, VOption *options=0)
Definition: vips-operators.cpp:1189
VImage::magicksave
void magicksave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1973
VImage::conj
VImage conj(VOption *options=0) const
Definition: VImage8.h:1319
VImage::heifload_source
static VImage heifload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1372
VImage::scale
VImage scale(VOption *options=0) const
Definition: vips-operators.cpp:3120
VImage::rad2float
VImage rad2float(VOption *options=0) const
Definition: vips-operators.cpp:2753
VImage::fitssave
void fitssave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1080
VImage::sharpen
VImage sharpen(VOption *options=0) const
Definition: vips-operators.cpp:3144
VImage::imag
VImage imag(VOption *options=0) const
Definition: VImage8.h:1292
VOption::get_operation
void get_operation(VipsOperation *operation)
Definition: VImage.cpp:448
VImage::xyz
static VImage xyz(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3700
VImage::mask_butterworth_ring
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:2053
VImage::guess_interpretation
VipsInterpretation guess_interpretation() const
Definition: VImage8.h:499
VImage::mask_gaussian_ring
static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=0)
Definition: vips-operators.cpp:2116
VImage::scRGB2BW
VImage scRGB2BW(VOption *options=0) const
Definition: vips-operators.cpp:3084
VImage::buildlut
VImage buildlut(VOption *options=0) const
Definition: vips-operators.cpp:446
VImage::avg
double avg(VOption *options=0) const
Definition: vips-operators.cpp:307
VImage::vipssave_target
void vipssave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:3603
VImage::acosh
VImage acosh(VOption *options=0) const
Definition: VImage8.h:1418
VImage::pngsave_target
void pngsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2642
VImage::radload_buffer
static VImage radload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2777
VImage::draw_mask
void draw_mask(std::vector< double > ink, VImage mask, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:892
VImage::jpegload_buffer
static VImage jpegload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1775
VInterpolate
Definition: VInterpolate8.h:46
VImage::bandeor
VImage bandeor(VOption *options=0) const
Definition: VImage8.h:1274
VImage::convasep
VImage convasep(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:652
VImage::magicksave_buffer
VipsBlob * magicksave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1981
VImage::mask_ideal_band
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:2146
VImage::mask_butterworth
static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2019
VImage::jpegload
static VImage jpegload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1763
VImage::ppmload_source
static VImage ppmload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2662
VImage::rawsave_fd
void rawsave_fd(int fd, VOption *options=0) const
Definition: vips-operators.cpp:2867
VImage::matrixprint
void matrixprint(VOption *options=0) const
Definition: vips-operators.cpp:2287
VImage::ceil
VImage ceil(VOption *options=0) const
Definition: VImage8.h:1229
VImage::maplut
VImage maplut(VImage lut, VOption *options=0) const
Definition: vips-operators.cpp:2006
VImage::log10
VImage log10(VOption *options=0) const
Definition: VImage8.h:1445
VImage::find_trim
int find_trim(int *top, int *width, int *height, VOption *options=0) const
Definition: vips-operators.cpp:1041
VImage::sobel
VImage sobel(VOption *options=0) const
Definition: vips-operators.cpp:3247
VImage::yoffset
int yoffset() const
Definition: VImage8.h:535
VImage::invertlut
VImage invertlut(VOption *options=0) const
Definition: vips-operators.cpp:1661
VImage::reducev
VImage reducev(double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:2915
VImage::flatten
VImage flatten(VOption *options=0) const
Definition: vips-operators.cpp:1088
VImage::option
static VOption * option()
Definition: VImage8.h:820
VImage::mask_butterworth_band
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:2035
VImage::jp2ksave_buffer
VipsBlob * jp2ksave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1743
VImage::byteswap
VImage byteswap(VOption *options=0) const
Definition: vips-operators.cpp:458
VImage::morph
VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options=0) const
Definition: vips-operators.cpp:2364
VImage::gravity
VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:1305
VImage::draw_flood
void draw_flood(std::vector< double > ink, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:860
VImage::mask_ideal_ring
static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options=0)
Definition: vips-operators.cpp:2162
VImage::tiffload
static VImage tiffload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3468
VImage::grid
VImage grid(int tile_height, int across, int down, VOption *options=0) const
Definition: vips-operators.cpp:1333
VImage::boolean
VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options=0) const
Definition: vips-operators.cpp:418
VImage::bandunfold
VImage bandunfold(VOption *options=0) const
Definition: vips-operators.cpp:393
VImage::rank
VImage rank(int width, int height, int index, VOption *options=0) const
Definition: vips-operators.cpp:2829
VImage::heifload_buffer
static VImage heifload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1360
VImage::float2rad
VImage float2rad(VOption *options=0) const
Definition: vips-operators.cpp:1113
VImage::bandjoin
VImage bandjoin(VImage other, VOption *options=0) const
Definition: VImage.cpp:796
VImage::affine
VImage affine(std::vector< double > matrix, VOption *options=0) const
Definition: vips-operators.cpp:258
VImage::jpegsave_buffer
VipsBlob * jpegsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1807
VImage::LCh2Lab
VImage LCh2Lab(VOption *options=0) const
Definition: vips-operators.cpp:53
VImage::draw_line
void draw_line(std::vector< double > ink, int x1, int y1, int x2, int y2, VOption *options=0) const
Definition: vips-operators.cpp:880
VImage::linear
VImage linear(std::vector< double > a, double b, VOption *options=0) const
Definition: VImage8.h:1076
VImage::hist_local
VImage hist_local(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:1497
VImage::fitsload_source
static VImage fitsload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1068
VImage::pdfload
static VImage pdfload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2511
VImage::hist_equal
VImage hist_equal(VOption *options=0) const
Definition: vips-operators.cpp:1436
VImage::match
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:2177
VImage::extract_area
VImage extract_area(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:962
VImage::ifthenelse
VImage ifthenelse(VImage th, std::vector< double > el, VOption *options=0) const
Definition: VImage8.h:1571
VImage::heifsave
void heifsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1384
VImage::sum
static VImage sum(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:3337
VImage::jp2kload
static VImage jp2kload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1699
VImage::radsave
void radsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2801
VImage::new_matrix
static VImage new_matrix(int width, int height, double *array, int size)
Definition: VImage8.h:945
VError
Definition: VError8.h:46
VImage::math
VImage math(VipsOperationMath math, VOption *options=0) const
Definition: vips-operators.cpp:2198
VImage::Yxy2XYZ
VImage Yxy2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:221
VImage::rot
VImage rot(VipsAngle angle, VOption *options=0) const
Definition: vips-operators.cpp:3009
VImage::premultiply
VImage premultiply(VOption *options=0) const
Definition: vips-operators.cpp:2690
VImage::Lab2LabQ
VImage Lab2LabQ(VOption *options=0) const
Definition: vips-operators.cpp:77
VImage::get_string
const char * get_string(const char *field) const
Definition: VImage8.h:778
VImage::mosaic
VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options=0) const
Definition: vips-operators.cpp:2378
VImage::new_matrixv
static VImage new_matrixv(int width, int height,...)
Definition: VImage.cpp:663
VImage::rot90
VImage rot90(VOption *options=0) const
Definition: VImage8.h:1160
VImage::get_array_double
std::vector< double > get_array_double(const char *field) const
Definition: VImage8.h:741
VImage::dE76
VImage dE76(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:798
VImage::bandrank
static VImage bandrank(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:381
VImage::composite2
VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options=0) const
Definition: vips-operators.cpp:612
VImage::xoffset
int xoffset() const
Definition: VImage8.h:526
VImage::draw_smudge
void draw_smudge(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:915
VImage::gaussblur
VImage gaussblur(double sigma, VOption *options=0) const
Definition: vips-operators.cpp:1176
VImage::complex
VImage complex(VipsOperationComplex cmplx, VOption *options=0) const
Definition: vips-operators.cpp:546
VImage::phasecor
VImage phasecor(VImage in2, VOption *options=0) const
Definition: vips-operators.cpp:2573
VImage::ifthenelse
VImage ifthenelse(VImage th, double el, VOption *options=0) const
Definition: VImage8.h:1604
VImage::xres
double xres() const
Definition: VImage8.h:508
VImage::webpsave_buffer
VipsBlob * webpsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:3655
VImage::min
double min(VOption *options=0) const
Definition: vips-operators.cpp:2352
VImage::get_int
int get_int(const char *field) const
Definition: VImage8.h:677
VImage::svgload_buffer
static VImage svgload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3361
VImage::Lab2LCh
VImage Lab2LCh(VOption *options=0) const
Definition: vips-operators.cpp:65
VImage::CMC2LCh
VImage CMC2LCh(VOption *options=0) const
Definition: vips-operators.cpp:5
VImage::XYZ2CMYK
VImage XYZ2CMYK(VOption *options=0) const
Definition: vips-operators.cpp:173
VImage::relational
VImage relational(VImage right, VipsOperationRelational relational, VOption *options=0) const
Definition: vips-operators.cpp:2928
VImage::csvsave
void csvsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:769
VImage::flip
VImage flip(VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:1100
VImage::text
static VImage text(const char *text, VOption *options=0)
Definition: vips-operators.cpp:3404
VImage::openslideload_source
static VImage openslideload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2499
VImage::new_from_buffer
static VImage new_from_buffer(const void *buf, size_t len, const char *option_string, VOption *options=0)
Definition: VImage.cpp:585
VImage::percent
int percent(double percent, VOption *options=0) const
Definition: vips-operators.cpp:2547
VImage::height
int height() const
Definition: VImage8.h:452
VImage::has_alpha
bool has_alpha() const
Definition: VImage8.h:544
VImage::quadratic
VImage quadratic(VImage coeff, VOption *options=0) const
Definition: vips-operators.cpp:2740
VImage::jp2kload_source
static VImage jp2kload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1723
VImage::resize
VImage resize(double scale, VOption *options=0) const
Definition: vips-operators.cpp:2996
VImage::exp10
VImage exp10(VOption *options=0) const
Definition: VImage8.h:1463
VImage::subsample
VImage subsample(int xfac, int yfac, VOption *options=0) const
Definition: vips-operators.cpp:3310
VObject
Definition: VImage8.h:68
VImage::gifload_buffer
static VImage gifload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1241
VImage::jxlsave
void jxlsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1870
VImage::hist_find_ndim
VImage hist_find_ndim(VOption *options=0) const
Definition: vips-operators.cpp:1473
VImage::jxlload_source
static VImage jxlload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1858
VImage::convi
VImage convi(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:678
VImage::gifsave_target
void gifsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1285
VImage::flipver
VImage flipver(VOption *options=0) const
Definition: VImage8.h:1151
VImage::new_from_memory_steal
static VImage new_from_memory_steal(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage.cpp:641
VImage::acos
VImage acos(VOption *options=0) const
Definition: VImage8.h:1364
VImage::round
VImage round(VipsOperationRound round, VOption *options=0) const
Definition: vips-operators.cpp:3047
VImage::icc_export
VImage icc_export(VOption *options=0) const
Definition: vips-operators.cpp:1572
VImage::mask_ideal
static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2132
VImage::LabS2LabQ
VImage LabS2LabQ(VOption *options=0) const
Definition: vips-operators.cpp:161
VImage::project
VImage project(VImage *rows, VOption *options=0) const
Definition: vips-operators.cpp:2727
VImage::exp
VImage exp(VOption *options=0) const
Definition: VImage8.h:1454
VImage::atan2
VImage atan2(double other, VOption *options=0) const
Definition: VImage8.h:1539
VImage::relational_const
VImage relational_const(VipsOperationRelational relational, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2942
VImage::new_temp_file
static VImage new_temp_file(const char *file_format=".v")
Definition: VImage8.h:854
VImage::getpoint
std::vector< double > getpoint(int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:1215
VImage::sines
static VImage sines(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3220
VImage::write_to_target
void write_to_target(const char *suffix, VTarget target, VOption *options=0) const
Definition: VImage.cpp:762
VImage::yres
double yres() const
Definition: VImage8.h:517
VImage::msb
VImage msb(VOption *options=0) const
Definition: vips-operators.cpp:2418
VImage::hist_plot
VImage hist_plot(VOption *options=0) const
Definition: vips-operators.cpp:1536
VImage::log
VImage log(VOption *options=0) const
Definition: VImage8.h:1436
VImage::spectrum
VImage spectrum(VOption *options=0) const
Definition: vips-operators.cpp:3272
VImage::wop
VImage wop(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1520
VImage::gifsave
void gifsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1265
VImage::webpload_buffer
static VImage webpload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3623
VSource
Definition: VConnection8.h:46
VImage::thumbnail_source
static VImage thumbnail_source(VSource source, int width, VOption *options=0)
Definition: vips-operators.cpp:3455
VImage::gaussnoise
static VImage gaussnoise(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:1202
VImage::fill_nearest
VImage fill_nearest(VOption *options=0) const
Definition: vips-operators.cpp:1029
VImage::niftiload_source
static VImage niftiload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2455
VImage::cos
VImage cos(VOption *options=0) const
Definition: VImage8.h:1337
VImage::minpos
std::complex< double > minpos(VOption *options=0) const
Definition: VImage.cpp:816
VImage::get_typeof
GType get_typeof(const char *field) const
Definition: VImage8.h:666
VImage::add
VImage add(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:245
VImage::pngload_source
static VImage pngload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2610
VImage::pdfload_buffer
static VImage pdfload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2523
VImage::compass
VImage compass(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:533
VImage::svgload
static VImage svgload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3349
VImage::matrixinvert
VImage matrixinvert(VOption *options=0) const
Definition: vips-operators.cpp:2251
VOption::set
VOption * set(const char *name, bool value)
Definition: VImage.cpp:123
VImage::ifthenelse
VImage ifthenelse(double th, double el, VOption *options=0) const
Definition: VImage8.h:1614
VImage::format
VipsBandFormat format() const
Definition: VImage8.h:470
VImage::autorot
VImage autorot(VOption *options=0) const
Definition: vips-operators.cpp:295
VImage::webpload_source
static VImage webpload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3635
VImage::transpose3d
VImage transpose3d(VOption *options=0) const
Definition: vips-operators.cpp:3547
VImage::new_from_source
static VImage new_from_source(VSource source, const char *option_string, VOption *options=0)
Definition: VImage.cpp:619
VImage::pow
VImage pow(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1491
VImage::floor
VImage floor(VOption *options=0) const
Definition: VImage8.h:1220
VImage::write_to_buffer
void write_to_buffer(const char *suffix, void **buf, size_t *size, VOption *options=0) const
Definition: VImage.cpp:709
VImage::jxlload
static VImage jxlload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1834
VImage::copy
VImage copy(VOption *options=0) const
Definition: vips-operators.cpp:704
VImage::reduceh
VImage reduceh(double hshrink, VOption *options=0) const
Definition: vips-operators.cpp:2902
VImage::extract_band
VImage extract_band(int band, VOption *options=0) const
Definition: vips-operators.cpp:978
VImage::tilecache
VImage tilecache(VOption *options=0) const
Definition: vips-operators.cpp:3524
VImage::tiffsave_buffer
VipsBlob * tiffsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:3512
VImage::write_to_memory
void * write_to_memory(size_t *size) const
Definition: VImage8.h:1047
VOption
Definition: VImage8.h:217
VImage::remainder_const
VImage remainder_const(std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2969
VImage::asin
VImage asin(VOption *options=0) const
Definition: VImage8.h:1355
VImage::boolean_const
VImage boolean_const(VipsOperationBoolean boolean, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:432
VImage::svgload_source
static VImage svgload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3373
VImage::fitsload
static VImage fitsload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1056
VImage::set
void set(const char *field, int value)
Definition: VImage8.h:575
VImage::write_to_file
void write_to_file(const char *name, VOption *options=0) const
Definition: VImage.cpp:690
VImage::heifload
static VImage heifload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1348
VImage::shrink
VImage shrink(double hshrink, double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:3156
VImage::dzsave
void dzsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:926
VImage::analyzeload
static VImage analyzeload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:271
VImage::eye
static VImage eye(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:991
VOption::set_operation
void set_operation(VipsOperation *operation)
Definition: VImage.cpp:426
VImage::VImage
VImage(VipsImage *image, VSteal steal=STEAL)
Definition: VImage8.h:415
VImage::bandfold
VImage bandfold(VOption *options=0) const
Definition: vips-operators.cpp:332
VImage::tiffsave
void tiffsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3504
VImage::hough_line
VImage hough_line(VOption *options=0) const
Definition: vips-operators.cpp:1560
VImage::abs
VImage abs(VOption *options=0) const
Definition: vips-operators.cpp:233
VImage::cast
VImage cast(VipsBandFormat format, VOption *options=0) const
Definition: vips-operators.cpp:507
VImage::hough_circle
VImage hough_circle(VOption *options=0) const
Definition: vips-operators.cpp:1548
VImage::get_double
double get_double(const char *field) const
Definition: VImage8.h:761
VImage::thumbnail_image
VImage thumbnail_image(int width, VOption *options=0) const
Definition: vips-operators.cpp:3442
VImage::rot45
VImage rot45(VOption *options=0) const
Definition: vips-operators.cpp:3022
VImage::crop
VImage crop(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:729
VObject::VObject
VObject(VipsObject *new_vobject, VSteal steal=STEAL)
Definition: VImage8.h:80
VTarget
Definition: VConnection8.h:107
VImage::vipssave
void vipssave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3595
VImage::fastcor
VImage fastcor(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:1016
VImage::atan2
VImage atan2(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1549
VImage::matrixsave
void matrixsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2294
VImage::pow
VImage pow(VImage other, VOption *options=0) const
Definition: VImage8.h:1472
VImage::reduce
VImage reduce(double hshrink, double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:2888
VImage::rot180
VImage rot180(VOption *options=0) const
Definition: VImage8.h:1169
VImage::rotate
VImage rotate(double angle, VOption *options=0) const
Definition: vips-operators.cpp:3034
VImage::bandor
VImage bandor(VOption *options=0) const
Definition: VImage8.h:1262
VImage::jpegsave_mime
void jpegsave_mime(VOption *options=0) const
Definition: vips-operators.cpp:1819
VImage::vipsload_source
static VImage vipsload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3583
VImage::tonelut
static VImage tonelut(VOption *options=0)
Definition: vips-operators.cpp:3536
VImage::fractsurf
static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options=0)
Definition: vips-operators.cpp:1125
VImage::case_image
VImage case_image(std::vector< VImage > cases, VOption *options=0) const
Definition: vips-operators.cpp:494
VImage::shrinkv
VImage shrinkv(int vshrink, VOption *options=0) const
Definition: vips-operators.cpp:3183
VImage::openexrload
static VImage openexrload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2475
VImage::hist_match
VImage hist_match(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:1511
VImage::pow
VImage pow(double other, VOption *options=0) const
Definition: VImage8.h:1481
VImage::niftisave
void niftisave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2467
VImage::Lab2LabS
VImage Lab2LabS(VOption *options=0) const
Definition: vips-operators.cpp:89
VImage::max
double max(VOption *options=0) const
Definition: vips-operators.cpp:2310
VImage::embed
VImage embed(int x, int y, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:946
VImage::mask_fractal
static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options=0)
Definition: vips-operators.cpp:2070
VImage::subtract
VImage subtract(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:3324
VImage::cache
VImage cache(VOption *options=0) const
Definition: vips-operators.cpp:470
VImage::thumbnail_buffer
static VImage thumbnail_buffer(VipsBlob *buffer, int width, VOption *options=0)
Definition: vips-operators.cpp:3429
VImage::pngload
static VImage pngload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2586
VImage::jxlsave_target
void jxlsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1890
VImage::tiffload_buffer
static VImage tiffload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3480
VImage::matrixload
static VImage matrixload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2263
VImage::sRGB2scRGB
VImage sRGB2scRGB(VOption *options=0) const
Definition: vips-operators.cpp:3072
VImage::insert
VImage insert(VImage sub, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:1634
VImage::deviate
double deviate(VOption *options=0) const
Definition: vips-operators.cpp:824
VImage::heifsave_target
void heifsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1404
VImage::conva
VImage conva(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:639
VImage::unpremultiply
VImage unpremultiply(VOption *options=0) const
Definition: vips-operators.cpp:3559
VImage::thumbnail
static VImage thumbnail(const char *filename, int width, VOption *options=0)
Definition: vips-operators.cpp:3416
VImage::profile
VImage profile(VImage *rows, VOption *options=0) const
Definition: vips-operators.cpp:2702
VImage::bandjoin_const
VImage bandjoin_const(std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:356
VImage::ppmsave_target
void ppmsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2682
VImage::ifthenelse
VImage ifthenelse(std::vector< double > th, std::vector< double > el, VOption *options=0) const
Definition: VImage8.h:1582
VImage::pngsave_buffer
VipsBlob * pngsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:2630
VImage::colourspace
VImage colourspace(VipsInterpretation space, VOption *options=0) const
Definition: vips-operators.cpp:520
VImage::set
void set(const char *field, double *value, int n)
Definition: VImage8.h:609
VImage::logmat
static VImage logmat(double sigma, double min_ampl, VOption *options=0)
Definition: vips-operators.cpp:1936
VImage::measure
VImage measure(int h, int v, VOption *options=0) const
Definition: vips-operators.cpp:2322
VImage::arrayjoin
static VImage arrayjoin(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:283
VImage::draw_image
void draw_image(VImage sub, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:870
VImage::smartcrop
VImage smartcrop(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:3233
VImage::countlines
double countlines(VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:716
VImage::switch_image
static VImage switch_image(std::vector< VImage > tests, VOption *options=0)
Definition: vips-operators.cpp:3385