vips-cpp  8.16
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 private:
69  // can be NULL, see eg. VObject()
70  VipsObject *vobject;
71 
72 public:
79  explicit VObject(VipsObject *new_vobject, VSteal steal = STEAL)
80  : vobject(new_vobject)
81  {
82  // we allow NULL init, eg. "VImage a;"
83  g_assert(!new_vobject ||
84  VIPS_IS_OBJECT(new_vobject));
85 
86 #ifdef VIPS_DEBUG_VERBOSE
87  printf("VObject constructor, obj = %p, steal = %d\n",
88  new_vobject, steal);
89  if (new_vobject) {
90  printf(" obj ");
91  vips_object_print_name(VIPS_OBJECT(new_vobject));
92  printf("\n");
93  }
94 #endif /*VIPS_DEBUG_VERBOSE*/
95 
96  if (!steal && vobject) {
97 #ifdef VIPS_DEBUG_VERBOSE
98  printf(" reffing object\n");
99 #endif /*VIPS_DEBUG_VERBOSE*/
100  g_object_ref(vobject);
101  }
102  }
103 
104  VObject() : vobject(nullptr)
105  {
106  }
107 
108  VObject(const VObject &a) : vobject(a.vobject)
109  {
110  g_assert(!vobject ||
111  VIPS_IS_OBJECT(vobject));
112 
113 #ifdef VIPS_DEBUG_VERBOSE
114  printf("VObject copy constructor, obj = %p\n",
115  vobject);
116  printf(" reffing object\n");
117 #endif /*VIPS_DEBUG_VERBOSE*/
118  if (vobject)
119  g_object_ref(vobject);
120  }
121 
122  // assignment ... we must delete the old ref
123  VObject &
124  operator=(const VObject &a)
125  {
126 #ifdef VIPS_DEBUG_VERBOSE
127  printf("VObject assignment\n");
128  printf(" reffing %p\n", a.vobject);
129  printf(" unreffing %p\n", vobject);
130 #endif /*VIPS_DEBUG_VERBOSE*/
131 
132  g_assert(!vobject ||
133  VIPS_IS_OBJECT(vobject));
134  g_assert(!a.vobject ||
135  VIPS_IS_OBJECT(a.vobject));
136 
137  // delete the old ref at the end ... otherwise "a = a;" could
138  // unref before reffing again
139  if (a.vobject)
140  g_object_ref(a.vobject);
141  if (vobject)
142  g_object_unref(vobject);
143  vobject = a.vobject;
144 
145  return *this;
146  }
147 
148  // this mustn't be virtual: we want this class to only be a pointer,
149  // no vtable allowed
150  ~VObject()
151  {
152 #ifdef VIPS_DEBUG_VERBOSE
153  printf("VObject destructor\n");
154  printf(" unreffing %p\n", vobject);
155 #endif /*VIPS_DEBUG_VERBOSE*/
156 
157  g_assert(!vobject ||
158  VIPS_IS_OBJECT(vobject));
159 
160  if (vobject)
161  g_object_unref(vobject);
162  }
163 
169  VipsObject *
170  get_object() const
171  {
172  g_assert(!vobject ||
173  VIPS_IS_OBJECT(vobject));
174 
175  return vobject;
176  }
177 
181  bool
182  is_null() const
183  {
184  return vobject == nullptr;
185  }
186 };
187 
188 class VIPS_CPLUSPLUS_API VImage;
189 class VIPS_CPLUSPLUS_API VInterpolate;
190 class VIPS_CPLUSPLUS_API VRegion;
191 class VIPS_CPLUSPLUS_API VSource;
192 class VIPS_CPLUSPLUS_API VTarget;
193 class VIPS_CPLUSPLUS_API VOption;
194 
216 class VOption {
217 private:
218  struct Pair {
219  const char *name;
220 
221  // the thing we pass to and from our caller
222  GValue value;
223 
224  // an input or output parameter ... we guess the direction
225  // from the arg to set()
226  bool input;
227 
228  // the pointer we write output values to
229  union {
230  bool *vbool;
231  int *vint;
232  double *vdouble;
233  VImage *vimage;
234  std::vector<double> *vvector;
235  VipsBlob **vblob;
236  };
237 
238  explicit Pair(const char *name) : name(name), value(G_VALUE_INIT),
239  input(false), vimage(nullptr)
240  {
241  }
242 
243  ~Pair()
244  {
245  g_value_unset(&value);
246  }
247  };
248 
249  std::list<Pair *> options;
250 
251 public:
252  VOption() = default;
253 
254  virtual ~VOption();
255 
259  VOption *
260  set(const char *name, bool value);
261 
266  VOption *
267  set(const char *name, int value);
268 
272  VOption *
273  set(const char *name, guint64 value);
274 
278  VOption *
279  set(const char *name, double value);
280 
286  VOption *
287  set(const char *name, const char *value);
288 
295  VOption *
296  set(const char *name, const VObject value);
297 
303  VOption *
304  set(const char *name, std::vector<int> value);
305 
311  VOption *
312  set(const char *name, std::vector<double> value);
313 
319  VOption *
320  set(const char *name, std::vector<VImage> value);
321 
328  VOption *
329  set(const char *name, VipsBlob *value);
330 
334  VOption *
335  set(const char *name, bool *value);
336 
340  VOption *
341  set(const char *name, int *value);
342 
346  VOption *
347  set(const char *name, double *value);
348 
352  VOption *
353  set(const char *name, VImage *value);
354 
358  VOption *
359  set(const char *name, std::vector<double> *value);
360 
365  VOption *
366  set(const char *name, VipsBlob **blob);
367 
372  void
373  set_operation(VipsOperation *operation);
374 
379  void
380  get_operation(VipsOperation *operation);
381 };
382 
398 class VImage : public VObject {
399 public:
400  using VObject::is_null;
401 
408  explicit VImage(VipsImage *image, VSteal steal = STEAL)
409  : VObject((VipsObject *) image, steal)
410  {
411  }
412 
416  VImage() : VObject(nullptr)
417  {
418  }
419 
425  VipsImage *
426  get_image() const
427  {
428  return (VipsImage *) VObject::get_object();
429  }
430 
434  int
435  width() const
436  {
437  return vips_image_get_width(get_image());
438  }
439 
443  int
444  height() const
445  {
446  return vips_image_get_height(get_image());
447  }
448 
452  int
453  bands() const
454  {
455  return vips_image_get_bands(get_image());
456  }
457 
461  VipsBandFormat
462  format() const
463  {
464  return vips_image_get_format(get_image());
465  }
466 
470  VipsCoding
471  coding() const
472  {
473  return vips_image_get_coding(get_image());
474  }
475 
480  VipsInterpretation
482  {
483  return vips_image_get_interpretation(get_image());
484  }
485 
490  VipsInterpretation
492  {
493  return vips_image_guess_interpretation(get_image());
494  }
495 
499  double
500  xres() const
501  {
502  return vips_image_get_xres(get_image());
503  }
504 
508  double
509  yres() const
510  {
511  return vips_image_get_yres(get_image());
512  }
513 
517  int
518  xoffset() const
519  {
520  return vips_image_get_xoffset(get_image());
521  }
522 
526  int
527  yoffset() const
528  {
529  return vips_image_get_yoffset(get_image());
530  }
531 
535  bool
536  has_alpha() const
537  {
538  return vips_image_hasalpha(get_image());
539  }
540 
545  const char *
546  filename() const
547  {
548  return vips_image_get_filename(get_image());
549  }
550 
564  void
566  {
567  if (vips_image_inplace(this->get_image()))
568  throw(VError());
569  }
570 
577  const void *
578  data() const
579  {
580  return vips_image_get_data(get_image());
581  }
582 
586  void
587  set(const char *field, int value)
588  {
589  vips_image_set_int(this->get_image(), field, value);
590  }
591 
597  void
598  set(const char *field, int *value, int n)
599  {
600  vips_image_set_array_int(this->get_image(), field, value, n);
601  }
602 
608  void
609  set(const char *field, std::vector<int> value)
610  {
611  vips_image_set_array_int(this->get_image(), field, &value[0],
612  static_cast<int>(value.size()));
613  }
614 
620  void
621  set(const char *field, double *value, int n)
622  {
623  vips_image_set_array_double(this->get_image(), field, value, n);
624  }
625 
631  void
632  set(const char *field, std::vector<double> value)
633  {
634  vips_image_set_array_double(this->get_image(), field, &value[0],
635  static_cast<int>(value.size()));
636  }
637 
641  void
642  set(const char *field, double value)
643  {
644  vips_image_set_double(this->get_image(), field, value);
645  }
646 
652  void
653  set(const char *field, const char *value)
654  {
655  vips_image_set_string(this->get_image(), field, value);
656  }
657 
665  void
666  set(const char *field,
667  VipsCallbackFn free_fn, void *data, size_t length)
668  {
669  vips_image_set_blob(this->get_image(), field,
670  free_fn, data, length);
671  }
672 
677  GType
678  get_typeof(const char *field) const
679  {
680  return vips_image_get_typeof(this->get_image(), field);
681  }
682 
688  int
689  get_int(const char *field) const
690  {
691  int value;
692 
693  if (vips_image_get_int(this->get_image(), field, &value))
694  throw(VError());
695 
696  return value;
697  }
698 
705  void
706  get_array_int(const char *field, int **out, int *n) const
707  {
708  if (vips_image_get_array_int(this->get_image(),
709  field, out, n))
710  throw(VError());
711  }
712 
718  std::vector<int>
719  get_array_int(const char *field) const
720  {
721  int length;
722  int *array;
723 
724  if (vips_image_get_array_int(this->get_image(),
725  field, &array, &length))
726  throw(VError());
727 
728  std::vector<int> vector(array, array + length);
729 
730  return vector;
731  }
732 
739  void
740  get_array_double(const char *field, double **out, int *n) const
741  {
742  if (vips_image_get_array_double(this->get_image(),
743  field, out, n))
744  throw(VError());
745  }
746 
752  std::vector<double>
753  get_array_double(const char *field) const
754  {
755  int length;
756  double *array;
757 
758  if (vips_image_get_array_double(this->get_image(),
759  field, &array, &length))
760  throw(VError());
761 
762  std::vector<double> vector(array, array + length);
763 
764  return vector;
765  }
766 
772  double
773  get_double(const char *field) const
774  {
775  double value;
776 
777  if (vips_image_get_double(this->get_image(), field, &value))
778  throw(VError());
779 
780  return value;
781  }
782 
789  const char *
790  get_string(const char *field) const
791  {
792  const char *value;
793 
794  if (vips_image_get_string(this->get_image(), field, &value))
795  throw(VError());
796 
797  return value;
798  }
799 
806  const void *
807  get_blob(const char *field, size_t *length) const
808  {
809  const void *value;
810 
811  if (vips_image_get_blob(this->get_image(), field,
812  &value, length))
813  throw(VError());
814 
815  return value;
816  }
817 
822  bool
823  remove(const char *name) const
824  {
825  return vips_image_remove(get_image(), name);
826  }
827 
831  static VOption *
833  {
834  return new VOption();
835  }
836 
841  static void
842  call_option_string(const char *operation_name,
843  const char *option_string, VOption *options = nullptr);
844 
848  static void
849  call(const char *operation_name, VOption *options = nullptr);
850 
855  static VImage
857  {
858  return VImage(vips_image_new_memory());
859  }
860 
865  static VImage
866  new_temp_file(const char *file_format = ".v")
867  {
868  VipsImage *image;
869 
870  if (!(image = vips_image_new_temp_file(file_format)))
871  throw(VError());
872 
873  return VImage(image);
874  }
875 
882  static VImage
883  new_from_file(const char *name, VOption *options = nullptr);
884 
892  static VImage
893  new_from_buffer(const void *buf, size_t len,
894  const char *option_string, VOption *options = nullptr);
895 
903  static VImage
904  new_from_buffer(const std::string &buf,
905  const char *option_string, VOption *options = nullptr);
906 
913  static VImage
914  new_from_source(VSource source,
915  const char *option_string, VOption *options = nullptr);
916 
921  static VImage
922  new_from_memory(const void *data, size_t size,
923  int width, int height, int bands, VipsBandFormat format)
924  {
925  VipsImage *image;
926 
927  if (!(image = vips_image_new_from_memory(data, size,
928  width, height, bands, format)))
929  throw(VError());
930 
931  return VImage(image);
932  }
933 
939  static VImage
940  new_from_memory_copy(const void *data, size_t size,
941  int width, int height, int bands, VipsBandFormat format)
942  {
943  VipsImage *image;
944 
945  if (!(image = vips_image_new_from_memory_copy(data, size,
946  width, height, bands, format)))
947  throw(VError());
948 
949  return VImage(image);
950  }
951 
959  static VImage
960  new_from_memory_steal(const void *data, size_t size,
961  int width, int height, int bands, VipsBandFormat format);
962 
967  static VImage
968  new_matrix(int width, int height);
969 
974  static VImage
975  new_matrix(int width, int height, double *array, int size)
976  {
977  VipsImage *image;
978 
979  if (!(image = vips_image_new_matrix_from_array(width, height,
980  array, size)))
981  throw(VError());
982 
983  return VImage(image);
984  }
985 
990  static VImage
991  new_matrixv(int width, int height, ...);
992 
997  VImage
998  new_from_image(std::vector<double> pixel) const
999  {
1000  VipsImage *image;
1001 
1002  if (!(image = vips_image_new_from_image(this->get_image(),
1003  &pixel[0], static_cast<int>(pixel.size()))))
1004  throw(VError());
1005 
1006  return VImage(image);
1007  }
1008 
1013  VImage
1014  new_from_image(double pixel) const
1015  {
1016  return new_from_image(to_vectorv(1, pixel));
1017  }
1018 
1031  VImage
1032  copy_memory() const
1033  {
1034  VipsImage *image;
1035 
1036  if (!(image = vips_image_copy_memory(this->get_image())))
1037  throw(VError());
1038 
1039  return VImage(image);
1040  }
1041 
1045  VImage write(VImage out) const;
1046 
1053  void write_to_file(const char *name, VOption *options = nullptr) const;
1054 
1068  void write_to_buffer(const char *suffix, void **buf, size_t *size,
1069  VOption *options = nullptr) const;
1070 
1077  void write_to_target(const char *suffix, VTarget target,
1078  VOption *options = nullptr) const;
1079 
1083  void *
1084  write_to_memory(size_t *size) const
1085  {
1086  void *result;
1087 
1088  if (!(result = vips_image_write_to_memory(this->get_image(),
1089  size)))
1090  throw(VError());
1091 
1092  return result;
1093  }
1094 
1098  VRegion
1099  region() const;
1100 
1104  VRegion
1105  region(VipsRect *rect) const;
1106 
1110  VRegion
1111  region(int left, int top, int width, int height) const;
1112 
1118  VImage
1119  linear(double a, double b, VOption *options = nullptr) const
1120  {
1121  return this->linear(to_vector(a), to_vector(b),
1122  options);
1123  }
1124 
1130  VImage
1131  linear(std::vector<double> a, double b, VOption *options = nullptr) const
1132  {
1133  return this->linear(a, to_vector(b), options);
1134  }
1135 
1141  VImage
1142  linear(double a, std::vector<double> b, VOption *options = nullptr) const
1143  {
1144  return this->linear(to_vector(a), b, options);
1145  }
1146 
1150  std::vector<VImage> bandsplit(VOption *options = nullptr) const;
1151 
1155  VImage bandjoin(VImage other, VOption *options = nullptr) const;
1156 
1161  VImage
1162  bandjoin(double other, VOption *options = nullptr) const
1163  {
1164  return bandjoin(to_vector(other), options);
1165  }
1166 
1171  VImage
1172  bandjoin(std::vector<double> other, VOption *options = nullptr) const
1173  {
1174  return bandjoin_const(other, options);
1175  }
1176 
1180  VImage composite(VImage other, VipsBlendMode mode,
1181  VOption *options = nullptr) const;
1182 
1186  std::complex<double> minpos(VOption *options = nullptr) const;
1187 
1191  std::complex<double> maxpos(VOption *options = nullptr) const;
1192 
1196  VImage
1197  fliphor(VOption *options = nullptr) const
1198  {
1199  return flip(VIPS_DIRECTION_HORIZONTAL, options);
1200  }
1201 
1205  VImage
1206  flipver(VOption *options = nullptr) const
1207  {
1208  return flip(VIPS_DIRECTION_VERTICAL, options);
1209  }
1210 
1214  VImage
1215  rot90(VOption *options = nullptr) const
1216  {
1217  return rot(VIPS_ANGLE_D90, options);
1218  }
1219 
1223  VImage
1224  rot180(VOption *options = nullptr) const
1225  {
1226  return rot(VIPS_ANGLE_D180, options);
1227  }
1228 
1232  VImage
1233  rot270(VOption *options = nullptr) const
1234  {
1235  return rot(VIPS_ANGLE_D270, options);
1236  }
1237 
1243  VImage
1244  dilate(VImage mask, VOption *options = nullptr) const
1245  {
1246  return morph(mask, VIPS_OPERATION_MORPHOLOGY_DILATE,
1247  options);
1248  }
1249 
1255  VImage
1256  erode(VImage mask, VOption *options = nullptr) const
1257  {
1258  return morph(mask, VIPS_OPERATION_MORPHOLOGY_ERODE,
1259  options);
1260  }
1261 
1265  VImage
1266  median(int size = 3, VOption *options = nullptr) const
1267  {
1268  return rank(size, size, (size * size) / 2, options);
1269  }
1270 
1274  VImage
1275  floor(VOption *options = nullptr) const
1276  {
1277  return round(VIPS_OPERATION_ROUND_FLOOR, options);
1278  }
1279 
1283  VImage
1284  ceil(VOption *options = nullptr) const
1285  {
1286  return round(VIPS_OPERATION_ROUND_CEIL, options);
1287  }
1288 
1292  VImage
1293  rint(VOption *options = nullptr) const
1294  {
1295  return round(VIPS_OPERATION_ROUND_RINT, options);
1296  }
1297 
1304  VImage
1305  bandand(VOption *options = nullptr) const
1306  {
1307  return bandbool(VIPS_OPERATION_BOOLEAN_AND, options);
1308  }
1309 
1316  VImage
1317  bandor(VOption *options = nullptr) const
1318  {
1319  return bandbool(VIPS_OPERATION_BOOLEAN_OR, options);
1320  }
1321 
1328  VImage
1329  bandeor(VOption *options = nullptr) const
1330  {
1331  return bandbool(VIPS_OPERATION_BOOLEAN_EOR, options);
1332  }
1333 
1337  VImage
1338  real(VOption *options = nullptr) const
1339  {
1340  return complexget(VIPS_OPERATION_COMPLEXGET_REAL, options);
1341  }
1342 
1346  VImage
1347  imag(VOption *options = nullptr) const
1348  {
1349  return complexget(VIPS_OPERATION_COMPLEXGET_IMAG, options);
1350  }
1351 
1355  VImage
1356  polar(VOption *options = nullptr) const
1357  {
1358  return complex(VIPS_OPERATION_COMPLEX_POLAR, options);
1359  }
1360 
1364  VImage
1365  rect(VOption *options = nullptr) const
1366  {
1367  return complex(VIPS_OPERATION_COMPLEX_RECT, options);
1368  }
1369 
1373  VImage
1374  conj(VOption *options = nullptr) const
1375  {
1376  return complex(VIPS_OPERATION_COMPLEX_CONJ, options);
1377  }
1378 
1382  VImage
1383  sin(VOption *options = nullptr) const
1384  {
1385  return math(VIPS_OPERATION_MATH_SIN, options);
1386  }
1387 
1391  VImage
1392  cos(VOption *options = nullptr) const
1393  {
1394  return math(VIPS_OPERATION_MATH_COS, options);
1395  }
1396 
1400  VImage
1401  tan(VOption *options = nullptr) const
1402  {
1403  return math(VIPS_OPERATION_MATH_TAN, options);
1404  }
1405 
1409  VImage
1410  asin(VOption *options = nullptr) const
1411  {
1412  return math(VIPS_OPERATION_MATH_ASIN, options);
1413  }
1414 
1418  VImage
1419  acos(VOption *options = nullptr) const
1420  {
1421  return math(VIPS_OPERATION_MATH_ACOS, options);
1422  }
1423 
1427  VImage
1428  atan(VOption *options = nullptr) const
1429  {
1430  return math(VIPS_OPERATION_MATH_ATAN, options);
1431  }
1432 
1436  VImage
1437  sinh(VOption *options = nullptr) const
1438  {
1439  return math(VIPS_OPERATION_MATH_SINH, options);
1440  }
1441 
1445  VImage
1446  cosh(VOption *options = nullptr) const
1447  {
1448  return math(VIPS_OPERATION_MATH_COSH, options);
1449  }
1450 
1454  VImage
1455  tanh(VOption *options = nullptr) const
1456  {
1457  return math(VIPS_OPERATION_MATH_TANH, options);
1458  }
1459 
1463  VImage
1464  asinh(VOption *options = nullptr) const
1465  {
1466  return math(VIPS_OPERATION_MATH_ASINH, options);
1467  }
1468 
1472  VImage
1473  acosh(VOption *options = nullptr) const
1474  {
1475  return math(VIPS_OPERATION_MATH_ACOSH, options);
1476  }
1477 
1481  VImage
1482  atanh(VOption *options = nullptr) const
1483  {
1484  return math(VIPS_OPERATION_MATH_ATANH, options);
1485  }
1486 
1490  VImage
1491  log(VOption *options = nullptr) const
1492  {
1493  return math(VIPS_OPERATION_MATH_LOG, options);
1494  }
1495 
1499  VImage
1500  log10(VOption *options = nullptr) const
1501  {
1502  return math(VIPS_OPERATION_MATH_LOG10, options);
1503  }
1504 
1508  VImage
1509  exp(VOption *options = nullptr) const
1510  {
1511  return math(VIPS_OPERATION_MATH_EXP, options);
1512  }
1513 
1517  VImage
1518  exp10(VOption *options = nullptr) const
1519  {
1520  return math(VIPS_OPERATION_MATH_EXP10, options);
1521  }
1522 
1526  VImage
1527  pow(VImage other, VOption *options = nullptr) const
1528  {
1529  return math2(other, VIPS_OPERATION_MATH2_POW, options);
1530  }
1531 
1535  VImage
1536  pow(double other, VOption *options = nullptr) const
1537  {
1538  return math2_const(VIPS_OPERATION_MATH2_POW,
1539  to_vector(other), options);
1540  }
1541 
1545  VImage
1546  pow(std::vector<double> other, VOption *options = nullptr) const
1547  {
1548  return math2_const(VIPS_OPERATION_MATH2_POW,
1549  other, options);
1550  }
1551 
1555  VImage
1556  wop(VImage other, VOption *options = nullptr) const
1557  {
1558  return math2(other, VIPS_OPERATION_MATH2_WOP, options);
1559  }
1560 
1564  VImage
1565  wop(double other, VOption *options = nullptr) const
1566  {
1567  return math2_const(VIPS_OPERATION_MATH2_WOP,
1568  to_vector(other), options);
1569  }
1570 
1574  VImage
1575  wop(std::vector<double> other, VOption *options = nullptr) const
1576  {
1577  return math2_const(VIPS_OPERATION_MATH2_WOP,
1578  other, options);
1579  }
1580 
1584  VImage
1585  atan2(VImage other, VOption *options = nullptr) const
1586  {
1587  return math2(other, VIPS_OPERATION_MATH2_ATAN2, options);
1588  }
1589 
1593  VImage
1594  atan2(double other, VOption *options = nullptr) const
1595  {
1596  return math2_const(VIPS_OPERATION_MATH2_ATAN2,
1597  to_vector(other), options);
1598  }
1599 
1603  VImage
1604  atan2(std::vector<double> other, VOption *options = nullptr) const
1605  {
1606  return math2_const(VIPS_OPERATION_MATH2_ATAN2,
1607  other, options);
1608  }
1609 
1614  VImage
1615  ifthenelse(std::vector<double> th, VImage el,
1616  VOption *options = nullptr) const
1617  {
1618  return ifthenelse(el.new_from_image(th), el, options);
1619  }
1620 
1625  VImage
1626  ifthenelse(VImage th, std::vector<double> el,
1627  VOption *options = nullptr) const
1628  {
1629  return ifthenelse(th, th.new_from_image(el), options);
1630  }
1631 
1636  VImage
1637  ifthenelse(std::vector<double> th, std::vector<double> el,
1638  VOption *options = nullptr) const
1639  {
1640  return ifthenelse(new_from_image(th), new_from_image(el),
1641  options);
1642  }
1643 
1648  VImage
1649  ifthenelse(double th, VImage el, VOption *options = nullptr) const
1650  {
1651  return ifthenelse(to_vector(th), el, options);
1652  }
1653 
1658  VImage
1659  ifthenelse(VImage th, double el, VOption *options = nullptr) const
1660  {
1661  return ifthenelse(th, to_vector(el), options);
1662  }
1663 
1668  VImage
1669  ifthenelse(double th, double el, VOption *options = nullptr) const
1670  {
1671  return ifthenelse(to_vector(th), to_vector(el),
1672  options);
1673  }
1674 
1687  void
1688  draw_circle(double ink, int cx, int cy, int radius, VOption *options = nullptr) const
1689  {
1690  return draw_circle(to_vector(ink), cx, cy, radius, options);
1691  }
1692 
1702  void
1703  draw_line(double ink, int x1, int y1, int x2, int y2, VOption *options = nullptr) const
1704  {
1705  return draw_line(to_vector(ink), x1, y1, x2, y2, options);
1706  }
1707 
1721  void
1722  draw_rect(double ink, int left, int top, int width, int height, VOption *options = nullptr) const
1723  {
1724  return draw_rect(to_vector(ink), left, top, width, height, options);
1725  }
1726 
1734  void
1735  draw_point(double ink, int x, int y, VOption *options = nullptr) const
1736  {
1737  return draw_rect(ink, x, y, 1, 1, options);
1738  }
1739 
1747  void
1748  draw_point(std::vector<double> ink, int x, int y, VOption *options = nullptr) const
1749  {
1750  return draw_rect(ink, x, y, 1, 1, options);
1751  }
1752 
1765  void
1766  draw_flood(double ink, int x, int y, VOption *options = nullptr) const
1767  {
1768  return draw_flood(to_vector(ink), x, y, options);
1769  }
1770 
1779  void
1780  draw_mask(double ink, VImage mask, int x, int y, VOption *options = nullptr) const
1781  {
1782  return draw_mask(to_vector(ink), mask, x, y, options);
1783  }
1784 
1806  static VImage thumbnail_buffer(void *buf, size_t len, int width, VOption *options = nullptr);
1807 
1808  // Operator overloads
1809 
1810  VImage operator[](int index) const;
1811 
1812  std::vector<double> operator()(int x, int y) const;
1813 
1814  friend VIPS_CPLUSPLUS_API VImage
1815  operator+(const VImage a, const VImage b);
1816  friend VIPS_CPLUSPLUS_API VImage
1817  operator+(const double a, const VImage b);
1818  friend VIPS_CPLUSPLUS_API VImage
1819  operator+(const VImage a, const double b);
1820  friend VIPS_CPLUSPLUS_API VImage
1821  operator+(const std::vector<double> a, const VImage b);
1822  friend VIPS_CPLUSPLUS_API VImage
1823  operator+(const VImage a, const std::vector<double> b);
1824 
1825  friend VIPS_CPLUSPLUS_API VImage &
1826  operator+=(VImage &a, const VImage b);
1827  friend VIPS_CPLUSPLUS_API VImage &
1828  operator+=(VImage &a, const double b);
1829  friend VIPS_CPLUSPLUS_API VImage &
1830  operator+=(VImage &a, const std::vector<double> b);
1831 
1832  friend VIPS_CPLUSPLUS_API VImage
1833  operator-(const VImage a, const VImage b);
1834  friend VIPS_CPLUSPLUS_API VImage
1835  operator-(const double a, const VImage b);
1836  friend VIPS_CPLUSPLUS_API VImage
1837  operator-(const VImage a, const double b);
1838  friend VIPS_CPLUSPLUS_API VImage
1839  operator-(const std::vector<double> a, const VImage b);
1840  friend VIPS_CPLUSPLUS_API VImage
1841  operator-(const VImage a, const std::vector<double> b);
1842 
1843  friend VIPS_CPLUSPLUS_API VImage &
1844  operator-=(VImage &a, const VImage b);
1845  friend VIPS_CPLUSPLUS_API VImage &
1846  operator-=(VImage &a, const double b);
1847  friend VIPS_CPLUSPLUS_API VImage &
1848  operator-=(VImage &a, const std::vector<double> b);
1849 
1850  friend VIPS_CPLUSPLUS_API VImage
1851  operator-(const VImage a);
1852 
1853  friend VIPS_CPLUSPLUS_API VImage
1854  operator*(const VImage a, const VImage b);
1855  friend VIPS_CPLUSPLUS_API VImage
1856  operator*(const double a, const VImage b);
1857  friend VIPS_CPLUSPLUS_API VImage
1858  operator*(const VImage a, const double b);
1859  friend VIPS_CPLUSPLUS_API VImage
1860  operator*(const std::vector<double> a, const VImage b);
1861  friend VIPS_CPLUSPLUS_API VImage
1862  operator*(const VImage a, const std::vector<double> b);
1863 
1864  friend VIPS_CPLUSPLUS_API VImage &
1865  operator*=(VImage &a, const VImage b);
1866  friend VIPS_CPLUSPLUS_API VImage &
1867  operator*=(VImage &a, const double b);
1868  friend VIPS_CPLUSPLUS_API VImage &
1869  operator*=(VImage &a, const std::vector<double> b);
1870 
1871  friend VIPS_CPLUSPLUS_API VImage
1872  operator/(const VImage a, const VImage b);
1873  friend VIPS_CPLUSPLUS_API VImage
1874  operator/(const double a, const VImage b);
1875  friend VIPS_CPLUSPLUS_API VImage
1876  operator/(const VImage a, const double b);
1877  friend VIPS_CPLUSPLUS_API VImage
1878  operator/(const std::vector<double> a, const VImage b);
1879  friend VIPS_CPLUSPLUS_API VImage
1880  operator/(const VImage a, const std::vector<double> b);
1881 
1882  friend VIPS_CPLUSPLUS_API VImage &
1883  operator/=(VImage &a, const VImage b);
1884  friend VIPS_CPLUSPLUS_API VImage &
1885  operator/=(VImage &a, const double b);
1886  friend VIPS_CPLUSPLUS_API VImage &
1887  operator/=(VImage &a, const std::vector<double> b);
1888 
1889  friend VIPS_CPLUSPLUS_API VImage
1890  operator%(const VImage a, const VImage b);
1891  friend VIPS_CPLUSPLUS_API VImage
1892  operator%(const VImage a, const double b);
1893  friend VIPS_CPLUSPLUS_API VImage
1894  operator%(const VImage a, const std::vector<double> b);
1895 
1896  friend VIPS_CPLUSPLUS_API VImage &
1897  operator%=(VImage &a, const VImage b);
1898  friend VIPS_CPLUSPLUS_API VImage &
1899  operator%=(VImage &a, const double b);
1900  friend VIPS_CPLUSPLUS_API VImage &
1901  operator%=(VImage &a, const std::vector<double> b);
1902 
1903  friend VIPS_CPLUSPLUS_API VImage
1904  operator<(const VImage a, const VImage b);
1905  friend VIPS_CPLUSPLUS_API VImage
1906  operator<(const double a, const VImage b);
1907  friend VIPS_CPLUSPLUS_API VImage
1908  operator<(const VImage a, const double b);
1909  friend VIPS_CPLUSPLUS_API VImage
1910  operator<(const std::vector<double> a, const VImage b);
1911  friend VIPS_CPLUSPLUS_API VImage
1912  operator<(const VImage a, const std::vector<double> b);
1913 
1914  friend VIPS_CPLUSPLUS_API VImage
1915  operator<=(const VImage a, const VImage b);
1916  friend VIPS_CPLUSPLUS_API VImage
1917  operator<=(const double a, const VImage b);
1918  friend VIPS_CPLUSPLUS_API VImage
1919  operator<=(const VImage a, const double b);
1920  friend VIPS_CPLUSPLUS_API VImage
1921  operator<=(const std::vector<double> a, const VImage b);
1922  friend VIPS_CPLUSPLUS_API VImage
1923  operator<=(const VImage a, const std::vector<double> b);
1924 
1925  friend VIPS_CPLUSPLUS_API VImage
1926  operator>(const VImage a, const VImage b);
1927  friend VIPS_CPLUSPLUS_API VImage
1928  operator>(const double a, const VImage b);
1929  friend VIPS_CPLUSPLUS_API VImage
1930  operator>(const VImage a, const double b);
1931  friend VIPS_CPLUSPLUS_API VImage
1932  operator>(const std::vector<double> a, const VImage b);
1933  friend VIPS_CPLUSPLUS_API VImage
1934  operator>(const VImage a, const std::vector<double> b);
1935 
1936  friend VIPS_CPLUSPLUS_API VImage
1937  operator>=(const VImage a, const VImage b);
1938  friend VIPS_CPLUSPLUS_API VImage
1939  operator>=(const double a, const VImage b);
1940  friend VIPS_CPLUSPLUS_API VImage
1941  operator>=(const VImage a, const double b);
1942  friend VIPS_CPLUSPLUS_API VImage
1943  operator>=(const std::vector<double> a, const VImage b);
1944  friend VIPS_CPLUSPLUS_API VImage
1945  operator>=(const VImage a, const std::vector<double> b);
1946 
1947  friend VIPS_CPLUSPLUS_API VImage
1948  operator==(const VImage a, const VImage b);
1949  friend VIPS_CPLUSPLUS_API VImage
1950  operator==(const double a, const VImage b);
1951  friend VIPS_CPLUSPLUS_API VImage
1952  operator==(const VImage a, const double b);
1953  friend VIPS_CPLUSPLUS_API VImage
1954  operator==(const std::vector<double> a, const VImage b);
1955  friend VIPS_CPLUSPLUS_API VImage
1956  operator==(const VImage a, const std::vector<double> b);
1957 
1958  friend VIPS_CPLUSPLUS_API VImage
1959  operator!=(const VImage a, const VImage b);
1960  friend VIPS_CPLUSPLUS_API VImage
1961  operator!=(const double a, const VImage b);
1962  friend VIPS_CPLUSPLUS_API VImage
1963  operator!=(const VImage a, const double b);
1964  friend VIPS_CPLUSPLUS_API VImage
1965  operator!=(const std::vector<double> a, const VImage b);
1966  friend VIPS_CPLUSPLUS_API VImage
1967  operator!=(const VImage a, const std::vector<double> b);
1968 
1969  friend VIPS_CPLUSPLUS_API VImage
1970  operator&(const VImage a, const VImage b);
1971  friend VIPS_CPLUSPLUS_API VImage
1972  operator&(const double a, const VImage b);
1973  friend VIPS_CPLUSPLUS_API VImage
1974  operator&(const VImage a, const double b);
1975  friend VIPS_CPLUSPLUS_API VImage
1976  operator&(const std::vector<double> a, const VImage b);
1977  friend VIPS_CPLUSPLUS_API VImage
1978  operator&(const VImage a, const std::vector<double> b);
1979 
1980  friend VIPS_CPLUSPLUS_API VImage &
1981  operator&=(VImage &a, const VImage b);
1982  friend VIPS_CPLUSPLUS_API VImage &
1983  operator&=(VImage &a, const double b);
1984  friend VIPS_CPLUSPLUS_API VImage &
1985  operator&=(VImage &a, const std::vector<double> b);
1986 
1987  friend VIPS_CPLUSPLUS_API VImage
1988  operator|(const VImage a, const VImage b);
1989  friend VIPS_CPLUSPLUS_API VImage
1990  operator|(const double a, const VImage b);
1991  friend VIPS_CPLUSPLUS_API VImage
1992  operator|(const VImage a, const double b);
1993  friend VIPS_CPLUSPLUS_API VImage
1994  operator|(const std::vector<double> a, const VImage b);
1995  friend VIPS_CPLUSPLUS_API VImage
1996  operator|(const VImage a, const std::vector<double> b);
1997 
1998  friend VIPS_CPLUSPLUS_API VImage &
1999  operator|=(VImage &a, const VImage b);
2000  friend VIPS_CPLUSPLUS_API VImage &
2001  operator|=(VImage &a, const double b);
2002  friend VIPS_CPLUSPLUS_API VImage &
2003  operator|=(VImage &a, const std::vector<double> b);
2004 
2005  friend VIPS_CPLUSPLUS_API VImage
2006  operator^(const VImage a, const VImage b);
2007  friend VIPS_CPLUSPLUS_API VImage
2008  operator^(const double a, const VImage b);
2009  friend VIPS_CPLUSPLUS_API VImage
2010  operator^(const VImage a, const double b);
2011  friend VIPS_CPLUSPLUS_API VImage
2012  operator^(const std::vector<double> a, const VImage b);
2013  friend VIPS_CPLUSPLUS_API VImage
2014  operator^(const VImage a, const std::vector<double> b);
2015 
2016  friend VIPS_CPLUSPLUS_API VImage &
2017  operator^=(VImage &a, const VImage b);
2018  friend VIPS_CPLUSPLUS_API VImage &
2019  operator^=(VImage &a, const double b);
2020  friend VIPS_CPLUSPLUS_API VImage &
2021  operator^=(VImage &a, const std::vector<double> b);
2022 
2023  friend VIPS_CPLUSPLUS_API VImage
2024  operator<<(const VImage a, const VImage b);
2025  friend VIPS_CPLUSPLUS_API VImage
2026  operator<<(const VImage a, const double b);
2027  friend VIPS_CPLUSPLUS_API VImage
2028  operator<<(const VImage a, const std::vector<double> b);
2029 
2030  friend VIPS_CPLUSPLUS_API VImage &
2031  operator<<=(VImage &a, const VImage b);
2032  friend VIPS_CPLUSPLUS_API VImage &
2033  operator<<=(VImage &a, const double b);
2034  friend VIPS_CPLUSPLUS_API VImage &
2035  operator<<=(VImage &a, const std::vector<double> b);
2036 
2037  friend VIPS_CPLUSPLUS_API VImage
2038  operator>>(const VImage a, const VImage b);
2039  friend VIPS_CPLUSPLUS_API VImage
2040  operator>>(const VImage a, const double b);
2041  friend VIPS_CPLUSPLUS_API VImage
2042  operator>>(const VImage a, const std::vector<double> b);
2043 
2044  friend VIPS_CPLUSPLUS_API VImage &
2045  operator>>=(VImage &a, const VImage b);
2046  friend VIPS_CPLUSPLUS_API VImage &
2047  operator>>=(VImage &a, const double b);
2048  friend VIPS_CPLUSPLUS_API VImage &
2049  operator>>=(VImage &a, const std::vector<double> b);
2050 
2051  // Compat operations
2052 
2053  static VImage
2054  new_from_memory_steal(void *data, size_t size,
2055  int width, int height, int bands, VipsBandFormat format);
2056 
2069  G_DEPRECATED_FOR(rawsave_target)
2070  void rawsave_fd(int fd, VOption *options = nullptr) const;
2071 
2072  /* Automatically generated members.
2073  *
2074  * Rebuild with:
2075  *
2076  * meson compile -Cbuild vips-operators-header
2077  *
2078  * Then delete from here to the end of the class and paste in
2079  * vips-operators.h. We could just #include "vips-operators.h", but
2080  * that confuses doxygen.
2081  */
2082 
2083  // headers for vips operations
2084  // this file is generated automatically, do not edit!
2085 
2091  VImage CMC2LCh(VOption *options = nullptr) const;
2092 
2098  VImage CMYK2XYZ(VOption *options = nullptr) const;
2099 
2105  VImage HSV2sRGB(VOption *options = nullptr) const;
2106 
2112  VImage LCh2CMC(VOption *options = nullptr) const;
2113 
2119  VImage LCh2Lab(VOption *options = nullptr) const;
2120 
2126  VImage Lab2LCh(VOption *options = nullptr) const;
2127 
2133  VImage Lab2LabQ(VOption *options = nullptr) const;
2134 
2140  VImage Lab2LabS(VOption *options = nullptr) const;
2141 
2151  VImage Lab2XYZ(VOption *options = nullptr) const;
2152 
2158  VImage LabQ2Lab(VOption *options = nullptr) const;
2159 
2165  VImage LabQ2LabS(VOption *options = nullptr) const;
2166 
2172  VImage LabQ2sRGB(VOption *options = nullptr) const;
2173 
2179  VImage LabS2Lab(VOption *options = nullptr) const;
2180 
2186  VImage LabS2LabQ(VOption *options = nullptr) const;
2187 
2193  VImage XYZ2CMYK(VOption *options = nullptr) const;
2194 
2204  VImage XYZ2Lab(VOption *options = nullptr) const;
2205 
2211  VImage XYZ2Yxy(VOption *options = nullptr) const;
2212 
2218  VImage XYZ2scRGB(VOption *options = nullptr) const;
2219 
2225  VImage Yxy2XYZ(VOption *options = nullptr) const;
2226 
2232  VImage abs(VOption *options = nullptr) const;
2233 
2240  VImage add(VImage right, VOption *options = nullptr) const;
2241 
2247  VImage addalpha(VOption *options = nullptr) const;
2248 
2267  VImage affine(std::vector<double> matrix, VOption *options = nullptr) const;
2268 
2282  static VImage analyzeload(const char *filename, VOption *options = nullptr);
2283 
2300  static VImage arrayjoin(std::vector<VImage> in, VOption *options = nullptr);
2301 
2307  VImage autorot(VOption *options = nullptr) const;
2308 
2314  double avg(VOption *options = nullptr) const;
2315 
2322  VImage bandbool(VipsOperationBoolean boolean, VOption *options = nullptr) const;
2323 
2333  VImage bandfold(VOption *options = nullptr) const;
2334 
2341  static VImage bandjoin(std::vector<VImage> in, VOption *options = nullptr);
2342 
2349  VImage bandjoin_const(std::vector<double> c, VOption *options = nullptr) const;
2350 
2356  VImage bandmean(VOption *options = nullptr) const;
2357 
2368  static VImage bandrank(std::vector<VImage> in, VOption *options = nullptr);
2369 
2379  VImage bandunfold(VOption *options = nullptr) const;
2380 
2392  static VImage black(int width, int height, VOption *options = nullptr);
2393 
2401  VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options = nullptr) const;
2402 
2410  VImage boolean_const(VipsOperationBoolean boolean, std::vector<double> c, VOption *options = nullptr) const;
2411 
2417  VImage buildlut(VOption *options = nullptr) const;
2418 
2424  VImage byteswap(VOption *options = nullptr) const;
2425 
2437  G_DEPRECATED
2438  VImage cache(VOption *options = nullptr) const;
2439 
2450  VImage canny(VOption *options = nullptr) const;
2451 
2458  VImage case_image(std::vector<VImage> cases, VOption *options = nullptr) const;
2459 
2470  VImage cast(VipsBandFormat format, VOption *options = nullptr) const;
2471 
2482  VImage clamp(VOption *options = nullptr) const;
2483 
2494  VImage colourspace(VipsInterpretation space, VOption *options = nullptr) const;
2495 
2511  VImage compass(VImage mask, VOption *options = nullptr) const;
2512 
2519  VImage complex(VipsOperationComplex cmplx, VOption *options = nullptr) const;
2520 
2528  VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options = nullptr) const;
2529 
2536  VImage complexform(VImage right, VOption *options = nullptr) const;
2537 
2544  VImage complexget(VipsOperationComplexget get, VOption *options = nullptr) const;
2545 
2560  static VImage composite(std::vector<VImage> in, std::vector<int> mode, VOption *options = nullptr);
2561 
2576  VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options = nullptr) const;
2577 
2590  VImage conv(VImage mask, VOption *options = nullptr) const;
2591 
2603  VImage conva(VImage mask, VOption *options = nullptr) const;
2604 
2615  VImage convasep(VImage mask, VOption *options = nullptr) const;
2616 
2623  VImage convf(VImage mask, VOption *options = nullptr) const;
2624 
2631  VImage convi(VImage mask, VOption *options = nullptr) const;
2632 
2645  VImage convsep(VImage mask, VOption *options = nullptr) const;
2646 
2665  VImage copy(VOption *options = nullptr) const;
2666 
2673  double countlines(VipsDirection direction, VOption *options = nullptr) const;
2674 
2684  VImage crop(int left, int top, int width, int height, VOption *options = nullptr) const;
2685 
2703  static VImage csvload(const char *filename, VOption *options = nullptr);
2704 
2722  static VImage csvload_source(VSource source, VOption *options = nullptr);
2723 
2737  void csvsave(const char *filename, VOption *options = nullptr) const;
2738 
2752  void csvsave_target(VTarget target, VOption *options = nullptr) const;
2753 
2760  VImage dE00(VImage right, VOption *options = nullptr) const;
2761 
2768  VImage dE76(VImage right, VOption *options = nullptr) const;
2769 
2776  VImage dECMC(VImage right, VOption *options = nullptr) const;
2777 
2783  double deviate(VOption *options = nullptr) const;
2784 
2791  VImage divide(VImage right, VOption *options = nullptr) const;
2792 
2805  void draw_circle(std::vector<double> ink, int cx, int cy, int radius, VOption *options = nullptr) const;
2806 
2819  void draw_flood(std::vector<double> ink, int x, int y, VOption *options = nullptr) const;
2820 
2832  void draw_image(VImage sub, int x, int y, VOption *options = nullptr) const;
2833 
2843  void draw_line(std::vector<double> ink, int x1, int y1, int x2, int y2, VOption *options = nullptr) const;
2844 
2853  void draw_mask(std::vector<double> ink, VImage mask, int x, int y, VOption *options = nullptr) const;
2854 
2868  void draw_rect(std::vector<double> ink, int left, int top, int width, int height, VOption *options = nullptr) const;
2869 
2878  void draw_smudge(int left, int top, int width, int height, VOption *options = nullptr) const;
2879 
2906  void dzsave(const char *filename, VOption *options = nullptr) const;
2907 
2934  VipsBlob *dzsave_buffer(VOption *options = nullptr) const;
2935 
2962  void dzsave_target(VTarget target, VOption *options = nullptr) const;
2963 
2978  VImage embed(int x, int y, int width, int height, VOption *options = nullptr) const;
2979 
2989  VImage extract_area(int left, int top, int width, int height, VOption *options = nullptr) const;
2990 
3001  VImage extract_band(int band, VOption *options = nullptr) const;
3002 
3015  static VImage eye(int width, int height, VOption *options = nullptr);
3016 
3022  VImage falsecolour(VOption *options = nullptr) const;
3023 
3030  VImage fastcor(VImage ref, VOption *options = nullptr) const;
3031 
3037  VImage fill_nearest(VOption *options = nullptr) const;
3038 
3053  int find_trim(int *top, int *width, int *height, VOption *options = nullptr) const;
3054 
3068  static VImage fitsload(const char *filename, VOption *options = nullptr);
3069 
3083  static VImage fitsload_source(VSource source, VOption *options = nullptr);
3084 
3097  void fitssave(const char *filename, VOption *options = nullptr) const;
3098 
3109  VImage flatten(VOption *options = nullptr) const;
3110 
3117  VImage flip(VipsDirection direction, VOption *options = nullptr) const;
3118 
3124  VImage float2rad(VOption *options = nullptr) const;
3125 
3134  static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options = nullptr);
3135 
3142  VImage freqmult(VImage mask, VOption *options = nullptr) const;
3143 
3149  VImage fwfft(VOption *options = nullptr) const;
3150 
3160  VImage gamma(VOption *options = nullptr) const;
3161 
3173  VImage gaussblur(double sigma, VOption *options = nullptr) const;
3174 
3187  static VImage gaussmat(double sigma, double min_ampl, VOption *options = nullptr);
3188 
3202  static VImage gaussnoise(int width, int height, VOption *options = nullptr);
3203 
3215  std::vector<double> getpoint(int x, int y, VOption *options = nullptr) const;
3216 
3232  static VImage gifload(const char *filename, VOption *options = nullptr);
3233 
3249  static VImage gifload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3250 
3266  static VImage gifload_source(VSource source, VOption *options = nullptr);
3267 
3287  void gifsave(const char *filename, VOption *options = nullptr) const;
3288 
3308  VipsBlob *gifsave_buffer(VOption *options = nullptr) const;
3309 
3329  void gifsave_target(VTarget target, VOption *options = nullptr) const;
3330 
3341  VImage globalbalance(VOption *options = nullptr) const;
3342 
3356  VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options = nullptr) const;
3357 
3369  static VImage grey(int width, int height, VOption *options = nullptr);
3370 
3379  VImage grid(int tile_height, int across, int down, VOption *options = nullptr) const;
3380 
3398  static VImage heifload(const char *filename, VOption *options = nullptr);
3399 
3417  static VImage heifload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3418 
3436  static VImage heifload_source(VSource source, VOption *options = nullptr);
3437 
3457  void heifsave(const char *filename, VOption *options = nullptr) const;
3458 
3478  VipsBlob *heifsave_buffer(VOption *options = nullptr) const;
3479 
3499  void heifsave_target(VTarget target, VOption *options = nullptr) const;
3500 
3506  VImage hist_cum(VOption *options = nullptr) const;
3507 
3513  double hist_entropy(VOption *options = nullptr) const;
3514 
3524  VImage hist_equal(VOption *options = nullptr) const;
3525 
3535  VImage hist_find(VOption *options = nullptr) const;
3536 
3547  VImage hist_find_indexed(VImage index, VOption *options = nullptr) const;
3548 
3558  VImage hist_find_ndim(VOption *options = nullptr) const;
3559 
3565  bool hist_ismonotonic(VOption *options = nullptr) const;
3566 
3578  VImage hist_local(int width, int height, VOption *options = nullptr) const;
3579 
3586  VImage hist_match(VImage ref, VOption *options = nullptr) const;
3587 
3593  VImage hist_norm(VOption *options = nullptr) const;
3594 
3600  VImage hist_plot(VOption *options = nullptr) const;
3601 
3613  VImage hough_circle(VOption *options = nullptr) const;
3614 
3625  VImage hough_line(VOption *options = nullptr) const;
3626 
3640  VImage icc_export(VOption *options = nullptr) const;
3641 
3655  VImage icc_import(VOption *options = nullptr) const;
3656 
3672  VImage icc_transform(const char *output_profile, VOption *options = nullptr) const;
3673 
3685  static VImage identity(VOption *options = nullptr);
3686 
3698  VImage ifthenelse(VImage in1, VImage in2, VOption *options = nullptr) const;
3699 
3713  VImage insert(VImage sub, int x, int y, VOption *options = nullptr) const;
3714 
3720  VImage invert(VOption *options = nullptr) const;
3721 
3731  VImage invertlut(VOption *options = nullptr) const;
3732 
3742  VImage invfft(VOption *options = nullptr) const;
3743 
3758  VImage join(VImage in2, VipsDirection direction, VOption *options = nullptr) const;
3759 
3774  static VImage jp2kload(const char *filename, VOption *options = nullptr);
3775 
3790  static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3791 
3806  static VImage jp2kload_source(VSource source, VOption *options = nullptr);
3807 
3825  void jp2ksave(const char *filename, VOption *options = nullptr) const;
3826 
3844  VipsBlob *jp2ksave_buffer(VOption *options = nullptr) const;
3845 
3863  void jp2ksave_target(VTarget target, VOption *options = nullptr) const;
3864 
3881  static VImage jpegload(const char *filename, VOption *options = nullptr);
3882 
3899  static VImage jpegload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3900 
3917  static VImage jpegload_source(VSource source, VOption *options = nullptr);
3918 
3940  void jpegsave(const char *filename, VOption *options = nullptr) const;
3941 
3963  VipsBlob *jpegsave_buffer(VOption *options = nullptr) const;
3964 
3985  void jpegsave_mime(VOption *options = nullptr) const;
3986 
4008  void jpegsave_target(VTarget target, VOption *options = nullptr) const;
4009 
4025  static VImage jxlload(const char *filename, VOption *options = nullptr);
4026 
4042  static VImage jxlload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4043 
4059  static VImage jxlload_source(VSource source, VOption *options = nullptr);
4060 
4078  void jxlsave(const char *filename, VOption *options = nullptr) const;
4079 
4097  VipsBlob *jxlsave_buffer(VOption *options = nullptr) const;
4098 
4116  void jxlsave_target(VTarget target, VOption *options = nullptr) const;
4117 
4123  VImage labelregions(VOption *options = nullptr) const;
4124 
4136  VImage linear(std::vector<double> a, std::vector<double> b, VOption *options = nullptr) const;
4137 
4150  VImage linecache(VOption *options = nullptr) const;
4151 
4164  static VImage logmat(double sigma, double min_ampl, VOption *options = nullptr);
4165 
4182  static VImage magickload(const char *filename, VOption *options = nullptr);
4183 
4200  static VImage magickload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4201 
4219  void magicksave(const char *filename, VOption *options = nullptr) const;
4220 
4238  VipsBlob *magicksave_buffer(VOption *options = nullptr) const;
4239 
4253  VImage mapim(VImage index, VOption *options = nullptr) const;
4254 
4265  VImage maplut(VImage lut, VOption *options = nullptr) const;
4266 
4284  static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options = nullptr);
4285 
4305  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 = nullptr);
4306 
4325  static VImage mask_butterworth_ring(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = nullptr);
4326 
4342  static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options = nullptr);
4343 
4360  static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options = nullptr);
4361 
4380  static VImage mask_gaussian_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options = nullptr);
4381 
4399  static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = nullptr);
4400 
4416  static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options = nullptr);
4417 
4435  static VImage mask_ideal_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options = nullptr);
4436 
4453  static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options = nullptr);
4454 
4476  VImage match(VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options = nullptr) const;
4477 
4484  VImage math(VipsOperationMath math, VOption *options = nullptr) const;
4485 
4493  VImage math2(VImage right, VipsOperationMath2 math2, VOption *options = nullptr) const;
4494 
4502  VImage math2_const(VipsOperationMath2 math2, std::vector<double> c, VOption *options = nullptr) const;
4503 
4517  static VImage matload(const char *filename, VOption *options = nullptr);
4518 
4524  VImage matrixinvert(VOption *options = nullptr) const;
4525 
4539  static VImage matrixload(const char *filename, VOption *options = nullptr);
4540 
4554  static VImage matrixload_source(VSource source, VOption *options = nullptr);
4555 
4567  void matrixprint(VOption *options = nullptr) const;
4568 
4581  void matrixsave(const char *filename, VOption *options = nullptr) const;
4582 
4595  void matrixsave_target(VTarget target, VOption *options = nullptr) const;
4596 
4606  double max(VOption *options = nullptr) const;
4607 
4614  VImage maxpair(VImage right, VOption *options = nullptr) const;
4615 
4630  VImage measure(int h, int v, VOption *options = nullptr) const;
4631 
4645  VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options = nullptr) const;
4646 
4656  double min(VOption *options = nullptr) const;
4657 
4664  VImage minpair(VImage right, VOption *options = nullptr) const;
4665 
4673  VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options = nullptr) const;
4674 
4693  VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options = nullptr) const;
4694 
4718  VImage mosaic1(VImage sec, VipsDirection direction, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options = nullptr) const;
4719 
4729  VImage msb(VOption *options = nullptr) const;
4730 
4737  VImage multiply(VImage right, VOption *options = nullptr) const;
4738 
4752  static VImage niftiload(const char *filename, VOption *options = nullptr);
4753 
4767  static VImage niftiload_source(VSource source, VOption *options = nullptr);
4768 
4781  void niftisave(const char *filename, VOption *options = nullptr) const;
4782 
4796  static VImage openexrload(const char *filename, VOption *options = nullptr);
4797 
4816  static VImage openslideload(const char *filename, VOption *options = nullptr);
4817 
4836  static VImage openslideload_source(VSource source, VOption *options = nullptr);
4837 
4857  static VImage pdfload(const char *filename, VOption *options = nullptr);
4858 
4878  static VImage pdfload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4879 
4899  static VImage pdfload_source(VSource source, VOption *options = nullptr);
4900 
4907  int percent(double percent, VOption *options = nullptr) const;
4908 
4922  static VImage perlin(int width, int height, VOption *options = nullptr);
4923 
4930  VImage phasecor(VImage in2, VOption *options = nullptr) const;
4931 
4946  static VImage pngload(const char *filename, VOption *options = nullptr);
4947 
4962  static VImage pngload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4963 
4978  static VImage pngload_source(VSource source, VOption *options = nullptr);
4979 
5000  void pngsave(const char *filename, VOption *options = nullptr) const;
5001 
5022  VipsBlob *pngsave_buffer(VOption *options = nullptr) const;
5023 
5044  void pngsave_target(VTarget target, VOption *options = nullptr) const;
5045 
5059  static VImage ppmload(const char *filename, VOption *options = nullptr);
5060 
5074  static VImage ppmload_source(VSource source, VOption *options = nullptr);
5075 
5091  void ppmsave(const char *filename, VOption *options = nullptr) const;
5092 
5108  void ppmsave_target(VTarget target, VOption *options = nullptr) const;
5109 
5119  VImage premultiply(VOption *options = nullptr) const;
5120 
5126  VImage prewitt(VOption *options = nullptr) const;
5127 
5134  VImage profile(VImage *rows, VOption *options = nullptr) const;
5135 
5142  static VipsBlob *profile_load(const char *name, VOption *options = nullptr);
5143 
5150  VImage project(VImage *rows, VOption *options = nullptr) const;
5151 
5162  VImage quadratic(VImage coeff, VOption *options = nullptr) const;
5163 
5169  VImage rad2float(VOption *options = nullptr) const;
5170 
5184  static VImage radload(const char *filename, VOption *options = nullptr);
5185 
5199  static VImage radload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5200 
5214  static VImage radload_source(VSource source, VOption *options = nullptr);
5215 
5228  void radsave(const char *filename, VOption *options = nullptr) const;
5229 
5242  VipsBlob *radsave_buffer(VOption *options = nullptr) const;
5243 
5256  void radsave_target(VTarget target, VOption *options = nullptr) const;
5257 
5266  VImage rank(int width, int height, int index, VOption *options = nullptr) const;
5267 
5287  static VImage rawload(const char *filename, int width, int height, int bands, VOption *options = nullptr);
5288 
5301  void rawsave(const char *filename, VOption *options = nullptr) const;
5302 
5315  VipsBlob *rawsave_buffer(VOption *options = nullptr) const;
5316 
5329  void rawsave_target(VTarget target, VOption *options = nullptr) const;
5330 
5337  VImage recomb(VImage m, VOption *options = nullptr) const;
5338 
5351  VImage reduce(double hshrink, double vshrink, VOption *options = nullptr) const;
5352 
5364  VImage reduceh(double hshrink, VOption *options = nullptr) const;
5365 
5377  VImage reducev(double vshrink, VOption *options = nullptr) const;
5378 
5386  VImage relational(VImage right, VipsOperationRelational relational, VOption *options = nullptr) const;
5387 
5395  VImage relational_const(VipsOperationRelational relational, std::vector<double> c, VOption *options = nullptr) const;
5396 
5403  VImage remainder(VImage right, VOption *options = nullptr) const;
5404 
5411  VImage remainder_const(std::vector<double> c, VOption *options = nullptr) const;
5412 
5420  VImage replicate(int across, int down, VOption *options = nullptr) const;
5421 
5434  VImage resize(double scale, VOption *options = nullptr) const;
5435 
5442  VImage rot(VipsAngle angle, VOption *options = nullptr) const;
5443 
5453  VImage rot45(VOption *options = nullptr) const;
5454 
5470  VImage rotate(double angle, VOption *options = nullptr) const;
5471 
5478  VImage round(VipsOperationRound round, VOption *options = nullptr) const;
5479 
5485  VImage sRGB2HSV(VOption *options = nullptr) const;
5486 
5492  VImage sRGB2scRGB(VOption *options = nullptr) const;
5493 
5503  VImage scRGB2BW(VOption *options = nullptr) const;
5504 
5510  VImage scRGB2XYZ(VOption *options = nullptr) const;
5511 
5521  VImage scRGB2sRGB(VOption *options = nullptr) const;
5522 
5533  VImage scale(VOption *options = nullptr) const;
5534 
5540  VImage scharr(VOption *options = nullptr) const;
5541 
5557  static VImage sdf(int width, int height, VipsSdfShape shape, VOption *options = nullptr);
5558 
5568  VImage sequential(VOption *options = nullptr) const;
5569 
5584  VImage sharpen(VOption *options = nullptr) const;
5585 
5597  VImage shrink(double hshrink, double vshrink, VOption *options = nullptr) const;
5598 
5609  VImage shrinkh(int hshrink, VOption *options = nullptr) const;
5610 
5621  VImage shrinkv(int vshrink, VOption *options = nullptr) const;
5622 
5628  VImage sign(VOption *options = nullptr) const;
5629 
5646  VImage similarity(VOption *options = nullptr) const;
5647 
5661  static VImage sines(int width, int height, VOption *options = nullptr);
5662 
5675  VImage smartcrop(int width, int height, VOption *options = nullptr) const;
5676 
5682  VImage sobel(VOption *options = nullptr) const;
5683 
5690  VImage spcor(VImage ref, VOption *options = nullptr) const;
5691 
5697  VImage spectrum(VOption *options = nullptr) const;
5698 
5704  VImage stats(VOption *options = nullptr) const;
5705 
5720  VImage stdif(int width, int height, VOption *options = nullptr) const;
5721 
5733  VImage subsample(int xfac, int yfac, VOption *options = nullptr) const;
5734 
5741  VImage subtract(VImage right, VOption *options = nullptr) const;
5742 
5749  static VImage sum(std::vector<VImage> in, VOption *options = nullptr);
5750 
5767  static VImage svgload(const char *filename, VOption *options = nullptr);
5768 
5785  static VImage svgload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5786 
5803  static VImage svgload_source(VSource source, VOption *options = nullptr);
5804 
5811  static VImage switch_image(std::vector<VImage> tests, VOption *options = nullptr);
5812 
5824  static void system(const char *cmd_format, VOption *options = nullptr);
5825 
5845  static VImage text(const char *text, VOption *options = nullptr);
5846 
5866  static VImage thumbnail(const char *filename, int width, VOption *options = nullptr);
5867 
5888  static VImage thumbnail_buffer(VipsBlob *buffer, int width, VOption *options = nullptr);
5889 
5908  VImage thumbnail_image(int width, VOption *options = nullptr) const;
5909 
5930  static VImage thumbnail_source(VSource source, int width, VOption *options = nullptr);
5931 
5949  static VImage tiffload(const char *filename, VOption *options = nullptr);
5950 
5968  static VImage tiffload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5969 
5987  static VImage tiffload_source(VSource source, VOption *options = nullptr);
5988 
6021  void tiffsave(const char *filename, VOption *options = nullptr) const;
6022 
6055  VipsBlob *tiffsave_buffer(VOption *options = nullptr) const;
6056 
6089  void tiffsave_target(VTarget target, VOption *options = nullptr) const;
6090 
6105  VImage tilecache(VOption *options = nullptr) const;
6106 
6125  static VImage tonelut(VOption *options = nullptr);
6126 
6136  VImage transpose3d(VOption *options = nullptr) const;
6137 
6148  VImage unpremultiply(VOption *options = nullptr) const;
6149 
6163  static VImage vipsload(const char *filename, VOption *options = nullptr);
6164 
6178  static VImage vipsload_source(VSource source, VOption *options = nullptr);
6179 
6192  void vipssave(const char *filename, VOption *options = nullptr) const;
6193 
6206  void vipssave_target(VTarget target, VOption *options = nullptr) const;
6207 
6224  static VImage webpload(const char *filename, VOption *options = nullptr);
6225 
6242  static VImage webpload_buffer(VipsBlob *buffer, VOption *options = nullptr);
6243 
6260  static VImage webpload_source(VSource source, VOption *options = nullptr);
6261 
6288  void webpsave(const char *filename, VOption *options = nullptr) const;
6289 
6316  VipsBlob *webpsave_buffer(VOption *options = nullptr) const;
6317 
6343  void webpsave_mime(VOption *options = nullptr) const;
6344 
6371  void webpsave_target(VTarget target, VOption *options = nullptr) const;
6372 
6385  static VImage worley(int width, int height, VOption *options = nullptr);
6386 
6397  VImage wrap(VOption *options = nullptr) const;
6398 
6412  static VImage xyz(int width, int height, VOption *options = nullptr);
6413 
6425  static VImage zone(int width, int height, VOption *options = nullptr);
6426 
6434  VImage zoom(int xfac, int yfac, VOption *options = nullptr) const;
6435 };
6436 
6437 VIPS_NAMESPACE_END
6438 
6439 #endif /*VIPS_VIMAGE_H*/
Definition: VError8.h:45
Definition: VImage8.h:398
VImage LabQ2sRGB(VOption *options=nullptr) const
Definition: vips-operators.cpp:138
VImage hist_norm(VOption *options=nullptr) const
Definition: vips-operators.cpp:1557
VImage rint(VOption *options=nullptr) const
Definition: VImage8.h:1293
VImage fastcor(VImage ref, VOption *options=nullptr) const
Definition: vips-operators.cpp:1049
VImage scRGB2sRGB(VOption *options=nullptr) const
Definition: vips-operators.cpp:3191
void niftisave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:2526
void set(const char *field, double *value, int n)
Definition: VImage8.h:621
VImage flatten(VOption *options=nullptr) const
Definition: vips-operators.cpp:1121
VImage convi(VImage mask, VOption *options=nullptr) const
Definition: vips-operators.cpp:703
double xres() const
Definition: VImage8.h:500
static VImage bandrank(std::vector< VImage > in, VOption *options=nullptr)
Definition: vips-operators.cpp:394
VImage sign(VOption *options=nullptr) const
Definition: vips-operators.cpp:3305
VImage stdif(int width, int height, VOption *options=nullptr) const
Definition: vips-operators.cpp:3405
static VImage svgload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:3482
static VImage switch_image(std::vector< VImage > tests, VOption *options=nullptr)
Definition: vips-operators.cpp:3494
VImage conv(VImage mask, VOption *options=nullptr) const
Definition: vips-operators.cpp:651
static VImage mask_butterworth_ring(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=nullptr)
Definition: vips-operators.cpp:2086
VImage atan2(VImage other, VOption *options=nullptr) const
Definition: VImage8.h:1585
static VImage gifload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:1286
int get_int(const char *field) const
Definition: VImage8.h:689
static VImage radload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2836
VipsBlob * tiffsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:3621
static VImage zone(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:3837
void set(const char *field, int *value, int n)
Definition: VImage8.h:598
static VImage new_matrixv(int width, int height,...)
Definition: VImage.cpp:662
void set(const char *field, std::vector< int > value)
Definition: VImage8.h:609
static VImage jp2kload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:1756
void draw_point(std::vector< double > ink, int x, int y, VOption *options=nullptr) const
Definition: VImage8.h:1748
VipsBlob * pngsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:2689
double deviate(VOption *options=nullptr) const
Definition: vips-operators.cpp:849
VImage fill_nearest(VOption *options=nullptr) const
Definition: vips-operators.cpp:1062
void rawsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:2950
VImage wop(VImage other, VOption *options=nullptr) const
Definition: VImage8.h:1556
void rawsave_fd(int fd, VOption *options=nullptr) const
Definition: VImage.cpp:1606
VImage msb(VOption *options=nullptr) const
Definition: vips-operators.cpp:2477
VImage hough_circle(VOption *options=nullptr) const
Definition: vips-operators.cpp:1581
static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options=nullptr)
Definition: vips-operators.cpp:2195
static VImage mask_ideal_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options=nullptr)
Definition: vips-operators.cpp:2179
VImage subsample(int xfac, int yfac, VOption *options=nullptr) const
Definition: vips-operators.cpp:3419
VImage matrixinvert(VOption *options=nullptr) const
Definition: vips-operators.cpp:2284
VImage divide(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:861
VImage gaussblur(double sigma, VOption *options=nullptr) const
Definition: vips-operators.cpp:1209
VImage extract_area(int left, int top, int width, int height, VOption *options=nullptr) const
Definition: vips-operators.cpp:995
VImage replicate(int across, int down, VOption *options=nullptr) const
Definition: vips-operators.cpp:3065
VImage exp10(VOption *options=nullptr) const
Definition: VImage8.h:1518
VImage exp(VOption *options=nullptr) const
Definition: VImage8.h:1509
VipsBlob * webpsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:3772
static VImage mask_gaussian_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options=nullptr)
Definition: vips-operators.cpp:2132
VImage copy(VOption *options=nullptr) const
Definition: vips-operators.cpp:729
static VImage fitsload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:1089
G_DEPRECATED VImage cache(VOption *options=nullptr) const
Definition: vips-operators.cpp:483
static VImage webpload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:3740
static VImage vipsload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:3700
static VImage heifload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:1393
void fitssave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:1113
VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options=nullptr) const
Definition: vips-operators.cpp:2423
static VImage matrixload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:2308
static VImage gifload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:1274
void gifsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:1318
VImage Yxy2XYZ(VOption *options=nullptr) const
Definition: vips-operators.cpp:222
static VImage csvload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:770
static VImage pngload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2645
VImage rot45(VOption *options=nullptr) const
Definition: vips-operators.cpp:3105
static VImage new_memory()
Definition: VImage8.h:856
static VImage jpegload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:1808
void jp2ksave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:1788
bool has_alpha() const
Definition: VImage8.h:536
static VImage new_from_file(const char *name, VOption *options=nullptr)
Definition: VImage.cpp:561
VImage bandjoin(double other, VOption *options=nullptr) const
Definition: VImage8.h:1162
void draw_smudge(int left, int top, int width, int height, VOption *options=nullptr) const
Definition: vips-operators.cpp:940
void set(const char *field, int value)
Definition: VImage8.h:587
VImage conva(VImage mask, VOption *options=nullptr) const
Definition: vips-operators.cpp:664
VImage gamma(VOption *options=nullptr) const
Definition: vips-operators.cpp:1197
VImage sin(VOption *options=nullptr) const
Definition: VImage8.h:1383
void csvsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:802
VImage hist_match(VImage ref, VOption *options=nullptr) const
Definition: vips-operators.cpp:1544
static VImage jpegload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:1820
VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options=nullptr) const
Definition: vips-operators.cpp:431
VImage byteswap(VOption *options=nullptr) const
Definition: vips-operators.cpp:471
VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options=nullptr) const
Definition: vips-operators.cpp:2382
static VImage jp2kload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:1732
static VImage vipsload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:3688
VImage project(VImage *rows, VOption *options=nullptr) const
Definition: vips-operators.cpp:2798
VImage recomb(VImage m, VOption *options=nullptr) const
Definition: vips-operators.cpp:2958
static VImage jxlload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:1891
VImage write(VImage out) const
Definition: VImage.cpp:680
static VImage tiffload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:3589
VImage rotate(double angle, VOption *options=nullptr) const
Definition: vips-operators.cpp:3117
VImage LabS2Lab(VOption *options=nullptr) const
Definition: vips-operators.cpp:150
VImage bandeor(VOption *options=nullptr) const
Definition: VImage8.h:1329
std::vector< double > get_array_double(const char *field) const
Definition: VImage8.h:753
VImage bandjoin_const(std::vector< double > c, VOption *options=nullptr) const
Definition: vips-operators.cpp:369
static VImage sum(std::vector< VImage > in, VOption *options=nullptr)
Definition: vips-operators.cpp:3446
VipsBlob * jxlsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:1911
VImage wrap(VOption *options=nullptr) const
Definition: vips-operators.cpp:3812
static VImage niftiload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:2514
VImage affine(std::vector< double > matrix, VOption *options=nullptr) const
Definition: vips-operators.cpp:271
VImage dE76(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:823
static VImage tiffload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:3577
VImage rot90(VOption *options=nullptr) const
Definition: VImage8.h:1215
void radsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:2872
void jp2ksave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:1768
VImage smartcrop(int width, int height, VOption *options=nullptr) const
Definition: vips-operators.cpp:3342
VImage new_from_image(double pixel) const
Definition: VImage8.h:1014
static VImage gaussnoise(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:1235
static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options=nullptr)
Definition: vips-operators.cpp:2165
VImage reduceh(double hshrink, VOption *options=nullptr) const
Definition: vips-operators.cpp:2985
VImage case_image(std::vector< VImage > cases, VOption *options=nullptr) const
Definition: vips-operators.cpp:507
static VImage pdfload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2570
static VImage fitsload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:1101
VImage remainder_const(std::vector< double > c, VOption *options=nullptr) const
Definition: vips-operators.cpp:3052
VImage atanh(VOption *options=nullptr) const
Definition: VImage8.h:1482
VImage median(int size=3, VOption *options=nullptr) const
Definition: VImage8.h:1266
void csvsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:794
static VImage pdfload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:2582
VImage bandor(VOption *options=nullptr) const
Definition: VImage8.h:1317
VImage convasep(VImage mask, VOption *options=nullptr) const
Definition: vips-operators.cpp:677
VImage compass(VImage mask, VOption *options=nullptr) const
Definition: vips-operators.cpp:558
static VImage svgload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:3458
void magicksave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:2006
VImage flipver(VOption *options=nullptr) const
Definition: VImage8.h:1206
VImage hist_local(int width, int height, VOption *options=nullptr) const
Definition: vips-operators.cpp:1530
const char * filename() const
Definition: VImage8.h:546
void webpsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:3764
static VImage jpegload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:1796
static VImage logmat(double sigma, double min_ampl, VOption *options=nullptr)
Definition: vips-operators.cpp:1969
static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options=nullptr)
Definition: vips-operators.cpp:2052
std::complex< double > minpos(VOption *options=nullptr) const
Definition: VImage.cpp:858
VImage LabQ2Lab(VOption *options=nullptr) const
Definition: vips-operators.cpp:114
std::complex< double > maxpos(VOption *options=nullptr) const
Definition: VImage.cpp:871
VImage sobel(VOption *options=nullptr) const
Definition: vips-operators.cpp:3356
static VImage xyz(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:3824
VipsCoding coding() const
Definition: VImage8.h:471
VImage remainder(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:3039
static VImage magickload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:1994
VImage LCh2CMC(VOption *options=nullptr) const
Definition: vips-operators.cpp:42
VImage spcor(VImage ref, VOption *options=nullptr) const
Definition: vips-operators.cpp:3368
static VImage text(const char *text, VOption *options=nullptr)
Definition: vips-operators.cpp:3513
VImage hist_cum(VOption *options=nullptr) const
Definition: vips-operators.cpp:1445
VImage crop(int left, int top, int width, int height, VOption *options=nullptr) const
Definition: vips-operators.cpp:754
void tiffsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:3633
VImage float2rad(VOption *options=nullptr) const
Definition: vips-operators.cpp:1146
VImage globalbalance(VOption *options=nullptr) const
Definition: vips-operators.cpp:1326
std::vector< VImage > bandsplit(VOption *options=nullptr) const
Definition: VImage.cpp:826
VImage atan2(double other, VOption *options=nullptr) const
Definition: VImage8.h:1594
VImage pow(double other, VOption *options=nullptr) const
Definition: VImage8.h:1536
double avg(VOption *options=nullptr) const
Definition: vips-operators.cpp:320
VImage sequential(VOption *options=nullptr) const
Definition: vips-operators.cpp:3241
VipsBlob * radsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:2880
static VImage matrixload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2296
VImage hist_find(VOption *options=nullptr) const
Definition: vips-operators.cpp:1481
void write_to_buffer(const char *suffix, void **buf, size_t *size, VOption *options=nullptr) const
Definition: VImage.cpp:708
void draw_image(VImage sub, int x, int y, VOption *options=nullptr) const
Definition: vips-operators.cpp:895
void webpsave_mime(VOption *options=nullptr) const
Definition: vips-operators.cpp:3784
static VImage pngload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:2657
VImage dE00(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:810
VImage rect(VOption *options=nullptr) const
Definition: VImage8.h:1365
VImage mosaic1(VImage sec, VipsDirection direction, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options=nullptr) const
Definition: vips-operators.cpp:2455
static void call(const char *operation_name, VOption *options=nullptr)
Definition: VImage.cpp:555
static VImage jxlload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:1867
static VImage arrayjoin(std::vector< VImage > in, VOption *options=nullptr)
Definition: vips-operators.cpp:296
void matrixprint(VOption *options=nullptr) const
Definition: vips-operators.cpp:2320
VImage grid(int tile_height, int across, int down, VOption *options=nullptr) const
Definition: vips-operators.cpp:1366
void ppmsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:2733
VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options=nullptr) const
Definition: vips-operators.cpp:1338
static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:1744
VImage polar(VOption *options=nullptr) const
Definition: VImage8.h:1356
static VImage gaussmat(double sigma, double min_ampl, VOption *options=nullptr)
Definition: vips-operators.cpp:1222
int find_trim(int *top, int *width, int *height, VOption *options=nullptr) const
Definition: vips-operators.cpp:1074
VImage linecache(VOption *options=nullptr) const
Definition: vips-operators.cpp:1957
VImage bandjoin(std::vector< double > other, VOption *options=nullptr) const
Definition: VImage8.h:1172
static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options=nullptr)
Definition: vips-operators.cpp:2103
VImage fwfft(VOption *options=nullptr) const
Definition: vips-operators.cpp:1185
VImage autorot(VOption *options=nullptr) const
Definition: vips-operators.cpp:308
VImage phasecor(VImage in2, VOption *options=nullptr) const
Definition: vips-operators.cpp:2632
VImage ifthenelse(std::vector< double > th, VImage el, VOption *options=nullptr) const
Definition: VImage8.h:1615
void webpsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:3791
VImage resize(double scale, VOption *options=nullptr) const
Definition: vips-operators.cpp:3079
static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options=nullptr)
Definition: vips-operators.cpp:1158
static VImage gifload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:1262
VImage XYZ2Yxy(VOption *options=nullptr) const
Definition: vips-operators.cpp:198
VImage XYZ2scRGB(VOption *options=nullptr) const
Definition: vips-operators.cpp:210
static VImage niftiload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2502
VImage complexget(VipsOperationComplexget get, VOption *options=nullptr) const
Definition: vips-operators.cpp:611
void matrixsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:2327
VImage match(VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options=nullptr) const
Definition: vips-operators.cpp:2210
void dzsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:971
VImage pow(std::vector< double > other, VOption *options=nullptr) const
Definition: VImage8.h:1546
VImage bandunfold(VOption *options=nullptr) const
Definition: vips-operators.cpp:406
VImage reduce(double hshrink, double vshrink, VOption *options=nullptr) const
Definition: vips-operators.cpp:2971
void set(const char *field, VipsCallbackFn free_fn, void *data, size_t length)
Definition: VImage8.h:666
VipsBlob * magicksave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:2014
VImage bandand(VOption *options=nullptr) const
Definition: VImage8.h:1305
void draw_line(double ink, int x1, int y1, int x2, int y2, VOption *options=nullptr) const
Definition: VImage8.h:1703
void vipssave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:3712
VImage hist_equal(VOption *options=nullptr) const
Definition: vips-operators.cpp:1469
VImage hist_find_ndim(VOption *options=nullptr) const
Definition: vips-operators.cpp:1506
VImage new_from_image(std::vector< double > pixel) const
Definition: VImage8.h:998
static VImage thumbnail_source(VSource source, int width, VOption *options=nullptr)
Definition: vips-operators.cpp:3564
static VipsBlob * profile_load(const char *name, VOption *options=nullptr)
Definition: vips-operators.cpp:2786
static VOption * option()
Definition: VImage8.h:832
static VImage openslideload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2546
VImage imag(VOption *options=nullptr) const
Definition: VImage8.h:1347
static VImage matload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2272
VImage add(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:246
static VImage new_from_memory_steal(const void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage.cpp:640
void rawsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:2930
static VImage thumbnail(const char *filename, int width, VOption *options=nullptr)
Definition: vips-operators.cpp:3525
VipsBlob * heifsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:1425
VipsBlob * jp2ksave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:1776
static VImage pdfload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:2594
static VImage eye(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:1024
VImage ifthenelse(std::vector< double > th, std::vector< double > el, VOption *options=nullptr) const
Definition: VImage8.h:1637
VImage HSV2sRGB(VOption *options=nullptr) const
Definition: vips-operators.cpp:30
void ppmsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:2741
VImage hist_find_indexed(VImage index, VOption *options=nullptr) const
Definition: vips-operators.cpp:1493
static VImage radload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:2860
static VImage jxlload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:1879
VImage boolean_const(VipsOperationBoolean boolean, std::vector< double > c, VOption *options=nullptr) const
Definition: vips-operators.cpp:445
double hist_entropy(VOption *options=nullptr) const
Definition: vips-operators.cpp:1457
VImage dECMC(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:836
VImage copy_memory() const
Definition: VImage8.h:1032
static VImage tonelut(VOption *options=nullptr)
Definition: vips-operators.cpp:3653
VImage wop(std::vector< double > other, VOption *options=nullptr) const
Definition: VImage8.h:1575
static VImage ppmload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2709
VImage insert(VImage sub, int x, int y, VOption *options=nullptr) const
Definition: vips-operators.cpp:1667
VImage relational(VImage right, VipsOperationRelational relational, VOption *options=nullptr) const
Definition: vips-operators.cpp:3011
void get_array_double(const char *field, double **out, int *n) const
Definition: VImage8.h:740
VImage sRGB2scRGB(VOption *options=nullptr) const
Definition: vips-operators.cpp:3155
int percent(double percent, VOption *options=nullptr) const
Definition: vips-operators.cpp:2606
VImage atan(VOption *options=nullptr) const
Definition: VImage8.h:1428
bool remove(const char *name) const
Definition: VImage8.h:823
VImage sinh(VOption *options=nullptr) const
Definition: VImage8.h:1437
VImage icc_export(VOption *options=nullptr) const
Definition: vips-operators.cpp:1605
VImage pow(VImage other, VOption *options=nullptr) const
Definition: VImage8.h:1527
VImage log(VOption *options=nullptr) const
Definition: VImage8.h:1491
static VImage new_from_buffer(const void *buf, size_t len, const char *option_string, VOption *options=nullptr)
Definition: VImage.cpp:584
static VImage tiffload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:3601
VImage clamp(VOption *options=nullptr) const
Definition: vips-operators.cpp:533
static VImage pngload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:2669
void matrixsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:2335
VImage asin(VOption *options=nullptr) const
Definition: VImage8.h:1410
VImage ceil(VOption *options=nullptr) const
Definition: VImage8.h:1284
static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options=nullptr)
Definition: vips-operators.cpp:2117
VImage scharr(VOption *options=nullptr) const
Definition: vips-operators.cpp:3215
VImage rot(VipsAngle angle, VOption *options=nullptr) const
Definition: vips-operators.cpp:3092
static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=nullptr)
Definition: vips-operators.cpp:2149
VImage bandjoin(VImage other, VOption *options=nullptr) const
Definition: VImage.cpp:838
VImage relational_const(VipsOperationRelational relational, std::vector< double > c, VOption *options=nullptr) const
Definition: vips-operators.cpp:3025
static void call_option_string(const char *operation_name, const char *option_string, VOption *options=nullptr)
Definition: VImage.cpp:501
VImage convsep(VImage mask, VOption *options=nullptr) const
Definition: vips-operators.cpp:716
void draw_flood(double ink, int x, int y, VOption *options=nullptr) const
Definition: VImage8.h:1766
VImage dilate(VImage mask, VOption *options=nullptr) const
Definition: VImage8.h:1244
void jxlsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:1923
VImage hough_line(VOption *options=nullptr) const
Definition: vips-operators.cpp:1593
static VImage csvload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:782
VImage invfft(VOption *options=nullptr) const
Definition: vips-operators.cpp:1706
static VImage sdf(int width, int height, VipsSdfShape shape, VOption *options=nullptr)
Definition: vips-operators.cpp:3227
double yres() const
Definition: VImage8.h:509
static VImage grey(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:1353
void set(const char *field, std::vector< double > value)
Definition: VImage8.h:632
double max(VOption *options=nullptr) const
Definition: vips-operators.cpp:2343
static VImage thumbnail_buffer(void *buf, size_t len, int width, VOption *options=nullptr)
Definition: VImage.cpp:781
void vipssave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:3720
VImage scRGB2XYZ(VOption *options=nullptr) const
Definition: vips-operators.cpp:3179
VImage Lab2XYZ(VOption *options=nullptr) const
Definition: vips-operators.cpp:102
void radsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:2892
static VImage radload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:2848
int yoffset() const
Definition: VImage8.h:527
VImage complexform(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:598
static VImage black(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:418
VImage falsecolour(VOption *options=nullptr) const
Definition: vips-operators.cpp:1037
VipsBlob * jpegsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:1840
VipsInterpretation interpretation() const
Definition: VImage8.h:481
static VImage identity(VOption *options=nullptr)
Definition: vips-operators.cpp:1642
int height() const
Definition: VImage8.h:444
void set(const char *field, const char *value)
Definition: VImage8.h:653
void gifsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:1298
VImage acos(VOption *options=nullptr) const
Definition: VImage8.h:1419
void draw_circle(double ink, int cx, int cy, int radius, VOption *options=nullptr) const
Definition: VImage8.h:1688
const void * get_blob(const char *field, size_t *length) const
Definition: VImage8.h:807
VImage math2(VImage right, VipsOperationMath2 math2, VOption *options=nullptr) const
Definition: vips-operators.cpp:2244
VImage spectrum(VOption *options=nullptr) const
Definition: vips-operators.cpp:3381
static VImage worley(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:3799
VImage sRGB2HSV(VOption *options=nullptr) const
Definition: vips-operators.cpp:3143
VImage abs(VOption *options=nullptr) const
Definition: vips-operators.cpp:234
VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options=nullptr) const
Definition: vips-operators.cpp:637
GType get_typeof(const char *field) const
Definition: VImage8.h:678
VRegion region() const
Definition: VImage.cpp:798
VImage stats(VOption *options=nullptr) const
Definition: vips-operators.cpp:3393
VImage linear(std::vector< double > a, double b, VOption *options=nullptr) const
Definition: VImage8.h:1131
VImage bandmean(VOption *options=nullptr) const
Definition: vips-operators.cpp:382
VImage embed(int x, int y, int width, int height, VOption *options=nullptr) const
Definition: vips-operators.cpp:979
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=nullptr)
Definition: vips-operators.cpp:2068
static VImage new_matrix(int width, int height, double *array, int size)
Definition: VImage8.h:975
VImage real(VOption *options=nullptr) const
Definition: VImage8.h:1338
VImage rot180(VOption *options=nullptr) const
Definition: VImage8.h:1224
static VImage magickload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:1982
VipsInterpretation guess_interpretation() const
Definition: VImage8.h:491
double get_double(const char *field) const
Definition: VImage8.h:773
static VImage perlin(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:2619
VImage cos(VOption *options=nullptr) const
Definition: VImage8.h:1392
VImage Lab2LabQ(VOption *options=nullptr) const
Definition: vips-operators.cpp:78
void tiffsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:3613
static VImage openexrload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:2534
VImage shrinkh(int hshrink, VOption *options=nullptr) const
Definition: vips-operators.cpp:3279
VImage hist_plot(VOption *options=nullptr) const
Definition: vips-operators.cpp:1569
VImage tanh(VOption *options=nullptr) const
Definition: VImage8.h:1455
VImage zoom(int xfac, int yfac, VOption *options=nullptr) const
Definition: vips-operators.cpp:3850
VImage bandfold(VOption *options=nullptr) const
Definition: vips-operators.cpp:345
VImage premultiply(VOption *options=nullptr) const
Definition: vips-operators.cpp:2749
int bands() const
Definition: VImage8.h:453
VImage ifthenelse(double th, double el, VOption *options=nullptr) const
Definition: VImage8.h:1669
VImage tilecache(VOption *options=nullptr) const
Definition: vips-operators.cpp:3641
static VImage svgload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition: vips-operators.cpp:3470
static VImage heifload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:1381
VImage minpair(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:2410
VImage prewitt(VOption *options=nullptr) const
Definition: vips-operators.cpp:2761
VImage LCh2Lab(VOption *options=nullptr) const
Definition: vips-operators.cpp:54
void heifsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:1417
VImage atan2(std::vector< double > other, VOption *options=nullptr) const
Definition: VImage8.h:1604
static VImage analyzeload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:284
VImage scRGB2BW(VOption *options=nullptr) const
Definition: vips-operators.cpp:3167
VImage ifthenelse(double th, VImage el, VOption *options=nullptr) const
Definition: VImage8.h:1649
VImage LabS2LabQ(VOption *options=nullptr) const
Definition: vips-operators.cpp:162
void write_to_target(const char *suffix, VTarget target, VOption *options=nullptr) const
Definition: VImage.cpp:761
VImage()
Definition: VImage8.h:416
VImage buildlut(VOption *options=nullptr) const
Definition: vips-operators.cpp:459
static VImage new_temp_file(const char *file_format=".v")
Definition: VImage8.h:866
VImage labelregions(VOption *options=nullptr) const
Definition: vips-operators.cpp:1931
VImage multiply(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:2489
VImage fliphor(VOption *options=nullptr) const
Definition: VImage8.h:1197
void write_to_file(const char *name, VOption *options=nullptr) const
Definition: VImage.cpp:689
void * write_to_memory(size_t *size) const
Definition: VImage8.h:1084
void set(const char *field, double value)
Definition: VImage8.h:642
static VImage new_matrix(int width, int height)
Definition: VImage.cpp:656
void draw_mask(double ink, VImage mask, int x, int y, VOption *options=nullptr) const
Definition: VImage8.h:1780
VImage(VipsImage *image, VSteal steal=STEAL)
Definition: VImage8.h:408
VImage linear(double a, std::vector< double > b, VOption *options=nullptr) const
Definition: VImage8.h:1142
void pngsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:2681
bool hist_ismonotonic(VOption *options=nullptr) const
Definition: vips-operators.cpp:1518
VImage XYZ2CMYK(VOption *options=nullptr) const
Definition: vips-operators.cpp:174
VImage complex(VipsOperationComplex cmplx, VOption *options=nullptr) const
Definition: vips-operators.cpp:571
VImage freqmult(VImage mask, VOption *options=nullptr) const
Definition: vips-operators.cpp:1172
VImage icc_import(VOption *options=nullptr) const
Definition: vips-operators.cpp:1617
VImage rot270(VOption *options=nullptr) const
Definition: VImage8.h:1233
void pngsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:2701
std::vector< int > get_array_int(const char *field) const
Definition: VImage8.h:719
VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options=nullptr) const
Definition: vips-operators.cpp:2437
VImage sharpen(VOption *options=nullptr) const
Definition: vips-operators.cpp:3253
VImage maxpair(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:2355
static VImage new_from_source(VSource source, const char *option_string, VOption *options=nullptr)
Definition: VImage.cpp:618
VImage mapim(VImage index, VOption *options=nullptr) const
Definition: vips-operators.cpp:2026
VImage quadratic(VImage coeff, VOption *options=nullptr) const
Definition: vips-operators.cpp:2811
static void system(const char *cmd_format, VOption *options=nullptr)
Definition: vips-operators.cpp:3506
VImage shrink(double hshrink, double vshrink, VOption *options=nullptr) const
Definition: vips-operators.cpp:3265
VImage composite(VImage other, VipsBlendMode mode, VOption *options=nullptr) const
Definition: VImage.cpp:847
VImage convf(VImage mask, VOption *options=nullptr) const
Definition: vips-operators.cpp:690
VImage profile(VImage *rows, VOption *options=nullptr) const
Definition: vips-operators.cpp:2773
VImage extract_band(int band, VOption *options=nullptr) const
Definition: vips-operators.cpp:1011
const void * data() const
Definition: VImage8.h:578
VImage bandbool(VipsOperationBoolean boolean, VOption *options=nullptr) const
Definition: vips-operators.cpp:332
VipsBandFormat format() const
Definition: VImage8.h:462
VImage math2_const(VipsOperationMath2 math2, std::vector< double > c, VOption *options=nullptr) const
Definition: vips-operators.cpp:2258
static VImage new_from_memory_copy(const void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage8.h:940
VImage transpose3d(VOption *options=nullptr) const
Definition: vips-operators.cpp:3664
VImage reducev(double vshrink, VOption *options=nullptr) const
Definition: vips-operators.cpp:2998
void dzsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:951
static VImage webpload(const char *filename, VOption *options=nullptr)
Definition: vips-operators.cpp:3728
VImage erode(VImage mask, VOption *options=nullptr) const
Definition: VImage8.h:1256
VImage floor(VOption *options=nullptr) const
Definition: VImage8.h:1275
VImage linear(double a, double b, VOption *options=nullptr) const
Definition: VImage8.h:1119
VImage colourspace(VipsInterpretation space, VOption *options=nullptr) const
Definition: vips-operators.cpp:545
VImage addalpha(VOption *options=nullptr) const
Definition: vips-operators.cpp:259
VImage ifthenelse(VImage th, std::vector< double > el, VOption *options=nullptr) const
Definition: VImage8.h:1626
void get_array_int(const char *field, int **out, int *n) const
Definition: VImage8.h:706
VImage tan(VOption *options=nullptr) const
Definition: VImage8.h:1401
VipsBlob * rawsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:2938
void jpegsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:1859
VImage cosh(VOption *options=nullptr) const
Definition: VImage8.h:1446
double countlines(VipsDirection direction, VOption *options=nullptr) const
Definition: vips-operators.cpp:741
VImage icc_transform(const char *output_profile, VOption *options=nullptr) const
Definition: vips-operators.cpp:1629
VImage ifthenelse(VImage th, double el, VOption *options=nullptr) const
Definition: VImage8.h:1659
void inplace()
Definition: VImage8.h:565
VImage rad2float(VOption *options=nullptr) const
Definition: vips-operators.cpp:2824
static VImage sines(int width, int height, VOption *options=nullptr)
Definition: vips-operators.cpp:3329
const char * get_string(const char *field) const
Definition: VImage8.h:790
VImage Lab2LCh(VOption *options=nullptr) const
Definition: vips-operators.cpp:66
int width() const
Definition: VImage8.h:435
VImage flip(VipsDirection direction, VOption *options=nullptr) const
Definition: vips-operators.cpp:1133
VImage math(VipsOperationMath math, VOption *options=nullptr) const
Definition: vips-operators.cpp:2231
VImage similarity(VOption *options=nullptr) const
Definition: vips-operators.cpp:3317
VImage unpremultiply(VOption *options=nullptr) const
Definition: vips-operators.cpp:3676
VImage maplut(VImage lut, VOption *options=nullptr) const
Definition: vips-operators.cpp:2039
VipsBlob * gifsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:1306
static VImage ppmload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:2721
void jpegsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:1832
void draw_rect(double ink, int left, int top, int width, int height, VOption *options=nullptr) const
Definition: VImage8.h:1722
VImage Lab2LabS(VOption *options=nullptr) const
Definition: vips-operators.cpp:90
VImage log10(VOption *options=nullptr) const
Definition: VImage8.h:1500
VImage invert(VOption *options=nullptr) const
Definition: vips-operators.cpp:1682
int xoffset() const
Definition: VImage8.h:518
VImage rank(int width, int height, int index, VOption *options=nullptr) const
Definition: vips-operators.cpp:2900
VImage CMC2LCh(VOption *options=nullptr) const
Definition: vips-operators.cpp:6
VImage LabQ2LabS(VOption *options=nullptr) const
Definition: vips-operators.cpp:126
static VImage rawload(const char *filename, int width, int height, int bands, VOption *options=nullptr)
Definition: vips-operators.cpp:2915
void jpegsave_mime(VOption *options=nullptr) const
Definition: vips-operators.cpp:1852
static VImage heifload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:1405
VImage XYZ2Lab(VOption *options=nullptr) const
Definition: vips-operators.cpp:186
static VImage openslideload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:2558
void draw_point(double ink, int x, int y, VOption *options=nullptr) const
Definition: VImage8.h:1735
VImage asinh(VOption *options=nullptr) const
Definition: VImage8.h:1464
double min(VOption *options=nullptr) const
Definition: vips-operators.cpp:2398
VImage invertlut(VOption *options=nullptr) const
Definition: vips-operators.cpp:1694
VipsImage * get_image() const
Definition: VImage8.h:426
static VImage new_from_memory(const void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage8.h:922
VImage measure(int h, int v, VOption *options=nullptr) const
Definition: vips-operators.cpp:2368
void jxlsave(const char *filename, VOption *options=nullptr) const
Definition: vips-operators.cpp:1903
VImage wop(double other, VOption *options=nullptr) const
Definition: VImage8.h:1565
VImage round(VipsOperationRound round, VOption *options=nullptr) const
Definition: vips-operators.cpp:3130
std::vector< double > getpoint(int x, int y, VOption *options=nullptr) const
Definition: vips-operators.cpp:1248
VImage subtract(VImage right, VOption *options=nullptr) const
Definition: vips-operators.cpp:3433
VImage scale(VOption *options=nullptr) const
Definition: vips-operators.cpp:3203
VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options=nullptr) const
Definition: vips-operators.cpp:584
VImage acosh(VOption *options=nullptr) const
Definition: VImage8.h:1473
VipsBlob * dzsave_buffer(VOption *options=nullptr) const
Definition: vips-operators.cpp:959
VImage thumbnail_image(int width, VOption *options=nullptr) const
Definition: vips-operators.cpp:3551
VImage shrinkv(int vshrink, VOption *options=nullptr) const
Definition: vips-operators.cpp:3292
VImage conj(VOption *options=nullptr) const
Definition: VImage8.h:1374
static VImage webpload_source(VSource source, VOption *options=nullptr)
Definition: vips-operators.cpp:3752
VImage CMYK2XYZ(VOption *options=nullptr) const
Definition: vips-operators.cpp:18
VImage join(VImage in2, VipsDirection direction, VOption *options=nullptr) const
Definition: vips-operators.cpp:1718
void heifsave_target(VTarget target, VOption *options=nullptr) const
Definition: vips-operators.cpp:1437
VImage canny(VOption *options=nullptr) const
Definition: vips-operators.cpp:495
VImage cast(VipsBandFormat format, VOption *options=nullptr) const
Definition: vips-operators.cpp:520
Definition: VInterpolate8.h:45
Definition: VImage8.h:67
VObject(VipsObject *new_vobject, VSteal steal=STEAL)
Definition: VImage8.h:79
VipsObject * get_object() const
Definition: VImage8.h:170
bool is_null() const
Definition: VImage8.h:182
Definition: VImage8.h:216
void get_operation(VipsOperation *operation)
Definition: VImage.cpp:447
VOption * set(const char *name, bool value)
Definition: VImage.cpp:122
void set_operation(VipsOperation *operation)
Definition: VImage.cpp:425
Definition: VRegion8.h:40
Definition: VConnection8.h:45
Definition: VConnection8.h:104