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
56enum VSteal {
57 NOSTEAL = 0,
58 STEAL = 1
59};
60
67class VObject {
68private:
69 // can be NULL, see eg. VObject()
70 VipsObject *vobject;
71
72public:
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
188class VIPS_CPLUSPLUS_API VImage;
189class VIPS_CPLUSPLUS_API VInterpolate;
190class VIPS_CPLUSPLUS_API VRegion;
191class VIPS_CPLUSPLUS_API VSource;
192class VIPS_CPLUSPLUS_API VTarget;
193class VIPS_CPLUSPLUS_API VOption;
194
216class VOption {
217private:
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
251public:
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
398class VImage : public VObject {
399public:
400 using VObject::is_null;
401
408 explicit VImage(VipsImage *image, VSteal steal = STEAL)
409 : VObject((VipsObject *) image, steal)
410 {
411 }
412
416 VImage() : VObject(nullptr)
417 {
418 }
419
425 VipsImage *
426 get_image() const
427 {
428 return (VipsImage *) VObject::get_object();
429 }
430
434 int
435 width() const
436 {
437 return vips_image_get_width(get_image());
438 }
439
443 int
444 height() const
445 {
446 return vips_image_get_height(get_image());
447 }
448
452 int
453 bands() const
454 {
455 return vips_image_get_bands(get_image());
456 }
457
461 VipsBandFormat
462 format() const
463 {
464 return vips_image_get_format(get_image());
465 }
466
470 VipsCoding
471 coding() const
472 {
473 return vips_image_get_coding(get_image());
474 }
475
480 VipsInterpretation
482 {
483 return vips_image_get_interpretation(get_image());
484 }
485
490 VipsInterpretation
492 {
493 return vips_image_guess_interpretation(get_image());
494 }
495
499 double
500 xres() const
501 {
502 return vips_image_get_xres(get_image());
503 }
504
508 double
509 yres() const
510 {
511 return vips_image_get_yres(get_image());
512 }
513
517 int
518 xoffset() const
519 {
520 return vips_image_get_xoffset(get_image());
521 }
522
526 int
527 yoffset() const
528 {
529 return vips_image_get_yoffset(get_image());
530 }
531
535 bool
536 has_alpha() const
537 {
538 return vips_image_hasalpha(get_image());
539 }
540
545 const char *
546 filename() const
547 {
548 return vips_image_get_filename(get_image());
549 }
550
564 void
566 {
567 if (vips_image_inplace(this->get_image()))
568 throw(VError());
569 }
570
577 const void *
578 data() const
579 {
580 return vips_image_get_data(get_image());
581 }
582
586 void
587 set(const char *field, int value)
588 {
589 vips_image_set_int(this->get_image(), field, value);
590 }
591
597 void
598 set(const char *field, int *value, int n)
599 {
600 vips_image_set_array_int(this->get_image(), field, value, n);
601 }
602
608 void
609 set(const char *field, std::vector<int> value)
610 {
611 vips_image_set_array_int(this->get_image(), field, &value[0],
612 static_cast<int>(value.size()));
613 }
614
620 void
621 set(const char *field, double *value, int n)
622 {
623 vips_image_set_array_double(this->get_image(), field, value, n);
624 }
625
631 void
632 set(const char *field, std::vector<double> value)
633 {
634 vips_image_set_array_double(this->get_image(), field, &value[0],
635 static_cast<int>(value.size()));
636 }
637
641 void
642 set(const char *field, double value)
643 {
644 vips_image_set_double(this->get_image(), field, value);
645 }
646
652 void
653 set(const char *field, const char *value)
654 {
655 vips_image_set_string(this->get_image(), field, value);
656 }
657
665 void
666 set(const char *field,
667 VipsCallbackFn free_fn, void *data, size_t length)
668 {
669 vips_image_set_blob(this->get_image(), field,
670 free_fn, data, length);
671 }
672
677 GType
678 get_typeof(const char *field) const
679 {
680 return vips_image_get_typeof(this->get_image(), field);
681 }
682
688 int
689 get_int(const char *field) const
690 {
691 int value;
692
693 if (vips_image_get_int(this->get_image(), field, &value))
694 throw(VError());
695
696 return value;
697 }
698
705 void
706 get_array_int(const char *field, int **out, int *n) const
707 {
708 if (vips_image_get_array_int(this->get_image(),
709 field, out, n))
710 throw(VError());
711 }
712
718 std::vector<int>
719 get_array_int(const char *field) const
720 {
721 int length;
722 int *array;
723
724 if (vips_image_get_array_int(this->get_image(),
725 field, &array, &length))
726 throw(VError());
727
728 std::vector<int> vector(array, array + length);
729
730 return vector;
731 }
732
739 void
740 get_array_double(const char *field, double **out, int *n) const
741 {
742 if (vips_image_get_array_double(this->get_image(),
743 field, out, n))
744 throw(VError());
745 }
746
752 std::vector<double>
753 get_array_double(const char *field) const
754 {
755 int length;
756 double *array;
757
758 if (vips_image_get_array_double(this->get_image(),
759 field, &array, &length))
760 throw(VError());
761
762 std::vector<double> vector(array, array + length);
763
764 return vector;
765 }
766
772 double
773 get_double(const char *field) const
774 {
775 double value;
776
777 if (vips_image_get_double(this->get_image(), field, &value))
778 throw(VError());
779
780 return value;
781 }
782
789 const char *
790 get_string(const char *field) const
791 {
792 const char *value;
793
794 if (vips_image_get_string(this->get_image(), field, &value))
795 throw(VError());
796
797 return value;
798 }
799
806 const void *
807 get_blob(const char *field, size_t *length) const
808 {
809 const void *value;
810
811 if (vips_image_get_blob(this->get_image(), field,
812 &value, length))
813 throw(VError());
814
815 return value;
816 }
817
822 bool
823 remove(const char *name) const
824 {
825 return vips_image_remove(get_image(), name);
826 }
827
831 static VOption *
833 {
834 return new VOption();
835 }
836
841 static void
842 call_option_string(const char *operation_name,
843 const char *option_string, VOption *options = nullptr);
844
848 static void
849 call(const char *operation_name, VOption *options = nullptr);
850
855 static VImage
857 {
858 return VImage(vips_image_new_memory());
859 }
860
865 static VImage
866 new_temp_file(const char *file_format = ".v")
867 {
868 VipsImage *image;
869
870 if (!(image = vips_image_new_temp_file(file_format)))
871 throw(VError());
872
873 return VImage(image);
874 }
875
882 static VImage
883 new_from_file(const char *name, VOption *options = nullptr);
884
892 static VImage
893 new_from_buffer(const void *buf, size_t len,
894 const char *option_string, VOption *options = nullptr);
895
903 static VImage
904 new_from_buffer(const std::string &buf,
905 const char *option_string, VOption *options = nullptr);
906
913 static VImage
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,
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,
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
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 {
1247 options);
1248 }
1249
1255 VImage
1256 erode(VImage mask, VOption *options = nullptr) const
1257 {
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 {
1341 }
1342
1346 VImage
1347 imag(VOption *options = nullptr) const
1348 {
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 {
1539 to_vector(other), options);
1540 }
1541
1545 VImage
1546 pow(std::vector<double> other, VOption *options = nullptr) const
1547 {
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 {
1568 to_vector(other), options);
1569 }
1570
1574 VImage
1575 wop(std::vector<double> other, VOption *options = nullptr) const
1576 {
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 {
1597 to_vector(other), options);
1598 }
1599
1603 VImage
1604 atan2(std::vector<double> other, VOption *options = nullptr) const
1605 {
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 {
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
1815 operator+(const VImage a, const VImage b);
1817 operator+(const double a, const VImage b);
1819 operator+(const VImage a, const double b);
1821 operator+(const std::vector<double> a, const VImage b);
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
1833 operator-(const VImage a, const VImage b);
1835 operator-(const double a, const VImage b);
1837 operator-(const VImage a, const double b);
1839 operator-(const std::vector<double> a, const VImage b);
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
1851 operator-(const VImage a);
1852
1854 operator*(const VImage a, const VImage b);
1856 operator*(const double a, const VImage b);
1858 operator*(const VImage a, const double b);
1860 operator*(const std::vector<double> a, const VImage b);
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
1872 operator/(const VImage a, const VImage b);
1874 operator/(const double a, const VImage b);
1876 operator/(const VImage a, const double b);
1878 operator/(const std::vector<double> a, const VImage b);
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
1890 operator%(const VImage a, const VImage b);
1892 operator%(const VImage a, const double b);
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
1904 operator<(const VImage a, const VImage b);
1906 operator<(const double a, const VImage b);
1908 operator<(const VImage a, const double b);
1910 operator<(const std::vector<double> a, const VImage b);
1912 operator<(const VImage a, const std::vector<double> b);
1913
1915 operator<=(const VImage a, const VImage b);
1917 operator<=(const double a, const VImage b);
1919 operator<=(const VImage a, const double b);
1921 operator<=(const std::vector<double> a, const VImage b);
1923 operator<=(const VImage a, const std::vector<double> b);
1924
1926 operator>(const VImage a, const VImage b);
1928 operator>(const double a, const VImage b);
1930 operator>(const VImage a, const double b);
1932 operator>(const std::vector<double> a, const VImage b);
1934 operator>(const VImage a, const std::vector<double> b);
1935
1937 operator>=(const VImage a, const VImage b);
1939 operator>=(const double a, const VImage b);
1941 operator>=(const VImage a, const double b);
1943 operator>=(const std::vector<double> a, const VImage b);
1945 operator>=(const VImage a, const std::vector<double> b);
1946
1948 operator==(const VImage a, const VImage b);
1950 operator==(const double a, const VImage b);
1952 operator==(const VImage a, const double b);
1954 operator==(const std::vector<double> a, const VImage b);
1956 operator==(const VImage a, const std::vector<double> b);
1957
1959 operator!=(const VImage a, const VImage b);
1961 operator!=(const double a, const VImage b);
1963 operator!=(const VImage a, const double b);
1965 operator!=(const std::vector<double> a, const VImage b);
1967 operator!=(const VImage a, const std::vector<double> b);
1968
1970 operator&(const VImage a, const VImage b);
1972 operator&(const double a, const VImage b);
1974 operator&(const VImage a, const double b);
1976 operator&(const std::vector<double> a, const VImage b);
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
1988 operator|(const VImage a, const VImage b);
1990 operator|(const double a, const VImage b);
1992 operator|(const VImage a, const double b);
1994 operator|(const std::vector<double> a, const VImage b);
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
2006 operator^(const VImage a, const VImage b);
2008 operator^(const double a, const VImage b);
2010 operator^(const VImage a, const double b);
2012 operator^(const std::vector<double> a, const VImage b);
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
2024 operator<<(const VImage a, const VImage b);
2026 operator<<(const VImage a, const double b);
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
2038 operator>>(const VImage a, const VImage b);
2040 operator>>(const VImage a, const double b);
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
2066 void rawsave_fd(int fd, VOption *options = nullptr) const;
2067
2068 /* Automatically generated members.
2069 *
2070 * Rebuild with:
2071 *
2072 * meson compile -Cbuild vips-operators-header
2073 *
2074 * Then delete from here to the end of the class and paste in
2075 * vips-operators.h. We could just #include "vips-operators.h", but
2076 * that confuses doxygen.
2077 */
2078
2079 // headers for vips operations
2080 // this file is generated automatically, do not edit!
2081
2087 VImage CMC2LCh(VOption *options = nullptr) const;
2088
2094 VImage CMYK2XYZ(VOption *options = nullptr) const;
2095
2101 VImage HSV2sRGB(VOption *options = nullptr) const;
2102
2108 VImage LCh2CMC(VOption *options = nullptr) const;
2109
2115 VImage LCh2Lab(VOption *options = nullptr) const;
2116
2122 VImage Lab2LCh(VOption *options = nullptr) const;
2123
2129 VImage Lab2LabQ(VOption *options = nullptr) const;
2130
2136 VImage Lab2LabS(VOption *options = nullptr) const;
2137
2147 VImage Lab2XYZ(VOption *options = nullptr) const;
2148
2154 VImage LabQ2Lab(VOption *options = nullptr) const;
2155
2161 VImage LabQ2LabS(VOption *options = nullptr) const;
2162
2168 VImage LabQ2sRGB(VOption *options = nullptr) const;
2169
2175 VImage LabS2Lab(VOption *options = nullptr) const;
2176
2182 VImage LabS2LabQ(VOption *options = nullptr) const;
2183
2189 VImage XYZ2CMYK(VOption *options = nullptr) const;
2190
2200 VImage XYZ2Lab(VOption *options = nullptr) const;
2201
2207 VImage XYZ2Yxy(VOption *options = nullptr) const;
2208
2214 VImage XYZ2scRGB(VOption *options = nullptr) const;
2215
2221 VImage Yxy2XYZ(VOption *options = nullptr) const;
2222
2228 VImage abs(VOption *options = nullptr) const;
2229
2236 VImage add(VImage right, VOption *options = nullptr) const;
2237
2243 VImage addalpha(VOption *options = nullptr) const;
2244
2263 VImage affine(std::vector<double> matrix, VOption *options = nullptr) const;
2264
2278 static VImage analyzeload(const char *filename, VOption *options = nullptr);
2279
2296 static VImage arrayjoin(std::vector<VImage> in, VOption *options = nullptr);
2297
2303 VImage autorot(VOption *options = nullptr) const;
2304
2310 double avg(VOption *options = nullptr) const;
2311
2318 VImage bandbool(VipsOperationBoolean boolean, VOption *options = nullptr) const;
2319
2329 VImage bandfold(VOption *options = nullptr) const;
2330
2337 static VImage bandjoin(std::vector<VImage> in, VOption *options = nullptr);
2338
2345 VImage bandjoin_const(std::vector<double> c, VOption *options = nullptr) const;
2346
2352 VImage bandmean(VOption *options = nullptr) const;
2353
2364 static VImage bandrank(std::vector<VImage> in, VOption *options = nullptr);
2365
2375 VImage bandunfold(VOption *options = nullptr) const;
2376
2388 static VImage black(int width, int height, VOption *options = nullptr);
2389
2397 VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options = nullptr) const;
2398
2406 VImage boolean_const(VipsOperationBoolean boolean, std::vector<double> c, VOption *options = nullptr) const;
2407
2413 VImage buildlut(VOption *options = nullptr) const;
2414
2420 VImage byteswap(VOption *options = nullptr) const;
2421
2434 VImage cache(VOption *options = nullptr) const;
2435
2446 VImage canny(VOption *options = nullptr) const;
2447
2454 VImage case_image(std::vector<VImage> cases, VOption *options = nullptr) const;
2455
2466 VImage cast(VipsBandFormat format, VOption *options = nullptr) const;
2467
2478 VImage clamp(VOption *options = nullptr) const;
2479
2490 VImage colourspace(VipsInterpretation space, VOption *options = nullptr) const;
2491
2507 VImage compass(VImage mask, VOption *options = nullptr) const;
2508
2515 VImage complex(VipsOperationComplex cmplx, VOption *options = nullptr) const;
2516
2524 VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options = nullptr) const;
2525
2532 VImage complexform(VImage right, VOption *options = nullptr) const;
2533
2540 VImage complexget(VipsOperationComplexget get, VOption *options = nullptr) const;
2541
2556 static VImage composite(std::vector<VImage> in, std::vector<int> mode, VOption *options = nullptr);
2557
2572 VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options = nullptr) const;
2573
2586 VImage conv(VImage mask, VOption *options = nullptr) const;
2587
2599 VImage conva(VImage mask, VOption *options = nullptr) const;
2600
2611 VImage convasep(VImage mask, VOption *options = nullptr) const;
2612
2619 VImage convf(VImage mask, VOption *options = nullptr) const;
2620
2627 VImage convi(VImage mask, VOption *options = nullptr) const;
2628
2641 VImage convsep(VImage mask, VOption *options = nullptr) const;
2642
2661 VImage copy(VOption *options = nullptr) const;
2662
2669 double countlines(VipsDirection direction, VOption *options = nullptr) const;
2670
2680 VImage crop(int left, int top, int width, int height, VOption *options = nullptr) const;
2681
2699 static VImage csvload(const char *filename, VOption *options = nullptr);
2700
2718 static VImage csvload_source(VSource source, VOption *options = nullptr);
2719
2733 void csvsave(const char *filename, VOption *options = nullptr) const;
2734
2748 void csvsave_target(VTarget target, VOption *options = nullptr) const;
2749
2756 VImage dE00(VImage right, VOption *options = nullptr) const;
2757
2764 VImage dE76(VImage right, VOption *options = nullptr) const;
2765
2772 VImage dECMC(VImage right, VOption *options = nullptr) const;
2773
2779 double deviate(VOption *options = nullptr) const;
2780
2787 VImage divide(VImage right, VOption *options = nullptr) const;
2788
2801 void draw_circle(std::vector<double> ink, int cx, int cy, int radius, VOption *options = nullptr) const;
2802
2815 void draw_flood(std::vector<double> ink, int x, int y, VOption *options = nullptr) const;
2816
2828 void draw_image(VImage sub, int x, int y, VOption *options = nullptr) const;
2829
2839 void draw_line(std::vector<double> ink, int x1, int y1, int x2, int y2, VOption *options = nullptr) const;
2840
2849 void draw_mask(std::vector<double> ink, VImage mask, int x, int y, VOption *options = nullptr) const;
2850
2864 void draw_rect(std::vector<double> ink, int left, int top, int width, int height, VOption *options = nullptr) const;
2865
2874 void draw_smudge(int left, int top, int width, int height, VOption *options = nullptr) const;
2875
2902 void dzsave(const char *filename, VOption *options = nullptr) const;
2903
2930 VipsBlob *dzsave_buffer(VOption *options = nullptr) const;
2931
2958 void dzsave_target(VTarget target, VOption *options = nullptr) const;
2959
2974 VImage embed(int x, int y, int width, int height, VOption *options = nullptr) const;
2975
2985 VImage extract_area(int left, int top, int width, int height, VOption *options = nullptr) const;
2986
2997 VImage extract_band(int band, VOption *options = nullptr) const;
2998
3011 static VImage eye(int width, int height, VOption *options = nullptr);
3012
3018 VImage falsecolour(VOption *options = nullptr) const;
3019
3026 VImage fastcor(VImage ref, VOption *options = nullptr) const;
3027
3033 VImage fill_nearest(VOption *options = nullptr) const;
3034
3049 int find_trim(int *top, int *width, int *height, VOption *options = nullptr) const;
3050
3064 static VImage fitsload(const char *filename, VOption *options = nullptr);
3065
3079 static VImage fitsload_source(VSource source, VOption *options = nullptr);
3080
3093 void fitssave(const char *filename, VOption *options = nullptr) const;
3094
3105 VImage flatten(VOption *options = nullptr) const;
3106
3113 VImage flip(VipsDirection direction, VOption *options = nullptr) const;
3114
3120 VImage float2rad(VOption *options = nullptr) const;
3121
3130 static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options = nullptr);
3131
3138 VImage freqmult(VImage mask, VOption *options = nullptr) const;
3139
3145 VImage fwfft(VOption *options = nullptr) const;
3146
3156 VImage gamma(VOption *options = nullptr) const;
3157
3169 VImage gaussblur(double sigma, VOption *options = nullptr) const;
3170
3183 static VImage gaussmat(double sigma, double min_ampl, VOption *options = nullptr);
3184
3198 static VImage gaussnoise(int width, int height, VOption *options = nullptr);
3199
3211 std::vector<double> getpoint(int x, int y, VOption *options = nullptr) const;
3212
3228 static VImage gifload(const char *filename, VOption *options = nullptr);
3229
3245 static VImage gifload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3246
3262 static VImage gifload_source(VSource source, VOption *options = nullptr);
3263
3283 void gifsave(const char *filename, VOption *options = nullptr) const;
3284
3304 VipsBlob *gifsave_buffer(VOption *options = nullptr) const;
3305
3325 void gifsave_target(VTarget target, VOption *options = nullptr) const;
3326
3337 VImage globalbalance(VOption *options = nullptr) const;
3338
3352 VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options = nullptr) const;
3353
3365 static VImage grey(int width, int height, VOption *options = nullptr);
3366
3375 VImage grid(int tile_height, int across, int down, VOption *options = nullptr) const;
3376
3394 static VImage heifload(const char *filename, VOption *options = nullptr);
3395
3413 static VImage heifload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3414
3432 static VImage heifload_source(VSource source, VOption *options = nullptr);
3433
3453 void heifsave(const char *filename, VOption *options = nullptr) const;
3454
3474 VipsBlob *heifsave_buffer(VOption *options = nullptr) const;
3475
3495 void heifsave_target(VTarget target, VOption *options = nullptr) const;
3496
3502 VImage hist_cum(VOption *options = nullptr) const;
3503
3509 double hist_entropy(VOption *options = nullptr) const;
3510
3520 VImage hist_equal(VOption *options = nullptr) const;
3521
3531 VImage hist_find(VOption *options = nullptr) const;
3532
3543 VImage hist_find_indexed(VImage index, VOption *options = nullptr) const;
3544
3554 VImage hist_find_ndim(VOption *options = nullptr) const;
3555
3561 bool hist_ismonotonic(VOption *options = nullptr) const;
3562
3574 VImage hist_local(int width, int height, VOption *options = nullptr) const;
3575
3582 VImage hist_match(VImage ref, VOption *options = nullptr) const;
3583
3589 VImage hist_norm(VOption *options = nullptr) const;
3590
3596 VImage hist_plot(VOption *options = nullptr) const;
3597
3609 VImage hough_circle(VOption *options = nullptr) const;
3610
3621 VImage hough_line(VOption *options = nullptr) const;
3622
3636 VImage icc_export(VOption *options = nullptr) const;
3637
3651 VImage icc_import(VOption *options = nullptr) const;
3652
3668 VImage icc_transform(const char *output_profile, VOption *options = nullptr) const;
3669
3681 static VImage identity(VOption *options = nullptr);
3682
3694 VImage ifthenelse(VImage in1, VImage in2, VOption *options = nullptr) const;
3695
3709 VImage insert(VImage sub, int x, int y, VOption *options = nullptr) const;
3710
3716 VImage invert(VOption *options = nullptr) const;
3717
3727 VImage invertlut(VOption *options = nullptr) const;
3728
3738 VImage invfft(VOption *options = nullptr) const;
3739
3754 VImage join(VImage in2, VipsDirection direction, VOption *options = nullptr) const;
3755
3770 static VImage jp2kload(const char *filename, VOption *options = nullptr);
3771
3786 static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3787
3802 static VImage jp2kload_source(VSource source, VOption *options = nullptr);
3803
3821 void jp2ksave(const char *filename, VOption *options = nullptr) const;
3822
3840 VipsBlob *jp2ksave_buffer(VOption *options = nullptr) const;
3841
3859 void jp2ksave_target(VTarget target, VOption *options = nullptr) const;
3860
3877 static VImage jpegload(const char *filename, VOption *options = nullptr);
3878
3895 static VImage jpegload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3896
3913 static VImage jpegload_source(VSource source, VOption *options = nullptr);
3914
3936 void jpegsave(const char *filename, VOption *options = nullptr) const;
3937
3959 VipsBlob *jpegsave_buffer(VOption *options = nullptr) const;
3960
3981 void jpegsave_mime(VOption *options = nullptr) const;
3982
4004 void jpegsave_target(VTarget target, VOption *options = nullptr) const;
4005
4021 static VImage jxlload(const char *filename, VOption *options = nullptr);
4022
4038 static VImage jxlload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4039
4055 static VImage jxlload_source(VSource source, VOption *options = nullptr);
4056
4074 void jxlsave(const char *filename, VOption *options = nullptr) const;
4075
4093 VipsBlob *jxlsave_buffer(VOption *options = nullptr) const;
4094
4112 void jxlsave_target(VTarget target, VOption *options = nullptr) const;
4113
4119 VImage labelregions(VOption *options = nullptr) const;
4120
4132 VImage linear(std::vector<double> a, std::vector<double> b, VOption *options = nullptr) const;
4133
4146 VImage linecache(VOption *options = nullptr) const;
4147
4160 static VImage logmat(double sigma, double min_ampl, VOption *options = nullptr);
4161
4178 static VImage magickload(const char *filename, VOption *options = nullptr);
4179
4196 static VImage magickload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4197
4215 void magicksave(const char *filename, VOption *options = nullptr) const;
4216
4234 VipsBlob *magicksave_buffer(VOption *options = nullptr) const;
4235
4249 VImage mapim(VImage index, VOption *options = nullptr) const;
4250
4261 VImage maplut(VImage lut, VOption *options = nullptr) const;
4262
4280 static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options = nullptr);
4281
4301 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);
4302
4321 static VImage mask_butterworth_ring(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = nullptr);
4322
4338 static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options = nullptr);
4339
4356 static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options = nullptr);
4357
4376 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);
4377
4395 static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = nullptr);
4396
4412 static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options = nullptr);
4413
4431 static VImage mask_ideal_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options = nullptr);
4432
4449 static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options = nullptr);
4450
4472 VImage match(VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options = nullptr) const;
4473
4480 VImage math(VipsOperationMath math, VOption *options = nullptr) const;
4481
4489 VImage math2(VImage right, VipsOperationMath2 math2, VOption *options = nullptr) const;
4490
4498 VImage math2_const(VipsOperationMath2 math2, std::vector<double> c, VOption *options = nullptr) const;
4499
4513 static VImage matload(const char *filename, VOption *options = nullptr);
4514
4520 VImage matrixinvert(VOption *options = nullptr) const;
4521
4535 static VImage matrixload(const char *filename, VOption *options = nullptr);
4536
4550 static VImage matrixload_source(VSource source, VOption *options = nullptr);
4551
4563 void matrixprint(VOption *options = nullptr) const;
4564
4577 void matrixsave(const char *filename, VOption *options = nullptr) const;
4578
4591 void matrixsave_target(VTarget target, VOption *options = nullptr) const;
4592
4602 double max(VOption *options = nullptr) const;
4603
4610 VImage maxpair(VImage right, VOption *options = nullptr) const;
4611
4626 VImage measure(int h, int v, VOption *options = nullptr) const;
4627
4641 VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options = nullptr) const;
4642
4652 double min(VOption *options = nullptr) const;
4653
4660 VImage minpair(VImage right, VOption *options = nullptr) const;
4661
4669 VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options = nullptr) const;
4670
4689 VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options = nullptr) const;
4690
4714 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;
4715
4725 VImage msb(VOption *options = nullptr) const;
4726
4733 VImage multiply(VImage right, VOption *options = nullptr) const;
4734
4748 static VImage niftiload(const char *filename, VOption *options = nullptr);
4749
4763 static VImage niftiload_source(VSource source, VOption *options = nullptr);
4764
4777 void niftisave(const char *filename, VOption *options = nullptr) const;
4778
4792 static VImage openexrload(const char *filename, VOption *options = nullptr);
4793
4812 static VImage openslideload(const char *filename, VOption *options = nullptr);
4813
4832 static VImage openslideload_source(VSource source, VOption *options = nullptr);
4833
4853 static VImage pdfload(const char *filename, VOption *options = nullptr);
4854
4874 static VImage pdfload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4875
4895 static VImage pdfload_source(VSource source, VOption *options = nullptr);
4896
4903 int percent(double percent, VOption *options = nullptr) const;
4904
4918 static VImage perlin(int width, int height, VOption *options = nullptr);
4919
4926 VImage phasecor(VImage in2, VOption *options = nullptr) const;
4927
4942 static VImage pngload(const char *filename, VOption *options = nullptr);
4943
4958 static VImage pngload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4959
4974 static VImage pngload_source(VSource source, VOption *options = nullptr);
4975
4996 void pngsave(const char *filename, VOption *options = nullptr) const;
4997
5018 VipsBlob *pngsave_buffer(VOption *options = nullptr) const;
5019
5040 void pngsave_target(VTarget target, VOption *options = nullptr) const;
5041
5055 static VImage ppmload(const char *filename, VOption *options = nullptr);
5056
5070 static VImage ppmload_source(VSource source, VOption *options = nullptr);
5071
5087 void ppmsave(const char *filename, VOption *options = nullptr) const;
5088
5104 void ppmsave_target(VTarget target, VOption *options = nullptr) const;
5105
5115 VImage premultiply(VOption *options = nullptr) const;
5116
5122 VImage prewitt(VOption *options = nullptr) const;
5123
5130 VImage profile(VImage *rows, VOption *options = nullptr) const;
5131
5138 static VipsBlob *profile_load(const char *name, VOption *options = nullptr);
5139
5146 VImage project(VImage *rows, VOption *options = nullptr) const;
5147
5158 VImage quadratic(VImage coeff, VOption *options = nullptr) const;
5159
5165 VImage rad2float(VOption *options = nullptr) const;
5166
5180 static VImage radload(const char *filename, VOption *options = nullptr);
5181
5195 static VImage radload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5196
5210 static VImage radload_source(VSource source, VOption *options = nullptr);
5211
5224 void radsave(const char *filename, VOption *options = nullptr) const;
5225
5238 VipsBlob *radsave_buffer(VOption *options = nullptr) const;
5239
5252 void radsave_target(VTarget target, VOption *options = nullptr) const;
5253
5262 VImage rank(int width, int height, int index, VOption *options = nullptr) const;
5263
5283 static VImage rawload(const char *filename, int width, int height, int bands, VOption *options = nullptr);
5284
5297 void rawsave(const char *filename, VOption *options = nullptr) const;
5298
5311 VipsBlob *rawsave_buffer(VOption *options = nullptr) const;
5312
5325 void rawsave_target(VTarget target, VOption *options = nullptr) const;
5326
5333 VImage recomb(VImage m, VOption *options = nullptr) const;
5334
5347 VImage reduce(double hshrink, double vshrink, VOption *options = nullptr) const;
5348
5360 VImage reduceh(double hshrink, VOption *options = nullptr) const;
5361
5373 VImage reducev(double vshrink, VOption *options = nullptr) const;
5374
5383
5391 VImage relational_const(VipsOperationRelational relational, std::vector<double> c, VOption *options = nullptr) const;
5392
5399 VImage remainder(VImage right, VOption *options = nullptr) const;
5400
5407 VImage remainder_const(std::vector<double> c, VOption *options = nullptr) const;
5408
5416 VImage replicate(int across, int down, VOption *options = nullptr) const;
5417
5430 VImage resize(double scale, VOption *options = nullptr) const;
5431
5438 VImage rot(VipsAngle angle, VOption *options = nullptr) const;
5439
5449 VImage rot45(VOption *options = nullptr) const;
5450
5466 VImage rotate(double angle, VOption *options = nullptr) const;
5467
5474 VImage round(VipsOperationRound round, VOption *options = nullptr) const;
5475
5481 VImage sRGB2HSV(VOption *options = nullptr) const;
5482
5488 VImage sRGB2scRGB(VOption *options = nullptr) const;
5489
5499 VImage scRGB2BW(VOption *options = nullptr) const;
5500
5506 VImage scRGB2XYZ(VOption *options = nullptr) const;
5507
5517 VImage scRGB2sRGB(VOption *options = nullptr) const;
5518
5529 VImage scale(VOption *options = nullptr) const;
5530
5536 VImage scharr(VOption *options = nullptr) const;
5537
5553 static VImage sdf(int width, int height, VipsSdfShape shape, VOption *options = nullptr);
5554
5564 VImage sequential(VOption *options = nullptr) const;
5565
5580 VImage sharpen(VOption *options = nullptr) const;
5581
5593 VImage shrink(double hshrink, double vshrink, VOption *options = nullptr) const;
5594
5605 VImage shrinkh(int hshrink, VOption *options = nullptr) const;
5606
5617 VImage shrinkv(int vshrink, VOption *options = nullptr) const;
5618
5624 VImage sign(VOption *options = nullptr) const;
5625
5642 VImage similarity(VOption *options = nullptr) const;
5643
5657 static VImage sines(int width, int height, VOption *options = nullptr);
5658
5671 VImage smartcrop(int width, int height, VOption *options = nullptr) const;
5672
5678 VImage sobel(VOption *options = nullptr) const;
5679
5686 VImage spcor(VImage ref, VOption *options = nullptr) const;
5687
5693 VImage spectrum(VOption *options = nullptr) const;
5694
5700 VImage stats(VOption *options = nullptr) const;
5701
5716 VImage stdif(int width, int height, VOption *options = nullptr) const;
5717
5729 VImage subsample(int xfac, int yfac, VOption *options = nullptr) const;
5730
5737 VImage subtract(VImage right, VOption *options = nullptr) const;
5738
5745 static VImage sum(std::vector<VImage> in, VOption *options = nullptr);
5746
5763 static VImage svgload(const char *filename, VOption *options = nullptr);
5764
5781 static VImage svgload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5782
5799 static VImage svgload_source(VSource source, VOption *options = nullptr);
5800
5807 static VImage switch_image(std::vector<VImage> tests, VOption *options = nullptr);
5808
5820 static void system(const char *cmd_format, VOption *options = nullptr);
5821
5841 static VImage text(const char *text, VOption *options = nullptr);
5842
5862 static VImage thumbnail(const char *filename, int width, VOption *options = nullptr);
5863
5884 static VImage thumbnail_buffer(VipsBlob *buffer, int width, VOption *options = nullptr);
5885
5904 VImage thumbnail_image(int width, VOption *options = nullptr) const;
5905
5926 static VImage thumbnail_source(VSource source, int width, VOption *options = nullptr);
5927
5945 static VImage tiffload(const char *filename, VOption *options = nullptr);
5946
5964 static VImage tiffload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5965
5983 static VImage tiffload_source(VSource source, VOption *options = nullptr);
5984
6017 void tiffsave(const char *filename, VOption *options = nullptr) const;
6018
6051 VipsBlob *tiffsave_buffer(VOption *options = nullptr) const;
6052
6085 void tiffsave_target(VTarget target, VOption *options = nullptr) const;
6086
6101 VImage tilecache(VOption *options = nullptr) const;
6102
6121 static VImage tonelut(VOption *options = nullptr);
6122
6132 VImage transpose3d(VOption *options = nullptr) const;
6133
6144 VImage unpremultiply(VOption *options = nullptr) const;
6145
6159 static VImage vipsload(const char *filename, VOption *options = nullptr);
6160
6174 static VImage vipsload_source(VSource source, VOption *options = nullptr);
6175
6188 void vipssave(const char *filename, VOption *options = nullptr) const;
6189
6202 void vipssave_target(VTarget target, VOption *options = nullptr) const;
6203
6220 static VImage webpload(const char *filename, VOption *options = nullptr);
6221
6238 static VImage webpload_buffer(VipsBlob *buffer, VOption *options = nullptr);
6239
6256 static VImage webpload_source(VSource source, VOption *options = nullptr);
6257
6284 void webpsave(const char *filename, VOption *options = nullptr) const;
6285
6312 VipsBlob *webpsave_buffer(VOption *options = nullptr) const;
6313
6339 void webpsave_mime(VOption *options = nullptr) const;
6340
6367 void webpsave_target(VTarget target, VOption *options = nullptr) const;
6368
6381 static VImage worley(int width, int height, VOption *options = nullptr);
6382
6393 VImage wrap(VOption *options = nullptr) const;
6394
6408 static VImage xyz(int width, int height, VOption *options = nullptr);
6409
6421 static VImage zone(int width, int height, VOption *options = nullptr);
6422
6430 VImage zoom(int xfac, int yfac, VOption *options = nullptr) const;
6431};
6432
6433VIPS_NAMESPACE_END
6434
6435#endif /*VIPS_VIMAGE_H*/
Definition VError8.h:45
Definition VImage8.h:398
VImage LabQ2sRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:138
VImage hist_norm(VOption *options=nullptr) const
Definition vips-operators.cpp:1557
VImage rint(VOption *options=nullptr) const
Definition VImage8.h:1293
VImage fastcor(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:1049
VImage scRGB2sRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:3191
void niftisave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2526
void set(const char *field, double *value, int n)
Definition VImage8.h:621
VImage flatten(VOption *options=nullptr) const
Definition vips-operators.cpp:1121
VImage convi(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:703
double xres() const
Definition VImage8.h:500
static VImage bandrank(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:394
VImage sign(VOption *options=nullptr) const
Definition vips-operators.cpp:3305
VImage stdif(int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:3405
static VImage svgload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3482
static VImage switch_image(std::vector< VImage > tests, VOption *options=nullptr)
Definition vips-operators.cpp:3494
VImage conv(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:651
static VImage mask_butterworth_ring(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=nullptr)
Definition vips-operators.cpp:2086
VImage atan2(VImage other, VOption *options=nullptr) const
Definition VImage8.h:1585
static VImage gifload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1286
int get_int(const char *field) const
Definition VImage8.h:689
static VImage radload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2836
VipsBlob * tiffsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:3621
static VImage zone(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3837
std::vector< double > get_array_double(const char *field) const
Definition VImage8.h:753
void set(const char *field, int *value, int n)
Definition VImage8.h:598
static VImage new_matrixv(int width, int height,...)
Definition VImage.cpp:662
void set(const char *field, std::vector< int > value)
Definition VImage8.h:609
static VImage jp2kload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1756
void draw_point(std::vector< double > ink, int x, int y, VOption *options=nullptr) const
Definition VImage8.h:1748
VipsBlob * pngsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2689
double deviate(VOption *options=nullptr) const
Definition vips-operators.cpp:849
VImage fill_nearest(VOption *options=nullptr) const
Definition vips-operators.cpp:1062
const char * filename() const
Definition VImage8.h:546
void rawsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2950
VImage wop(VImage other, VOption *options=nullptr) const
Definition VImage8.h:1556
void rawsave_fd(int fd, VOption *options=nullptr) const
Definition VImage.cpp:1598
VImage msb(VOption *options=nullptr) const
Definition vips-operators.cpp:2477
VImage hough_circle(VOption *options=nullptr) const
Definition vips-operators.cpp:1581
static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options=nullptr)
Definition vips-operators.cpp:2195
static VImage mask_ideal_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options=nullptr)
Definition vips-operators.cpp:2179
VImage subsample(int xfac, int yfac, VOption *options=nullptr) const
Definition vips-operators.cpp:3419
VImage matrixinvert(VOption *options=nullptr) const
Definition vips-operators.cpp:2284
VImage divide(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:861
VImage gaussblur(double sigma, VOption *options=nullptr) const
Definition vips-operators.cpp:1209
VImage extract_area(int left, int top, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:995
VImage replicate(int across, int down, VOption *options=nullptr) const
Definition vips-operators.cpp:3065
VImage exp10(VOption *options=nullptr) const
Definition VImage8.h:1518
VImage exp(VOption *options=nullptr) const
Definition VImage8.h:1509
VipsBlob * webpsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:3772
static VImage mask_gaussian_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2132
VImage copy(VOption *options=nullptr) const
Definition vips-operators.cpp:729
static VImage fitsload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1089
G_DEPRECATED VImage cache(VOption *options=nullptr) const
Definition vips-operators.cpp:483
void * write_to_memory(size_t *size) const
Definition VImage8.h:1084
static VImage webpload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:3740
static VImage vipsload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3700
static VImage heifload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1393
void fitssave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1113
VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options=nullptr) const
Definition vips-operators.cpp:2423
static VImage matrixload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2308
static VImage gifload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1274
void gifsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1318
VImage Yxy2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:222
static VImage csvload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:770
static VImage pngload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2645
VImage rot45(VOption *options=nullptr) const
Definition vips-operators.cpp:3105
static VImage new_memory()
Definition VImage8.h:856
static VImage jpegload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1808
void jp2ksave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1788
bool has_alpha() const
Definition VImage8.h:536
static VImage new_from_file(const char *name, VOption *options=nullptr)
Definition VImage.cpp:561
VImage bandjoin(double other, VOption *options=nullptr) const
Definition VImage8.h:1162
void draw_smudge(int left, int top, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:940
void set(const char *field, int value)
Definition VImage8.h:587
VImage conva(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:664
VImage gamma(VOption *options=nullptr) const
Definition vips-operators.cpp:1197
VImage sin(VOption *options=nullptr) const
Definition VImage8.h:1383
void csvsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:802
VImage hist_match(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:1544
static VImage jpegload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1820
VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options=nullptr) const
Definition vips-operators.cpp:431
VImage byteswap(VOption *options=nullptr) const
Definition vips-operators.cpp:471
VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options=nullptr) const
Definition vips-operators.cpp:2382
static VImage jp2kload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1732
static VImage vipsload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3688
VImage project(VImage *rows, VOption *options=nullptr) const
Definition vips-operators.cpp:2798
VImage recomb(VImage m, VOption *options=nullptr) const
Definition vips-operators.cpp:2958
static VImage jxlload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1891
VImage write(VImage out) const
Definition VImage.cpp:680
static VImage tiffload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:3589
VImage rotate(double angle, VOption *options=nullptr) const
Definition vips-operators.cpp:3117
VImage LabS2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:150
VImage bandeor(VOption *options=nullptr) const
Definition VImage8.h:1329
VImage bandjoin_const(std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:369
static VImage sum(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:3446
VipsBlob * jxlsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1911
VImage wrap(VOption *options=nullptr) const
Definition vips-operators.cpp:3812
static VImage niftiload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2514
VImage affine(std::vector< double > matrix, VOption *options=nullptr) const
Definition vips-operators.cpp:271
VImage dE76(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:823
static VImage tiffload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3577
VImage rot90(VOption *options=nullptr) const
Definition VImage8.h:1215
void radsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2872
void jp2ksave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1768
VImage smartcrop(int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:3342
VImage new_from_image(double pixel) const
Definition VImage8.h:1014
static VImage gaussnoise(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:1235
static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2165
VImage reduceh(double hshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2985
VImage case_image(std::vector< VImage > cases, VOption *options=nullptr) const
Definition vips-operators.cpp:507
static VImage pdfload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2570
static VImage fitsload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1101
VImage remainder_const(std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:3052
VImage atanh(VOption *options=nullptr) const
Definition VImage8.h:1482
VImage median(int size=3, VOption *options=nullptr) const
Definition VImage8.h:1266
VipsImage * get_image() const
Definition VImage8.h:426
void csvsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:794
static VImage pdfload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2582
VImage bandor(VOption *options=nullptr) const
Definition VImage8.h:1317
VImage convasep(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:677
VImage compass(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:558
static VImage svgload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3458
void magicksave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2006
VImage flipver(VOption *options=nullptr) const
Definition VImage8.h:1206
VImage hist_local(int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:1530
void webpsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:3764
static VImage jpegload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1796
static VImage logmat(double sigma, double min_ampl, VOption *options=nullptr)
Definition vips-operators.cpp:1969
static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2052
std::complex< double > minpos(VOption *options=nullptr) const
Definition VImage.cpp:858
VImage LabQ2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:114
std::complex< double > maxpos(VOption *options=nullptr) const
Definition VImage.cpp:871
const void * get_blob(const char *field, size_t *length) const
Definition VImage8.h:807
VImage sobel(VOption *options=nullptr) const
Definition vips-operators.cpp:3356
static VImage xyz(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3824
VipsCoding coding() const
Definition VImage8.h:471
VImage remainder(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:3039
static VImage magickload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1994
VImage LCh2CMC(VOption *options=nullptr) const
Definition vips-operators.cpp:42
VImage spcor(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:3368
static VImage text(const char *text, VOption *options=nullptr)
Definition vips-operators.cpp:3513
VImage hist_cum(VOption *options=nullptr) const
Definition vips-operators.cpp:1445
VImage crop(int left, int top, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:754
void tiffsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:3633
VImage float2rad(VOption *options=nullptr) const
Definition vips-operators.cpp:1146
VImage globalbalance(VOption *options=nullptr) const
Definition vips-operators.cpp:1326
std::vector< VImage > bandsplit(VOption *options=nullptr) const
Definition VImage.cpp:826
VImage atan2(double other, VOption *options=nullptr) const
Definition VImage8.h:1594
VImage pow(double other, VOption *options=nullptr) const
Definition VImage8.h:1536
double avg(VOption *options=nullptr) const
Definition vips-operators.cpp:320
VImage sequential(VOption *options=nullptr) const
Definition vips-operators.cpp:3241
VipsBlob * radsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2880
static VImage matrixload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2296
VImage hist_find(VOption *options=nullptr) const
Definition vips-operators.cpp:1481
void write_to_buffer(const char *suffix, void **buf, size_t *size, VOption *options=nullptr) const
Definition VImage.cpp:708
void draw_image(VImage sub, int x, int y, VOption *options=nullptr) const
Definition vips-operators.cpp:895
void webpsave_mime(VOption *options=nullptr) const
Definition vips-operators.cpp:3784
static VImage pngload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2657
VImage dE00(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:810
VImage rect(VOption *options=nullptr) const
Definition VImage8.h:1365
VImage mosaic1(VImage sec, VipsDirection direction, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options=nullptr) const
Definition vips-operators.cpp:2455
static void call(const char *operation_name, VOption *options=nullptr)
Definition VImage.cpp:555
static VImage jxlload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1867
static VImage arrayjoin(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:296
void matrixprint(VOption *options=nullptr) const
Definition vips-operators.cpp:2320
VImage grid(int tile_height, int across, int down, VOption *options=nullptr) const
Definition vips-operators.cpp:1366
void ppmsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2733
VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:1338
static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1744
const char * get_string(const char *field) const
Definition VImage8.h:790
VImage polar(VOption *options=nullptr) const
Definition VImage8.h:1356
static VImage gaussmat(double sigma, double min_ampl, VOption *options=nullptr)
Definition vips-operators.cpp:1222
int find_trim(int *top, int *width, int *height, VOption *options=nullptr) const
Definition vips-operators.cpp:1074
VImage linecache(VOption *options=nullptr) const
Definition vips-operators.cpp:1957
VImage bandjoin(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1172
static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options=nullptr)
Definition vips-operators.cpp:2103
VImage fwfft(VOption *options=nullptr) const
Definition vips-operators.cpp:1185
VImage autorot(VOption *options=nullptr) const
Definition vips-operators.cpp:308
VImage phasecor(VImage in2, VOption *options=nullptr) const
Definition vips-operators.cpp:2632
VImage ifthenelse(std::vector< double > th, VImage el, VOption *options=nullptr) const
Definition VImage8.h:1615
void webpsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:3791
VImage resize(double scale, VOption *options=nullptr) const
Definition vips-operators.cpp:3079
static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options=nullptr)
Definition vips-operators.cpp:1158
static VImage gifload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1262
VImage XYZ2Yxy(VOption *options=nullptr) const
Definition vips-operators.cpp:198
VImage XYZ2scRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:210
static VImage niftiload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2502
VImage complexget(VipsOperationComplexget get, VOption *options=nullptr) const
Definition vips-operators.cpp:611
void matrixsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2327
VImage match(VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options=nullptr) const
Definition vips-operators.cpp:2210
void dzsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:971
VImage pow(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1546
VImage bandunfold(VOption *options=nullptr) const
Definition vips-operators.cpp:406
VImage reduce(double hshrink, double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2971
void set(const char *field, VipsCallbackFn free_fn, void *data, size_t length)
Definition VImage8.h:666
VipsBlob * magicksave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2014
VImage bandand(VOption *options=nullptr) const
Definition VImage8.h:1305
void draw_line(double ink, int x1, int y1, int x2, int y2, VOption *options=nullptr) const
Definition VImage8.h:1703
void vipssave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:3712
VImage hist_equal(VOption *options=nullptr) const
Definition vips-operators.cpp:1469
VImage hist_find_ndim(VOption *options=nullptr) const
Definition vips-operators.cpp:1506
VImage new_from_image(std::vector< double > pixel) const
Definition VImage8.h:998
static VImage thumbnail_source(VSource source, int width, VOption *options=nullptr)
Definition vips-operators.cpp:3564
static VipsBlob * profile_load(const char *name, VOption *options=nullptr)
Definition vips-operators.cpp:2786
static VImage openslideload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2546
VImage imag(VOption *options=nullptr) const
Definition VImage8.h:1347
static VImage matload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2272
VImage add(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:246
static VImage new_from_memory_steal(const void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition VImage.cpp:640
void rawsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2930
static VImage thumbnail(const char *filename, int width, VOption *options=nullptr)
Definition vips-operators.cpp:3525
VipsBlob * heifsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1425
VipsBlob * jp2ksave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1776
static VImage pdfload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2594
static VImage eye(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:1024
VImage ifthenelse(std::vector< double > th, std::vector< double > el, VOption *options=nullptr) const
Definition VImage8.h:1637
VImage HSV2sRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:30
void ppmsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2741
VImage hist_find_indexed(VImage index, VOption *options=nullptr) const
Definition vips-operators.cpp:1493
static VImage radload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2860
static VImage jxlload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1879
VImage boolean_const(VipsOperationBoolean boolean, std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:445
double hist_entropy(VOption *options=nullptr) const
Definition vips-operators.cpp:1457
VImage dECMC(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:836
VImage copy_memory() const
Definition VImage8.h:1032
static VImage tonelut(VOption *options=nullptr)
Definition vips-operators.cpp:3653
VImage wop(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1575
static VImage ppmload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2709
VImage insert(VImage sub, int x, int y, VOption *options=nullptr) const
Definition vips-operators.cpp:1667
VImage relational(VImage right, VipsOperationRelational relational, VOption *options=nullptr) const
Definition vips-operators.cpp:3011
void get_array_double(const char *field, double **out, int *n) const
Definition VImage8.h:740
VImage sRGB2scRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:3155
int percent(double percent, VOption *options=nullptr) const
Definition vips-operators.cpp:2606
VImage atan(VOption *options=nullptr) const
Definition VImage8.h:1428
bool remove(const char *name) const
Definition VImage8.h:823
VImage sinh(VOption *options=nullptr) const
Definition VImage8.h:1437
VImage icc_export(VOption *options=nullptr) const
Definition vips-operators.cpp:1605
VImage pow(VImage other, VOption *options=nullptr) const
Definition VImage8.h:1527
VImage log(VOption *options=nullptr) const
Definition VImage8.h:1491
static VImage new_from_buffer(const void *buf, size_t len, const char *option_string, VOption *options=nullptr)
Definition VImage.cpp:584
static VImage tiffload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3601
VImage clamp(VOption *options=nullptr) const
Definition vips-operators.cpp:533
static VImage pngload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2669
void matrixsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2335
VImage asin(VOption *options=nullptr) const
Definition VImage8.h:1410
VImage ceil(VOption *options=nullptr) const
Definition VImage8.h:1284
static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2117
VImage scharr(VOption *options=nullptr) const
Definition vips-operators.cpp:3215
VImage rot(VipsAngle angle, VOption *options=nullptr) const
Definition vips-operators.cpp:3092
static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=nullptr)
Definition vips-operators.cpp:2149
VImage bandjoin(VImage other, VOption *options=nullptr) const
Definition VImage.cpp:838
VImage relational_const(VipsOperationRelational relational, std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:3025
static void call_option_string(const char *operation_name, const char *option_string, VOption *options=nullptr)
Definition VImage.cpp:501
VImage convsep(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:716
void draw_flood(double ink, int x, int y, VOption *options=nullptr) const
Definition VImage8.h:1766
VImage dilate(VImage mask, VOption *options=nullptr) const
Definition VImage8.h:1244
void jxlsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1923
VImage hough_line(VOption *options=nullptr) const
Definition vips-operators.cpp:1593
static VImage csvload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:782
VImage invfft(VOption *options=nullptr) const
Definition vips-operators.cpp:1706
static VImage sdf(int width, int height, VipsSdfShape shape, VOption *options=nullptr)
Definition vips-operators.cpp:3227
double yres() const
Definition VImage8.h:509
static VImage grey(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:1353
void set(const char *field, std::vector< double > value)
Definition VImage8.h:632
double max(VOption *options=nullptr) const
Definition vips-operators.cpp:2343
static VImage thumbnail_buffer(void *buf, size_t len, int width, VOption *options=nullptr)
Definition VImage.cpp:781
void vipssave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:3720
VImage scRGB2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:3179
VImage Lab2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:102
void radsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2892
static VImage radload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2848
int yoffset() const
Definition VImage8.h:527
VImage complexform(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:598
static VImage black(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:418
VImage falsecolour(VOption *options=nullptr) const
Definition vips-operators.cpp:1037
VipsBlob * jpegsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1840
VipsInterpretation interpretation() const
Definition VImage8.h:481
static VImage identity(VOption *options=nullptr)
Definition vips-operators.cpp:1642
int height() const
Definition VImage8.h:444
void set(const char *field, const char *value)
Definition VImage8.h:653
void gifsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1298
VImage acos(VOption *options=nullptr) const
Definition VImage8.h:1419
void draw_circle(double ink, int cx, int cy, int radius, VOption *options=nullptr) const
Definition VImage8.h:1688
VImage math2(VImage right, VipsOperationMath2 math2, VOption *options=nullptr) const
Definition vips-operators.cpp:2244
VImage spectrum(VOption *options=nullptr) const
Definition vips-operators.cpp:3381
static VImage worley(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3799
VImage sRGB2HSV(VOption *options=nullptr) const
Definition vips-operators.cpp:3143
VImage abs(VOption *options=nullptr) const
Definition vips-operators.cpp:234
VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options=nullptr) const
Definition vips-operators.cpp:637
GType get_typeof(const char *field) const
Definition VImage8.h:678
VRegion region() const
Definition VImage.cpp:798
VImage stats(VOption *options=nullptr) const
Definition vips-operators.cpp:3393
VImage linear(std::vector< double > a, double b, VOption *options=nullptr) const
Definition VImage8.h:1131
VImage bandmean(VOption *options=nullptr) const
Definition vips-operators.cpp:382
VImage embed(int x, int y, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:979
std::vector< int > get_array_int(const char *field) const
Definition VImage8.h:719
static VImage mask_butterworth_band(int width, int height, double order, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2068
static VImage new_matrix(int width, int height, double *array, int size)
Definition VImage8.h:975
VImage real(VOption *options=nullptr) const
Definition VImage8.h:1338
VImage rot180(VOption *options=nullptr) const
Definition VImage8.h:1224
static VImage magickload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1982
VipsInterpretation guess_interpretation() const
Definition VImage8.h:491
double get_double(const char *field) const
Definition VImage8.h:773
static VImage perlin(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:2619
VImage cos(VOption *options=nullptr) const
Definition VImage8.h:1392
VImage Lab2LabQ(VOption *options=nullptr) const
Definition vips-operators.cpp:78
void tiffsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:3613
static VImage openexrload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2534
VImage shrinkh(int hshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3279
VImage hist_plot(VOption *options=nullptr) const
Definition vips-operators.cpp:1569
VImage tanh(VOption *options=nullptr) const
Definition VImage8.h:1455
VImage zoom(int xfac, int yfac, VOption *options=nullptr) const
Definition vips-operators.cpp:3850
VImage bandfold(VOption *options=nullptr) const
Definition vips-operators.cpp:345
VImage premultiply(VOption *options=nullptr) const
Definition vips-operators.cpp:2749
int bands() const
Definition VImage8.h:453
VImage ifthenelse(double th, double el, VOption *options=nullptr) const
Definition VImage8.h:1669
VImage tilecache(VOption *options=nullptr) const
Definition vips-operators.cpp:3641
static VImage svgload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:3470
static VImage heifload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1381
VImage minpair(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:2410
VImage prewitt(VOption *options=nullptr) const
Definition vips-operators.cpp:2761
VImage LCh2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:54
void heifsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1417
VImage atan2(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1604
static VImage analyzeload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:284
VImage scRGB2BW(VOption *options=nullptr) const
Definition vips-operators.cpp:3167
VImage ifthenelse(double th, VImage el, VOption *options=nullptr) const
Definition VImage8.h:1649
VImage LabS2LabQ(VOption *options=nullptr) const
Definition vips-operators.cpp:162
void write_to_target(const char *suffix, VTarget target, VOption *options=nullptr) const
Definition VImage.cpp:761
VImage()
Definition VImage8.h:416
VImage buildlut(VOption *options=nullptr) const
Definition vips-operators.cpp:459
static VImage new_temp_file(const char *file_format=".v")
Definition VImage8.h:866
VImage labelregions(VOption *options=nullptr) const
Definition vips-operators.cpp:1931
VImage multiply(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:2489
VImage fliphor(VOption *options=nullptr) const
Definition VImage8.h:1197
void write_to_file(const char *name, VOption *options=nullptr) const
Definition VImage.cpp:689
void set(const char *field, double value)
Definition VImage8.h:642
static VImage new_matrix(int width, int height)
Definition VImage.cpp:656
void draw_mask(double ink, VImage mask, int x, int y, VOption *options=nullptr) const
Definition VImage8.h:1780
VImage(VipsImage *image, VSteal steal=STEAL)
Definition VImage8.h:408
VImage linear(double a, std::vector< double > b, VOption *options=nullptr) const
Definition VImage8.h:1142
void pngsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2681
bool hist_ismonotonic(VOption *options=nullptr) const
Definition vips-operators.cpp:1518
VImage XYZ2CMYK(VOption *options=nullptr) const
Definition vips-operators.cpp:174
VImage complex(VipsOperationComplex cmplx, VOption *options=nullptr) const
Definition vips-operators.cpp:571
VImage freqmult(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:1172
VImage icc_import(VOption *options=nullptr) const
Definition vips-operators.cpp:1617
VImage rot270(VOption *options=nullptr) const
Definition VImage8.h:1233
void pngsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2701
VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options=nullptr) const
Definition vips-operators.cpp:2437
VImage sharpen(VOption *options=nullptr) const
Definition vips-operators.cpp:3253
VImage maxpair(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:2355
static VImage new_from_source(VSource source, const char *option_string, VOption *options=nullptr)
Definition VImage.cpp:618
VImage mapim(VImage index, VOption *options=nullptr) const
Definition vips-operators.cpp:2026
VImage quadratic(VImage coeff, VOption *options=nullptr) const
Definition vips-operators.cpp:2811
static void system(const char *cmd_format, VOption *options=nullptr)
Definition vips-operators.cpp:3506
VImage shrink(double hshrink, double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3265
VImage composite(VImage other, VipsBlendMode mode, VOption *options=nullptr) const
Definition VImage.cpp:847
VImage convf(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:690
VImage profile(VImage *rows, VOption *options=nullptr) const
Definition vips-operators.cpp:2773
VImage extract_band(int band, VOption *options=nullptr) const
Definition vips-operators.cpp:1011
VImage bandbool(VipsOperationBoolean boolean, VOption *options=nullptr) const
Definition vips-operators.cpp:332
VipsBandFormat format() const
Definition VImage8.h:462
VImage math2_const(VipsOperationMath2 math2, std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:2258
static VImage new_from_memory_copy(const void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition VImage8.h:940
VImage transpose3d(VOption *options=nullptr) const
Definition vips-operators.cpp:3664
VImage reducev(double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2998
void dzsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:951
static VImage webpload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3728
VImage erode(VImage mask, VOption *options=nullptr) const
Definition VImage8.h:1256
VImage floor(VOption *options=nullptr) const
Definition VImage8.h:1275
VImage linear(double a, double b, VOption *options=nullptr) const
Definition VImage8.h:1119
VImage colourspace(VipsInterpretation space, VOption *options=nullptr) const
Definition vips-operators.cpp:545
VImage addalpha(VOption *options=nullptr) const
Definition vips-operators.cpp:259
VImage ifthenelse(VImage th, std::vector< double > el, VOption *options=nullptr) const
Definition VImage8.h:1626
void get_array_int(const char *field, int **out, int *n) const
Definition VImage8.h:706
VImage tan(VOption *options=nullptr) const
Definition VImage8.h:1401
VipsBlob * rawsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2938
void jpegsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1859
VImage cosh(VOption *options=nullptr) const
Definition VImage8.h:1446
double countlines(VipsDirection direction, VOption *options=nullptr) const
Definition vips-operators.cpp:741
VImage icc_transform(const char *output_profile, VOption *options=nullptr) const
Definition vips-operators.cpp:1629
VImage ifthenelse(VImage th, double el, VOption *options=nullptr) const
Definition VImage8.h:1659
void inplace()
Definition VImage8.h:565
VImage rad2float(VOption *options=nullptr) const
Definition vips-operators.cpp:2824
static VImage sines(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3329
VImage Lab2LCh(VOption *options=nullptr) const
Definition vips-operators.cpp:66
int width() const
Definition VImage8.h:435
VImage flip(VipsDirection direction, VOption *options=nullptr) const
Definition vips-operators.cpp:1133
VImage math(VipsOperationMath math, VOption *options=nullptr) const
Definition vips-operators.cpp:2231
VImage similarity(VOption *options=nullptr) const
Definition vips-operators.cpp:3317
VImage unpremultiply(VOption *options=nullptr) const
Definition vips-operators.cpp:3676
VImage maplut(VImage lut, VOption *options=nullptr) const
Definition vips-operators.cpp:2039
VipsBlob * gifsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1306
static VImage ppmload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2721
void jpegsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1832
void draw_rect(double ink, int left, int top, int width, int height, VOption *options=nullptr) const
Definition VImage8.h:1722
VImage Lab2LabS(VOption *options=nullptr) const
Definition vips-operators.cpp:90
VImage log10(VOption *options=nullptr) const
Definition VImage8.h:1500
VImage invert(VOption *options=nullptr) const
Definition vips-operators.cpp:1682
int xoffset() const
Definition VImage8.h:518
VImage rank(int width, int height, int index, VOption *options=nullptr) const
Definition vips-operators.cpp:2900
VImage CMC2LCh(VOption *options=nullptr) const
Definition vips-operators.cpp:6
VImage LabQ2LabS(VOption *options=nullptr) const
Definition vips-operators.cpp:126
static VImage rawload(const char *filename, int width, int height, int bands, VOption *options=nullptr)
Definition vips-operators.cpp:2915
void jpegsave_mime(VOption *options=nullptr) const
Definition vips-operators.cpp:1852
static VImage heifload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1405
VImage XYZ2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:186
static VImage openslideload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2558
void draw_point(double ink, int x, int y, VOption *options=nullptr) const
Definition VImage8.h:1735
VImage asinh(VOption *options=nullptr) const
Definition VImage8.h:1464
const void * data() const
Definition VImage8.h:578
double min(VOption *options=nullptr) const
Definition vips-operators.cpp:2398
VImage invertlut(VOption *options=nullptr) const
Definition vips-operators.cpp:1694
static VOption * option()
Definition VImage8.h:832
static VImage new_from_memory(const void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition VImage8.h:922
VImage measure(int h, int v, VOption *options=nullptr) const
Definition vips-operators.cpp:2368
void jxlsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1903
VImage wop(double other, VOption *options=nullptr) const
Definition VImage8.h:1565
VImage round(VipsOperationRound round, VOption *options=nullptr) const
Definition vips-operators.cpp:3130
std::vector< double > getpoint(int x, int y, VOption *options=nullptr) const
Definition vips-operators.cpp:1248
VImage subtract(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:3433
VImage scale(VOption *options=nullptr) const
Definition vips-operators.cpp:3203
VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options=nullptr) const
Definition vips-operators.cpp:584
VImage acosh(VOption *options=nullptr) const
Definition VImage8.h:1473
VipsBlob * dzsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:959
VImage thumbnail_image(int width, VOption *options=nullptr) const
Definition vips-operators.cpp:3551
VImage shrinkv(int vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3292
VImage conj(VOption *options=nullptr) const
Definition VImage8.h:1374
static VImage webpload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3752
VImage CMYK2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:18
VImage join(VImage in2, VipsDirection direction, VOption *options=nullptr) const
Definition vips-operators.cpp:1718
void heifsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1437
VImage canny(VOption *options=nullptr) const
Definition vips-operators.cpp:495
VImage cast(VipsBandFormat format, VOption *options=nullptr) const
Definition vips-operators.cpp:520
Definition VInterpolate8.h:45
Definition VImage8.h:67
VObject(VipsObject *new_vobject, VSteal steal=STEAL)
Definition VImage8.h:79
VipsObject * get_object() const
Definition VImage8.h:170
bool is_null() const
Definition VImage8.h:182
Definition VImage8.h:216
void get_operation(VipsOperation *operation)
Definition VImage.cpp:447
VOption * set(const char *name, bool value)
Definition VImage.cpp:122
void set_operation(VipsOperation *operation)
Definition VImage.cpp:425
Definition VRegion8.h:40
Definition VConnection8.h:45
Definition VConnection8.h:104