vips-cpp 8.16 libvips C++ binding

Loading...
Searching...
No Matches
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
41VIPS_NAMESPACE_START
42
43/* Small utility things.
44 */
45
46VIPS_CPLUSPLUS_API std::vector<double> to_vectorv(int n, ...);
47VIPS_CPLUSPLUS_API std::vector<double> to_vector(double value);
48VIPS_CPLUSPLUS_API std::vector<double> to_vector(int n, double array[]);
49VIPS_CPLUSPLUS_API std::vector<double> negate(std::vector<double> value);
50VIPS_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
481 interpretation() const
482 {
483 return vips_image_get_interpretation(get_image());
484 }
485
490 VipsInterpretation
491 guess_interpretation() const
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
565 inplace()
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 *
832 option()
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
856 new_memory()
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
6437VIPS_NAMESPACE_END
6438
6439#endif /*VIPS_VIMAGE_H*/
VError
Definition VError8.h:45
VImage
Definition VImage8.h:398
VImage::LabQ2sRGB
VImage LabQ2sRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:138
VImage::hist_norm
VImage hist_norm(VOption *options=nullptr) const
Definition vips-operators.cpp:1557
VImage::rint
VImage rint(VOption *options=nullptr) const
Definition VImage8.h:1293
VImage::fastcor
VImage fastcor(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:1049
VImage::scRGB2sRGB
VImage scRGB2sRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:3191
VImage::niftisave
void niftisave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2526
VImage::set
void set(const char *field, double *value, int n)
Definition VImage8.h:621
VImage::flatten
VImage flatten(VOption *options=nullptr) const
Definition vips-operators.cpp:1121
VImage::convi
VImage convi(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:703
VImage::xres
double xres() const
Definition VImage8.h:500
VImage::bandrank
static VImage bandrank(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:394
VImage::sign
VImage sign(VOption *options=nullptr) const
Definition vips-operators.cpp:3305
VImage::stdif
VImage stdif(int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:3405
VImage::svgload_source
static VImage svgload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3482
VImage::switch_image
static VImage switch_image(std::vector< VImage > tests, VOption *options=nullptr)
Definition vips-operators.cpp:3494
VImage::conv
VImage conv(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:651
VImage::mask_butterworth_ring
static VImage mask_butterworth_ring(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=nullptr)
Definition vips-operators.cpp:2086
VImage::atan2
VImage atan2(VImage other, VOption *options=nullptr) const
Definition VImage8.h:1585
VImage::gifload_source
static VImage gifload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1286
VImage::get_int
int get_int(const char *field) const
Definition VImage8.h:689
VImage::radload
static VImage radload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2836
VImage::tiffsave_buffer
VipsBlob * tiffsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:3621
VImage::zone
static VImage zone(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3837
VImage::get_array_double
std::vector< double > get_array_double(const char *field) const
Definition VImage8.h:753
VImage::set
void set(const char *field, int *value, int n)
Definition VImage8.h:598
VImage::new_matrixv
static VImage new_matrixv(int width, int height,...)
Definition VImage.cpp:662
VImage::set
void set(const char *field, std::vector< int > value)
Definition VImage8.h:609
VImage::jp2kload_source
static VImage jp2kload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1756
VImage::draw_point
void draw_point(std::vector< double > ink, int x, int y, VOption *options=nullptr) const
Definition VImage8.h:1748
VImage::pngsave_buffer
VipsBlob * pngsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2689
VImage::deviate
double deviate(VOption *options=nullptr) const
Definition vips-operators.cpp:849
VImage::fill_nearest
VImage fill_nearest(VOption *options=nullptr) const
Definition vips-operators.cpp:1062
VImage::filename
const char * filename() const
Definition VImage8.h:546
VImage::rawsave_target
void rawsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2950
VImage::wop
VImage wop(VImage other, VOption *options=nullptr) const
Definition VImage8.h:1556
VImage::rawsave_fd
void rawsave_fd(int fd, VOption *options=nullptr) const
Definition VImage.cpp:1606
VImage::msb
VImage msb(VOption *options=nullptr) const
Definition vips-operators.cpp:2477
VImage::hough_circle
VImage hough_circle(VOption *options=nullptr) const
Definition vips-operators.cpp:1581
VImage::mask_ideal_ring
static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options=nullptr)
Definition vips-operators.cpp:2195
VImage::mask_ideal_band
static VImage mask_ideal_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options=nullptr)
Definition vips-operators.cpp:2179
VImage::subsample
VImage subsample(int xfac, int yfac, VOption *options=nullptr) const
Definition vips-operators.cpp:3419
VImage::matrixinvert
VImage matrixinvert(VOption *options=nullptr) const
Definition vips-operators.cpp:2284
VImage::divide
VImage divide(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:861
VImage::gaussblur
VImage gaussblur(double sigma, VOption *options=nullptr) const
Definition vips-operators.cpp:1209
VImage::extract_area
VImage extract_area(int left, int top, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:995
VImage::replicate
VImage replicate(int across, int down, VOption *options=nullptr) const
Definition vips-operators.cpp:3065
VImage::exp10
VImage exp10(VOption *options=nullptr) const
Definition VImage8.h:1518
VImage::exp
VImage exp(VOption *options=nullptr) const
Definition VImage8.h:1509
VImage::webpsave_buffer
VipsBlob * webpsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:3772
VImage::mask_gaussian_band
static VImage mask_gaussian_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2132
VImage::copy
VImage copy(VOption *options=nullptr) const
Definition vips-operators.cpp:729
VImage::fitsload
static VImage fitsload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1089
VImage::cache
G_DEPRECATED VImage cache(VOption *options=nullptr) const
Definition vips-operators.cpp:483
VImage::write_to_memory
void * write_to_memory(size_t *size) const
Definition VImage8.h:1084
VImage::webpload_buffer
static VImage webpload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:3740
VImage::vipsload_source
static VImage vipsload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3700
VImage::heifload_buffer
static VImage heifload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1393
VImage::fitssave
void fitssave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1113
VImage::morph
VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options=nullptr) const
Definition vips-operators.cpp:2423
VImage::matrixload_source
static VImage matrixload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2308
VImage::gifload_buffer
static VImage gifload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1274
VImage::gifsave_target
void gifsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1318
VImage::Yxy2XYZ
VImage Yxy2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:222
VImage::csvload
static VImage csvload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:770
VImage::pngload
static VImage pngload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2645
VImage::rot45
VImage rot45(VOption *options=nullptr) const
Definition vips-operators.cpp:3105
VImage::new_memory
static VImage new_memory()
Definition VImage8.h:856
VImage::jpegload_buffer
static VImage jpegload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1808
VImage::jp2ksave_target
void jp2ksave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1788
VImage::has_alpha
bool has_alpha() const
Definition VImage8.h:536
VImage::new_from_file
static VImage new_from_file(const char *name, VOption *options=nullptr)
Definition VImage.cpp:561
VImage::bandjoin
VImage bandjoin(double other, VOption *options=nullptr) const
Definition VImage8.h:1162
VImage::draw_smudge
void draw_smudge(int left, int top, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:940
VImage::set
void set(const char *field, int value)
Definition VImage8.h:587
VImage::conva
VImage conva(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:664
VImage::gamma
VImage gamma(VOption *options=nullptr) const
Definition vips-operators.cpp:1197
VImage::sin
VImage sin(VOption *options=nullptr) const
Definition VImage8.h:1383
VImage::csvsave_target
void csvsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:802
VImage::hist_match
VImage hist_match(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:1544
VImage::jpegload_source
static VImage jpegload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1820
VImage::boolean
VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options=nullptr) const
Definition vips-operators.cpp:431
VImage::byteswap
VImage byteswap(VOption *options=nullptr) const
Definition vips-operators.cpp:471
VImage::merge
VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options=nullptr) const
Definition vips-operators.cpp:2382
VImage::jp2kload
static VImage jp2kload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1732
VImage::vipsload
static VImage vipsload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3688
VImage::project
VImage project(VImage *rows, VOption *options=nullptr) const
Definition vips-operators.cpp:2798
VImage::recomb
VImage recomb(VImage m, VOption *options=nullptr) const
Definition vips-operators.cpp:2958
VImage::jxlload_source
static VImage jxlload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1891
VImage::write
VImage write(VImage out) const
Definition VImage.cpp:680
VImage::tiffload_buffer
static VImage tiffload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:3589
VImage::rotate
VImage rotate(double angle, VOption *options=nullptr) const
Definition vips-operators.cpp:3117
VImage::LabS2Lab
VImage LabS2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:150
VImage::bandeor
VImage bandeor(VOption *options=nullptr) const
Definition VImage8.h:1329
VImage::bandjoin_const
VImage bandjoin_const(std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:369
VImage::sum
static VImage sum(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:3446
VImage::jxlsave_buffer
VipsBlob * jxlsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1911
VImage::wrap
VImage wrap(VOption *options=nullptr) const
Definition vips-operators.cpp:3812
VImage::niftiload_source
static VImage niftiload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2514
VImage::affine
VImage affine(std::vector< double > matrix, VOption *options=nullptr) const
Definition vips-operators.cpp:271
VImage::dE76
VImage dE76(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:823
VImage::tiffload
static VImage tiffload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3577
VImage::rot90
VImage rot90(VOption *options=nullptr) const
Definition VImage8.h:1215
VImage::radsave
void radsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2872
VImage::jp2ksave
void jp2ksave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1768
VImage::smartcrop
VImage smartcrop(int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:3342
VImage::new_from_image
VImage new_from_image(double pixel) const
Definition VImage8.h:1014
VImage::gaussnoise
static VImage gaussnoise(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:1235
VImage::mask_ideal
static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2165
VImage::reduceh
VImage reduceh(double hshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2985
VImage::case_image
VImage case_image(std::vector< VImage > cases, VOption *options=nullptr) const
Definition vips-operators.cpp:507
VImage::pdfload
static VImage pdfload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2570
VImage::fitsload_source
static VImage fitsload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1101
VImage::remainder_const
VImage remainder_const(std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:3052
VImage::atanh
VImage atanh(VOption *options=nullptr) const
Definition VImage8.h:1482
VImage::median
VImage median(int size=3, VOption *options=nullptr) const
Definition VImage8.h:1266
VImage::get_image
VipsImage * get_image() const
Definition VImage8.h:426
VImage::csvsave
void csvsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:794
VImage::pdfload_buffer
static VImage pdfload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2582
VImage::bandor
VImage bandor(VOption *options=nullptr) const
Definition VImage8.h:1317
VImage::convasep
VImage convasep(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:677
VImage::compass
VImage compass(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:558
VImage::svgload
static VImage svgload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3458
VImage::magicksave
void magicksave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2006
VImage::flipver
VImage flipver(VOption *options=nullptr) const
Definition VImage8.h:1206
VImage::hist_local
VImage hist_local(int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:1530
VImage::webpsave
void webpsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:3764
VImage::jpegload
static VImage jpegload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1796
VImage::logmat
static VImage logmat(double sigma, double min_ampl, VOption *options=nullptr)
Definition vips-operators.cpp:1969
VImage::mask_butterworth
static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2052
VImage::minpos
std::complex< double > minpos(VOption *options=nullptr) const
Definition VImage.cpp:858
VImage::LabQ2Lab
VImage LabQ2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:114
VImage::maxpos
std::complex< double > maxpos(VOption *options=nullptr) const
Definition VImage.cpp:871
VImage::get_blob
const void * get_blob(const char *field, size_t *length) const
Definition VImage8.h:807
VImage::sobel
VImage sobel(VOption *options=nullptr) const
Definition vips-operators.cpp:3356
VImage::xyz
static VImage xyz(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3824
VImage::coding
VipsCoding coding() const
Definition VImage8.h:471
VImage::remainder
VImage remainder(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:3039
VImage::magickload_buffer
static VImage magickload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1994
VImage::LCh2CMC
VImage LCh2CMC(VOption *options=nullptr) const
Definition vips-operators.cpp:42
VImage::spcor
VImage spcor(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:3368
VImage::text
static VImage text(const char *text, VOption *options=nullptr)
Definition vips-operators.cpp:3513
VImage::hist_cum
VImage hist_cum(VOption *options=nullptr) const
Definition vips-operators.cpp:1445
VImage::crop
VImage crop(int left, int top, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:754
VImage::tiffsave_target
void tiffsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:3633
VImage::float2rad
VImage float2rad(VOption *options=nullptr) const
Definition vips-operators.cpp:1146
VImage::globalbalance
VImage globalbalance(VOption *options=nullptr) const
Definition vips-operators.cpp:1326
VImage::bandsplit
std::vector< VImage > bandsplit(VOption *options=nullptr) const
Definition VImage.cpp:826
VImage::atan2
VImage atan2(double other, VOption *options=nullptr) const
Definition VImage8.h:1594
VImage::pow
VImage pow(double other, VOption *options=nullptr) const
Definition VImage8.h:1536
VImage::avg
double avg(VOption *options=nullptr) const
Definition vips-operators.cpp:320
VImage::sequential
VImage sequential(VOption *options=nullptr) const
Definition vips-operators.cpp:3241
VImage::radsave_buffer
VipsBlob * radsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2880
VImage::matrixload
static VImage matrixload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2296
VImage::hist_find
VImage hist_find(VOption *options=nullptr) const
Definition vips-operators.cpp:1481
VImage::write_to_buffer
void write_to_buffer(const char *suffix, void **buf, size_t *size, VOption *options=nullptr) const
Definition VImage.cpp:708
VImage::draw_image
void draw_image(VImage sub, int x, int y, VOption *options=nullptr) const
Definition vips-operators.cpp:895
VImage::webpsave_mime
void webpsave_mime(VOption *options=nullptr) const
Definition vips-operators.cpp:3784
VImage::pngload_buffer
static VImage pngload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2657
VImage::dE00
VImage dE00(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:810
VImage::rect
VImage rect(VOption *options=nullptr) const
Definition VImage8.h:1365
VImage::mosaic1
VImage mosaic1(VImage sec, VipsDirection direction, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options=nullptr) const
Definition vips-operators.cpp:2455
VImage::call
static void call(const char *operation_name, VOption *options=nullptr)
Definition VImage.cpp:555
VImage::jxlload
static VImage jxlload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1867
VImage::arrayjoin
static VImage arrayjoin(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:296
VImage::matrixprint
void matrixprint(VOption *options=nullptr) const
Definition vips-operators.cpp:2320
VImage::grid
VImage grid(int tile_height, int across, int down, VOption *options=nullptr) const
Definition vips-operators.cpp:1366
VImage::ppmsave
void ppmsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2733
VImage::gravity
VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:1338
VImage::jp2kload_buffer
static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1744
VImage::get_string
const char * get_string(const char *field) const
Definition VImage8.h:790
VImage::polar
VImage polar(VOption *options=nullptr) const
Definition VImage8.h:1356
VImage::gaussmat
static VImage gaussmat(double sigma, double min_ampl, VOption *options=nullptr)
Definition vips-operators.cpp:1222
VImage::find_trim
int find_trim(int *top, int *width, int *height, VOption *options=nullptr) const
Definition vips-operators.cpp:1074
VImage::linecache
VImage linecache(VOption *options=nullptr) const
Definition vips-operators.cpp:1957
VImage::bandjoin
VImage bandjoin(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1172
VImage::mask_fractal
static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options=nullptr)
Definition vips-operators.cpp:2103
VImage::fwfft
VImage fwfft(VOption *options=nullptr) const
Definition vips-operators.cpp:1185
VImage::autorot
VImage autorot(VOption *options=nullptr) const
Definition vips-operators.cpp:308
VImage::phasecor
VImage phasecor(VImage in2, VOption *options=nullptr) const
Definition vips-operators.cpp:2632
VImage::ifthenelse
VImage ifthenelse(std::vector< double > th, VImage el, VOption *options=nullptr) const
Definition VImage8.h:1615
VImage::webpsave_target
void webpsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:3791
VImage::resize
VImage resize(double scale, VOption *options=nullptr) const
Definition vips-operators.cpp:3079
VImage::fractsurf
static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options=nullptr)
Definition vips-operators.cpp:1158
VImage::gifload
static VImage gifload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1262
VImage::XYZ2Yxy
VImage XYZ2Yxy(VOption *options=nullptr) const
Definition vips-operators.cpp:198
VImage::XYZ2scRGB
VImage XYZ2scRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:210
VImage::niftiload
static VImage niftiload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2502
VImage::complexget
VImage complexget(VipsOperationComplexget get, VOption *options=nullptr) const
Definition vips-operators.cpp:611
VImage::matrixsave
void matrixsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2327
VImage::match
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
VImage::dzsave_target
void dzsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:971
VImage::pow
VImage pow(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1546
VImage::bandunfold
VImage bandunfold(VOption *options=nullptr) const
Definition vips-operators.cpp:406
VImage::reduce
VImage reduce(double hshrink, double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2971
VImage::set
void set(const char *field, VipsCallbackFn free_fn, void *data, size_t length)
Definition VImage8.h:666
VImage::magicksave_buffer
VipsBlob * magicksave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2014
VImage::bandand
VImage bandand(VOption *options=nullptr) const
Definition VImage8.h:1305
VImage::draw_line
void draw_line(double ink, int x1, int y1, int x2, int y2, VOption *options=nullptr) const
Definition VImage8.h:1703
VImage::vipssave
void vipssave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:3712
VImage::hist_equal
VImage hist_equal(VOption *options=nullptr) const
Definition vips-operators.cpp:1469
VImage::hist_find_ndim
VImage hist_find_ndim(VOption *options=nullptr) const
Definition vips-operators.cpp:1506
VImage::new_from_image
VImage new_from_image(std::vector< double > pixel) const
Definition VImage8.h:998
VImage::thumbnail_source
static VImage thumbnail_source(VSource source, int width, VOption *options=nullptr)
Definition vips-operators.cpp:3564
VImage::profile_load
static VipsBlob * profile_load(const char *name, VOption *options=nullptr)
Definition vips-operators.cpp:2786
VImage::openslideload
static VImage openslideload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2546
VImage::imag
VImage imag(VOption *options=nullptr) const
Definition VImage8.h:1347
VImage::matload
static VImage matload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2272
VImage::add
VImage add(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:246
VImage::new_from_memory_steal
static VImage new_from_memory_steal(const void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition VImage.cpp:640
VImage::rawsave
void rawsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2930
VImage::thumbnail
static VImage thumbnail(const char *filename, int width, VOption *options=nullptr)
Definition vips-operators.cpp:3525
VImage::heifsave_buffer
VipsBlob * heifsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1425
VImage::jp2ksave_buffer
VipsBlob * jp2ksave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1776
VImage::pdfload_source
static VImage pdfload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2594
VImage::eye
static VImage eye(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:1024
VImage::ifthenelse
VImage ifthenelse(std::vector< double > th, std::vector< double > el, VOption *options=nullptr) const
Definition VImage8.h:1637
VImage::HSV2sRGB
VImage HSV2sRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:30
VImage::ppmsave_target
void ppmsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2741
VImage::hist_find_indexed
VImage hist_find_indexed(VImage index, VOption *options=nullptr) const
Definition vips-operators.cpp:1493
VImage::radload_source
static VImage radload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2860
VImage::jxlload_buffer
static VImage jxlload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1879
VImage::boolean_const
VImage boolean_const(VipsOperationBoolean boolean, std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:445
VImage::hist_entropy
double hist_entropy(VOption *options=nullptr) const
Definition vips-operators.cpp:1457
VImage::dECMC
VImage dECMC(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:836
VImage::copy_memory
VImage copy_memory() const
Definition VImage8.h:1032
VImage::tonelut
static VImage tonelut(VOption *options=nullptr)
Definition vips-operators.cpp:3653
VImage::wop
VImage wop(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1575
VImage::ppmload
static VImage ppmload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2709
VImage::insert
VImage insert(VImage sub, int x, int y, VOption *options=nullptr) const
Definition vips-operators.cpp:1667
VImage::relational
VImage relational(VImage right, VipsOperationRelational relational, VOption *options=nullptr) const
Definition vips-operators.cpp:3011
VImage::get_array_double
void get_array_double(const char *field, double **out, int *n) const
Definition VImage8.h:740
VImage::sRGB2scRGB
VImage sRGB2scRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:3155
VImage::percent
int percent(double percent, VOption *options=nullptr) const
Definition vips-operators.cpp:2606
VImage::atan
VImage atan(VOption *options=nullptr) const
Definition VImage8.h:1428
VImage::remove
bool remove(const char *name) const
Definition VImage8.h:823
VImage::sinh
VImage sinh(VOption *options=nullptr) const
Definition VImage8.h:1437
VImage::icc_export
VImage icc_export(VOption *options=nullptr) const
Definition vips-operators.cpp:1605
VImage::pow
VImage pow(VImage other, VOption *options=nullptr) const
Definition VImage8.h:1527
VImage::log
VImage log(VOption *options=nullptr) const
Definition VImage8.h:1491
VImage::new_from_buffer
static VImage new_from_buffer(const void *buf, size_t len, const char *option_string, VOption *options=nullptr)
Definition VImage.cpp:584
VImage::tiffload_source
static VImage tiffload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3601
VImage::clamp
VImage clamp(VOption *options=nullptr) const
Definition vips-operators.cpp:533
VImage::pngload_source
static VImage pngload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2669
VImage::matrixsave_target
void matrixsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2335
VImage::asin
VImage asin(VOption *options=nullptr) const
Definition VImage8.h:1410
VImage::ceil
VImage ceil(VOption *options=nullptr) const
Definition VImage8.h:1284
VImage::mask_gaussian
static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2117
VImage::scharr
VImage scharr(VOption *options=nullptr) const
Definition vips-operators.cpp:3215
VImage::rot
VImage rot(VipsAngle angle, VOption *options=nullptr) const
Definition vips-operators.cpp:3092
VImage::mask_gaussian_ring
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 bandjoin(VImage other, VOption *options=nullptr) const
Definition VImage.cpp:838
VImage::relational_const
VImage relational_const(VipsOperationRelational relational, std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:3025
VImage::call_option_string
static void call_option_string(const char *operation_name, const char *option_string, VOption *options=nullptr)
Definition VImage.cpp:501
VImage::convsep
VImage convsep(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:716
VImage::draw_flood
void draw_flood(double ink, int x, int y, VOption *options=nullptr) const
Definition VImage8.h:1766
VImage::dilate
VImage dilate(VImage mask, VOption *options=nullptr) const
Definition VImage8.h:1244
VImage::jxlsave_target
void jxlsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1923
VImage::hough_line
VImage hough_line(VOption *options=nullptr) const
Definition vips-operators.cpp:1593
VImage::csvload_source
static VImage csvload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:782
VImage::invfft
VImage invfft(VOption *options=nullptr) const
Definition vips-operators.cpp:1706
VImage::sdf
static VImage sdf(int width, int height, VipsSdfShape shape, VOption *options=nullptr)
Definition vips-operators.cpp:3227
VImage::yres
double yres() const
Definition VImage8.h:509
VImage::grey
static VImage grey(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:1353
VImage::set
void set(const char *field, std::vector< double > value)
Definition VImage8.h:632
VImage::max
double max(VOption *options=nullptr) const
Definition vips-operators.cpp:2343
VImage::thumbnail_buffer
static VImage thumbnail_buffer(void *buf, size_t len, int width, VOption *options=nullptr)
Definition VImage.cpp:781
VImage::vipssave_target
void vipssave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:3720
VImage::scRGB2XYZ
VImage scRGB2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:3179
VImage::Lab2XYZ
VImage Lab2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:102
VImage::radsave_target
void radsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2892
VImage::radload_buffer
static VImage radload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2848
VImage::yoffset
int yoffset() const
Definition VImage8.h:527
VImage::complexform
VImage complexform(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:598
VImage::black
static VImage black(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:418
VImage::falsecolour
VImage falsecolour(VOption *options=nullptr) const
Definition vips-operators.cpp:1037
VImage::jpegsave_buffer
VipsBlob * jpegsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1840
VImage::interpretation
VipsInterpretation interpretation() const
Definition VImage8.h:481
VImage::identity
static VImage identity(VOption *options=nullptr)
Definition vips-operators.cpp:1642
VImage::height
int height() const
Definition VImage8.h:444
VImage::set
void set(const char *field, const char *value)
Definition VImage8.h:653
VImage::gifsave
void gifsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1298
VImage::acos
VImage acos(VOption *options=nullptr) const
Definition VImage8.h:1419
VImage::draw_circle
void draw_circle(double ink, int cx, int cy, int radius, VOption *options=nullptr) const
Definition VImage8.h:1688
VImage::math2
VImage math2(VImage right, VipsOperationMath2 math2, VOption *options=nullptr) const
Definition vips-operators.cpp:2244
VImage::spectrum
VImage spectrum(VOption *options=nullptr) const
Definition vips-operators.cpp:3381
VImage::worley
static VImage worley(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3799
VImage::sRGB2HSV
VImage sRGB2HSV(VOption *options=nullptr) const
Definition vips-operators.cpp:3143
VImage::abs
VImage abs(VOption *options=nullptr) const
Definition vips-operators.cpp:234
VImage::composite2
VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options=nullptr) const
Definition vips-operators.cpp:637
VImage::get_typeof
GType get_typeof(const char *field) const
Definition VImage8.h:678
VImage::region
VRegion region() const
Definition VImage.cpp:798
VImage::stats
VImage stats(VOption *options=nullptr) const
Definition vips-operators.cpp:3393
VImage::linear
VImage linear(std::vector< double > a, double b, VOption *options=nullptr) const
Definition VImage8.h:1131
VImage::bandmean
VImage bandmean(VOption *options=nullptr) const
Definition vips-operators.cpp:382
VImage::embed
VImage embed(int x, int y, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:979
VImage::get_array_int
std::vector< int > get_array_int(const char *field) const
Definition VImage8.h:719
VImage::mask_butterworth_band
static VImage mask_butterworth_band(int width, int height, double order, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2068
VImage::new_matrix
static VImage new_matrix(int width, int height, double *array, int size)
Definition VImage8.h:975
VImage::real
VImage real(VOption *options=nullptr) const
Definition VImage8.h:1338
VImage::rot180
VImage rot180(VOption *options=nullptr) const
Definition VImage8.h:1224
VImage::magickload
static VImage magickload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1982
VImage::guess_interpretation
VipsInterpretation guess_interpretation() const
Definition VImage8.h:491
VImage::get_double
double get_double(const char *field) const
Definition VImage8.h:773
VImage::perlin
static VImage perlin(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:2619
VImage::cos
VImage cos(VOption *options=nullptr) const
Definition VImage8.h:1392
VImage::Lab2LabQ
VImage Lab2LabQ(VOption *options=nullptr) const
Definition vips-operators.cpp:78
VImage::tiffsave
void tiffsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:3613
VImage::openexrload
static VImage openexrload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2534
VImage::shrinkh
VImage shrinkh(int hshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3279
VImage::hist_plot
VImage hist_plot(VOption *options=nullptr) const
Definition vips-operators.cpp:1569
VImage::tanh
VImage tanh(VOption *options=nullptr) const
Definition VImage8.h:1455
VImage::zoom
VImage zoom(int xfac, int yfac, VOption *options=nullptr) const
Definition vips-operators.cpp:3850
VImage::bandfold
VImage bandfold(VOption *options=nullptr) const
Definition vips-operators.cpp:345
VImage::premultiply
VImage premultiply(VOption *options=nullptr) const
Definition vips-operators.cpp:2749
VImage::bands
int bands() const
Definition VImage8.h:453
VImage::ifthenelse
VImage ifthenelse(double th, double el, VOption *options=nullptr) const
Definition VImage8.h:1669
VImage::tilecache
VImage tilecache(VOption *options=nullptr) const
Definition vips-operators.cpp:3641
VImage::svgload_buffer
static VImage svgload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:3470
VImage::heifload
static VImage heifload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1381
VImage::minpair
VImage minpair(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:2410
VImage::prewitt
VImage prewitt(VOption *options=nullptr) const
Definition vips-operators.cpp:2761
VImage::LCh2Lab
VImage LCh2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:54
VImage::heifsave
void heifsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1417
VImage::atan2
VImage atan2(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1604
VImage::analyzeload
static VImage analyzeload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:284
VImage::scRGB2BW
VImage scRGB2BW(VOption *options=nullptr) const
Definition vips-operators.cpp:3167
VImage::ifthenelse
VImage ifthenelse(double th, VImage el, VOption *options=nullptr) const
Definition VImage8.h:1649
VImage::LabS2LabQ
VImage LabS2LabQ(VOption *options=nullptr) const
Definition vips-operators.cpp:162
VImage::write_to_target
void write_to_target(const char *suffix, VTarget target, VOption *options=nullptr) const
Definition VImage.cpp:761
VImage::VImage
VImage()
Definition VImage8.h:416
VImage::buildlut
VImage buildlut(VOption *options=nullptr) const
Definition vips-operators.cpp:459
VImage::new_temp_file
static VImage new_temp_file(const char *file_format=".v")
Definition VImage8.h:866
VImage::labelregions
VImage labelregions(VOption *options=nullptr) const
Definition vips-operators.cpp:1931
VImage::multiply
VImage multiply(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:2489
VImage::fliphor
VImage fliphor(VOption *options=nullptr) const
Definition VImage8.h:1197
VImage::write_to_file
void write_to_file(const char *name, VOption *options=nullptr) const
Definition VImage.cpp:689
VImage::set
void set(const char *field, double value)
Definition VImage8.h:642
VImage::new_matrix
static VImage new_matrix(int width, int height)
Definition VImage.cpp:656
VImage::draw_mask
void draw_mask(double ink, VImage mask, int x, int y, VOption *options=nullptr) const
Definition VImage8.h:1780
VImage::VImage
VImage(VipsImage *image, VSteal steal=STEAL)
Definition VImage8.h:408
VImage::linear
VImage linear(double a, std::vector< double > b, VOption *options=nullptr) const
Definition VImage8.h:1142
VImage::pngsave
void pngsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2681
VImage::hist_ismonotonic
bool hist_ismonotonic(VOption *options=nullptr) const
Definition vips-operators.cpp:1518
VImage::XYZ2CMYK
VImage XYZ2CMYK(VOption *options=nullptr) const
Definition vips-operators.cpp:174
VImage::complex
VImage complex(VipsOperationComplex cmplx, VOption *options=nullptr) const
Definition vips-operators.cpp:571
VImage::freqmult
VImage freqmult(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:1172
VImage::icc_import
VImage icc_import(VOption *options=nullptr) const
Definition vips-operators.cpp:1617
VImage::rot270
VImage rot270(VOption *options=nullptr) const
Definition VImage8.h:1233
VImage::pngsave_target
void pngsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2701
VImage::mosaic
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
VImage sharpen(VOption *options=nullptr) const
Definition vips-operators.cpp:3253
VImage::maxpair
VImage maxpair(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:2355
VImage::new_from_source
static VImage new_from_source(VSource source, const char *option_string, VOption *options=nullptr)
Definition VImage.cpp:618
VImage::mapim
VImage mapim(VImage index, VOption *options=nullptr) const
Definition vips-operators.cpp:2026
VImage::quadratic
VImage quadratic(VImage coeff, VOption *options=nullptr) const
Definition vips-operators.cpp:2811
VImage::system
static void system(const char *cmd_format, VOption *options=nullptr)
Definition vips-operators.cpp:3506
VImage::shrink
VImage shrink(double hshrink, double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3265
VImage::composite
VImage composite(VImage other, VipsBlendMode mode, VOption *options=nullptr) const
Definition VImage.cpp:847
VImage::convf
VImage convf(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:690
VImage::profile
VImage profile(VImage *rows, VOption *options=nullptr) const
Definition vips-operators.cpp:2773
VImage::extract_band
VImage extract_band(int band, VOption *options=nullptr) const
Definition vips-operators.cpp:1011
VImage::bandbool
VImage bandbool(VipsOperationBoolean boolean, VOption *options=nullptr) const
Definition vips-operators.cpp:332
VImage::format
VipsBandFormat format() const
Definition VImage8.h:462
VImage::math2_const
VImage math2_const(VipsOperationMath2 math2, std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:2258
VImage::new_from_memory_copy
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
VImage transpose3d(VOption *options=nullptr) const
Definition vips-operators.cpp:3664
VImage::reducev
VImage reducev(double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2998
VImage::dzsave
void dzsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:951
VImage::webpload
static VImage webpload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3728
VImage::erode
VImage erode(VImage mask, VOption *options=nullptr) const
Definition VImage8.h:1256
VImage::floor
VImage floor(VOption *options=nullptr) const
Definition VImage8.h:1275
VImage::linear
VImage linear(double a, double b, VOption *options=nullptr) const
Definition VImage8.h:1119
VImage::colourspace
VImage colourspace(VipsInterpretation space, VOption *options=nullptr) const
Definition vips-operators.cpp:545
VImage::addalpha
VImage addalpha(VOption *options=nullptr) const
Definition vips-operators.cpp:259
VImage::ifthenelse
VImage ifthenelse(VImage th, std::vector< double > el, VOption *options=nullptr) const
Definition VImage8.h:1626
VImage::get_array_int
void get_array_int(const char *field, int **out, int *n) const
Definition VImage8.h:706
VImage::tan
VImage tan(VOption *options=nullptr) const
Definition VImage8.h:1401
VImage::rawsave_buffer
VipsBlob * rawsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2938
VImage::jpegsave_target
void jpegsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1859
VImage::cosh
VImage cosh(VOption *options=nullptr) const
Definition VImage8.h:1446
VImage::countlines
double countlines(VipsDirection direction, VOption *options=nullptr) const
Definition vips-operators.cpp:741
VImage::icc_transform
VImage icc_transform(const char *output_profile, VOption *options=nullptr) const
Definition vips-operators.cpp:1629
VImage::ifthenelse
VImage ifthenelse(VImage th, double el, VOption *options=nullptr) const
Definition VImage8.h:1659
VImage::inplace
void inplace()
Definition VImage8.h:565
VImage::rad2float
VImage rad2float(VOption *options=nullptr) const
Definition vips-operators.cpp:2824
VImage::sines
static VImage sines(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3329
VImage::Lab2LCh
VImage Lab2LCh(VOption *options=nullptr) const
Definition vips-operators.cpp:66
VImage::width
int width() const
Definition VImage8.h:435
VImage::flip
VImage flip(VipsDirection direction, VOption *options=nullptr) const
Definition vips-operators.cpp:1133
VImage::math
VImage math(VipsOperationMath math, VOption *options=nullptr) const
Definition vips-operators.cpp:2231
VImage::similarity
VImage similarity(VOption *options=nullptr) const
Definition vips-operators.cpp:3317
VImage::unpremultiply
VImage unpremultiply(VOption *options=nullptr) const
Definition vips-operators.cpp:3676
VImage::maplut
VImage maplut(VImage lut, VOption *options=nullptr) const
Definition vips-operators.cpp:2039
VImage::gifsave_buffer
VipsBlob * gifsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1306
VImage::ppmload_source
static VImage ppmload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2721
VImage::jpegsave
void jpegsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1832
VImage::draw_rect
void draw_rect(double ink, int left, int top, int width, int height, VOption *options=nullptr) const
Definition VImage8.h:1722
VImage::Lab2LabS
VImage Lab2LabS(VOption *options=nullptr) const
Definition vips-operators.cpp:90
VImage::log10
VImage log10(VOption *options=nullptr) const
Definition VImage8.h:1500
VImage::invert
VImage invert(VOption *options=nullptr) const
Definition vips-operators.cpp:1682
VImage::xoffset
int xoffset() const
Definition VImage8.h:518
VImage::rank
VImage rank(int width, int height, int index, VOption *options=nullptr) const
Definition vips-operators.cpp:2900
VImage::CMC2LCh
VImage CMC2LCh(VOption *options=nullptr) const
Definition vips-operators.cpp:6
VImage::LabQ2LabS
VImage LabQ2LabS(VOption *options=nullptr) const
Definition vips-operators.cpp:126
VImage::rawload
static VImage rawload(const char *filename, int width, int height, int bands, VOption *options=nullptr)
Definition vips-operators.cpp:2915
VImage::jpegsave_mime
void jpegsave_mime(VOption *options=nullptr) const
Definition vips-operators.cpp:1852
VImage::heifload_source
static VImage heifload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1405
VImage::XYZ2Lab
VImage XYZ2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:186
VImage::openslideload_source
static VImage openslideload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2558
VImage::draw_point
void draw_point(double ink, int x, int y, VOption *options=nullptr) const
Definition VImage8.h:1735
VImage::asinh
VImage asinh(VOption *options=nullptr) const
Definition VImage8.h:1464
VImage::data
const void * data() const
Definition VImage8.h:578
VImage::min
double min(VOption *options=nullptr) const
Definition vips-operators.cpp:2398
VImage::invertlut
VImage invertlut(VOption *options=nullptr) const
Definition vips-operators.cpp:1694
VImage::option
static VOption * option()
Definition VImage8.h:832
VImage::new_from_memory
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
VImage measure(int h, int v, VOption *options=nullptr) const
Definition vips-operators.cpp:2368
VImage::jxlsave
void jxlsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1903
VImage::wop
VImage wop(double other, VOption *options=nullptr) const
Definition VImage8.h:1565
VImage::round
VImage round(VipsOperationRound round, VOption *options=nullptr) const
Definition vips-operators.cpp:3130
VImage::getpoint
std::vector< double > getpoint(int x, int y, VOption *options=nullptr) const
Definition vips-operators.cpp:1248
VImage::subtract
VImage subtract(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:3433
VImage::scale
VImage scale(VOption *options=nullptr) const
Definition vips-operators.cpp:3203
VImage::complex2
VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options=nullptr) const
Definition vips-operators.cpp:584
VImage::acosh
VImage acosh(VOption *options=nullptr) const
Definition VImage8.h:1473
VImage::dzsave_buffer
VipsBlob * dzsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:959
VImage::thumbnail_image
VImage thumbnail_image(int width, VOption *options=nullptr) const
Definition vips-operators.cpp:3551
VImage::shrinkv
VImage shrinkv(int vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3292
VImage::conj
VImage conj(VOption *options=nullptr) const
Definition VImage8.h:1374
VImage::webpload_source
static VImage webpload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3752
VImage::CMYK2XYZ
VImage CMYK2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:18
VImage::join
VImage join(VImage in2, VipsDirection direction, VOption *options=nullptr) const
Definition vips-operators.cpp:1718
VImage::heifsave_target
void heifsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1437
VImage::canny
VImage canny(VOption *options=nullptr) const
Definition vips-operators.cpp:495
VImage::cast
VImage cast(VipsBandFormat format, VOption *options=nullptr) const
Definition vips-operators.cpp:520
VInterpolate
Definition VInterpolate8.h:45
VObject
Definition VImage8.h:67
VObject::VObject
VObject(VipsObject *new_vobject, VSteal steal=STEAL)
Definition VImage8.h:79
VObject::get_object
VipsObject * get_object() const
Definition VImage8.h:170
VObject::is_null
bool is_null() const
Definition VImage8.h:182
VOption
Definition VImage8.h:216
VOption::get_operation
void get_operation(VipsOperation *operation)
Definition VImage.cpp:447
VOption::set
VOption * set(const char *name, bool value)
Definition VImage.cpp:122
VOption::set_operation
void set_operation(VipsOperation *operation)
Definition VImage.cpp:425
VRegion
Definition VRegion8.h:40
VSource
Definition VConnection8.h:45
VTarget
Definition VConnection8.h:104