vips-cpp 8.15
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 *
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(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(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(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 /* Automatically generated members.
2052 *
2053 * Rebuild with:
2054 *
2055 * meson compile -Cbuild vips-operators-header
2056 *
2057 * Then delete from here to the end of the class and paste in
2058 * vips-operators.h. We could just #include vips-operators.h, but
2059 * that confuses doxygen.
2060 */
2061
2062 // headers for vips operations
2063 // this file is generated automatically, do not edit!
2064
2070 VImage CMC2LCh(VOption *options = nullptr) const;
2071
2077 VImage CMYK2XYZ(VOption *options = nullptr) const;
2078
2084 VImage HSV2sRGB(VOption *options = nullptr) const;
2085
2091 VImage LCh2CMC(VOption *options = nullptr) const;
2092
2098 VImage LCh2Lab(VOption *options = nullptr) const;
2099
2105 VImage Lab2LCh(VOption *options = nullptr) const;
2106
2112 VImage Lab2LabQ(VOption *options = nullptr) const;
2113
2119 VImage Lab2LabS(VOption *options = nullptr) const;
2120
2130 VImage Lab2XYZ(VOption *options = nullptr) const;
2131
2137 VImage LabQ2Lab(VOption *options = nullptr) const;
2138
2144 VImage LabQ2LabS(VOption *options = nullptr) const;
2145
2151 VImage LabQ2sRGB(VOption *options = nullptr) const;
2152
2158 VImage LabS2Lab(VOption *options = nullptr) const;
2159
2165 VImage LabS2LabQ(VOption *options = nullptr) const;
2166
2172 VImage XYZ2CMYK(VOption *options = nullptr) const;
2173
2183 VImage XYZ2Lab(VOption *options = nullptr) const;
2184
2190 VImage XYZ2Yxy(VOption *options = nullptr) const;
2191
2197 VImage XYZ2scRGB(VOption *options = nullptr) const;
2198
2204 VImage Yxy2XYZ(VOption *options = nullptr) const;
2205
2211 VImage abs(VOption *options = nullptr) const;
2212
2219 VImage add(VImage right, VOption *options = nullptr) const;
2220
2239 VImage affine(std::vector<double> matrix, VOption *options = nullptr) const;
2240
2254 static VImage analyzeload(const char *filename, VOption *options = nullptr);
2255
2272 static VImage arrayjoin(std::vector<VImage> in, VOption *options = nullptr);
2273
2279 VImage autorot(VOption *options = nullptr) const;
2280
2286 double avg(VOption *options = nullptr) const;
2287
2294 VImage bandbool(VipsOperationBoolean boolean, VOption *options = nullptr) const;
2295
2305 VImage bandfold(VOption *options = nullptr) const;
2306
2313 static VImage bandjoin(std::vector<VImage> in, VOption *options = nullptr);
2314
2321 VImage bandjoin_const(std::vector<double> c, VOption *options = nullptr) const;
2322
2328 VImage bandmean(VOption *options = nullptr) const;
2329
2340 static VImage bandrank(std::vector<VImage> in, VOption *options = nullptr);
2341
2351 VImage bandunfold(VOption *options = nullptr) const;
2352
2364 static VImage black(int width, int height, VOption *options = nullptr);
2365
2373 VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options = nullptr) const;
2374
2382 VImage boolean_const(VipsOperationBoolean boolean, std::vector<double> c, VOption *options = nullptr) const;
2383
2389 VImage buildlut(VOption *options = nullptr) const;
2390
2396 VImage byteswap(VOption *options = nullptr) const;
2397
2409 VImage cache(VOption *options = nullptr) const;
2410
2421 VImage canny(VOption *options = nullptr) const;
2422
2429 VImage case_image(std::vector<VImage> cases, VOption *options = nullptr) const;
2430
2441 VImage cast(VipsBandFormat format, VOption *options = nullptr) const;
2442
2453 VImage colourspace(VipsInterpretation space, VOption *options = nullptr) const;
2454
2470 VImage compass(VImage mask, VOption *options = nullptr) const;
2471
2478 VImage complex(VipsOperationComplex cmplx, VOption *options = nullptr) const;
2479
2487 VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options = nullptr) const;
2488
2495 VImage complexform(VImage right, VOption *options = nullptr) const;
2496
2503 VImage complexget(VipsOperationComplexget get, VOption *options = nullptr) const;
2504
2519 static VImage composite(std::vector<VImage> in, std::vector<int> mode, VOption *options = nullptr);
2520
2535 VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options = nullptr) const;
2536
2549 VImage conv(VImage mask, VOption *options = nullptr) const;
2550
2562 VImage conva(VImage mask, VOption *options = nullptr) const;
2563
2574 VImage convasep(VImage mask, VOption *options = nullptr) const;
2575
2582 VImage convf(VImage mask, VOption *options = nullptr) const;
2583
2590 VImage convi(VImage mask, VOption *options = nullptr) const;
2591
2604 VImage convsep(VImage mask, VOption *options = nullptr) const;
2605
2624 VImage copy(VOption *options = nullptr) const;
2625
2632 double countlines(VipsDirection direction, VOption *options = nullptr) const;
2633
2643 VImage crop(int left, int top, int width, int height, VOption *options = nullptr) const;
2644
2662 static VImage csvload(const char *filename, VOption *options = nullptr);
2663
2681 static VImage csvload_source(VSource source, VOption *options = nullptr);
2682
2696 void csvsave(const char *filename, VOption *options = nullptr) const;
2697
2711 void csvsave_target(VTarget target, VOption *options = nullptr) const;
2712
2719 VImage dE00(VImage right, VOption *options = nullptr) const;
2720
2727 VImage dE76(VImage right, VOption *options = nullptr) const;
2728
2735 VImage dECMC(VImage right, VOption *options = nullptr) const;
2736
2742 double deviate(VOption *options = nullptr) const;
2743
2750 VImage divide(VImage right, VOption *options = nullptr) const;
2751
2764 void draw_circle(std::vector<double> ink, int cx, int cy, int radius, VOption *options = nullptr) const;
2765
2778 void draw_flood(std::vector<double> ink, int x, int y, VOption *options = nullptr) const;
2779
2791 void draw_image(VImage sub, int x, int y, VOption *options = nullptr) const;
2792
2802 void draw_line(std::vector<double> ink, int x1, int y1, int x2, int y2, VOption *options = nullptr) const;
2803
2812 void draw_mask(std::vector<double> ink, VImage mask, int x, int y, VOption *options = nullptr) const;
2813
2827 void draw_rect(std::vector<double> ink, int left, int top, int width, int height, VOption *options = nullptr) const;
2828
2837 void draw_smudge(int left, int top, int width, int height, VOption *options = nullptr) const;
2838
2865 void dzsave(const char *filename, VOption *options = nullptr) const;
2866
2893 VipsBlob *dzsave_buffer(VOption *options = nullptr) const;
2894
2921 void dzsave_target(VTarget target, VOption *options = nullptr) const;
2922
2937 VImage embed(int x, int y, int width, int height, VOption *options = nullptr) const;
2938
2948 VImage extract_area(int left, int top, int width, int height, VOption *options = nullptr) const;
2949
2960 VImage extract_band(int band, VOption *options = nullptr) const;
2961
2974 static VImage eye(int width, int height, VOption *options = nullptr);
2975
2981 VImage falsecolour(VOption *options = nullptr) const;
2982
2989 VImage fastcor(VImage ref, VOption *options = nullptr) const;
2990
2996 VImage fill_nearest(VOption *options = nullptr) const;
2997
3012 int find_trim(int *top, int *width, int *height, VOption *options = nullptr) const;
3013
3027 static VImage fitsload(const char *filename, VOption *options = nullptr);
3028
3042 static VImage fitsload_source(VSource source, VOption *options = nullptr);
3043
3056 void fitssave(const char *filename, VOption *options = nullptr) const;
3057
3068 VImage flatten(VOption *options = nullptr) const;
3069
3076 VImage flip(VipsDirection direction, VOption *options = nullptr) const;
3077
3083 VImage float2rad(VOption *options = nullptr) const;
3084
3093 static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options = nullptr);
3094
3101 VImage freqmult(VImage mask, VOption *options = nullptr) const;
3102
3108 VImage fwfft(VOption *options = nullptr) const;
3109
3119 VImage gamma(VOption *options = nullptr) const;
3120
3132 VImage gaussblur(double sigma, VOption *options = nullptr) const;
3133
3146 static VImage gaussmat(double sigma, double min_ampl, VOption *options = nullptr);
3147
3161 static VImage gaussnoise(int width, int height, VOption *options = nullptr);
3162
3170 std::vector<double> getpoint(int x, int y, VOption *options = nullptr) const;
3171
3187 static VImage gifload(const char *filename, VOption *options = nullptr);
3188
3204 static VImage gifload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3205
3221 static VImage gifload_source(VSource source, VOption *options = nullptr);
3222
3242 void gifsave(const char *filename, VOption *options = nullptr) const;
3243
3263 VipsBlob *gifsave_buffer(VOption *options = nullptr) const;
3264
3284 void gifsave_target(VTarget target, VOption *options = nullptr) const;
3285
3296 VImage globalbalance(VOption *options = nullptr) const;
3297
3311 VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options = nullptr) const;
3312
3324 static VImage grey(int width, int height, VOption *options = nullptr);
3325
3334 VImage grid(int tile_height, int across, int down, VOption *options = nullptr) const;
3335
3353 static VImage heifload(const char *filename, VOption *options = nullptr);
3354
3372 static VImage heifload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3373
3391 static VImage heifload_source(VSource source, VOption *options = nullptr);
3392
3412 void heifsave(const char *filename, VOption *options = nullptr) const;
3413
3433 VipsBlob *heifsave_buffer(VOption *options = nullptr) const;
3434
3454 void heifsave_target(VTarget target, VOption *options = nullptr) const;
3455
3461 VImage hist_cum(VOption *options = nullptr) const;
3462
3468 double hist_entropy(VOption *options = nullptr) const;
3469
3479 VImage hist_equal(VOption *options = nullptr) const;
3480
3490 VImage hist_find(VOption *options = nullptr) const;
3491
3502 VImage hist_find_indexed(VImage index, VOption *options = nullptr) const;
3503
3513 VImage hist_find_ndim(VOption *options = nullptr) const;
3514
3520 bool hist_ismonotonic(VOption *options = nullptr) const;
3521
3533 VImage hist_local(int width, int height, VOption *options = nullptr) const;
3534
3541 VImage hist_match(VImage ref, VOption *options = nullptr) const;
3542
3548 VImage hist_norm(VOption *options = nullptr) const;
3549
3555 VImage hist_plot(VOption *options = nullptr) const;
3556
3568 VImage hough_circle(VOption *options = nullptr) const;
3569
3580 VImage hough_line(VOption *options = nullptr) const;
3581
3595 VImage icc_export(VOption *options = nullptr) const;
3596
3610 VImage icc_import(VOption *options = nullptr) const;
3611
3627 VImage icc_transform(const char *output_profile, VOption *options = nullptr) const;
3628
3640 static VImage identity(VOption *options = nullptr);
3641
3653 VImage ifthenelse(VImage in1, VImage in2, VOption *options = nullptr) const;
3654
3668 VImage insert(VImage sub, int x, int y, VOption *options = nullptr) const;
3669
3675 VImage invert(VOption *options = nullptr) const;
3676
3686 VImage invertlut(VOption *options = nullptr) const;
3687
3697 VImage invfft(VOption *options = nullptr) const;
3698
3713 VImage join(VImage in2, VipsDirection direction, VOption *options = nullptr) const;
3714
3729 static VImage jp2kload(const char *filename, VOption *options = nullptr);
3730
3745 static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3746
3761 static VImage jp2kload_source(VSource source, VOption *options = nullptr);
3762
3780 void jp2ksave(const char *filename, VOption *options = nullptr) const;
3781
3799 VipsBlob *jp2ksave_buffer(VOption *options = nullptr) const;
3800
3818 void jp2ksave_target(VTarget target, VOption *options = nullptr) const;
3819
3836 static VImage jpegload(const char *filename, VOption *options = nullptr);
3837
3854 static VImage jpegload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3855
3872 static VImage jpegload_source(VSource source, VOption *options = nullptr);
3873
3895 void jpegsave(const char *filename, VOption *options = nullptr) const;
3896
3918 VipsBlob *jpegsave_buffer(VOption *options = nullptr) const;
3919
3940 void jpegsave_mime(VOption *options = nullptr) const;
3941
3963 void jpegsave_target(VTarget target, VOption *options = nullptr) const;
3964
3978 static VImage jxlload(const char *filename, VOption *options = nullptr);
3979
3993 static VImage jxlload_buffer(VipsBlob *buffer, VOption *options = nullptr);
3994
4008 static VImage jxlload_source(VSource source, VOption *options = nullptr);
4009
4027 void jxlsave(const char *filename, VOption *options = nullptr) const;
4028
4046 VipsBlob *jxlsave_buffer(VOption *options = nullptr) const;
4047
4065 void jxlsave_target(VTarget target, VOption *options = nullptr) const;
4066
4072 VImage labelregions(VOption *options = nullptr) const;
4073
4085 VImage linear(std::vector<double> a, std::vector<double> b, VOption *options = nullptr) const;
4086
4099 VImage linecache(VOption *options = nullptr) const;
4100
4113 static VImage logmat(double sigma, double min_ampl, VOption *options = nullptr);
4114
4131 static VImage magickload(const char *filename, VOption *options = nullptr);
4132
4149 static VImage magickload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4150
4168 void magicksave(const char *filename, VOption *options = nullptr) const;
4169
4187 VipsBlob *magicksave_buffer(VOption *options = nullptr) const;
4188
4202 VImage mapim(VImage index, VOption *options = nullptr) const;
4203
4214 VImage maplut(VImage lut, VOption *options = nullptr) const;
4215
4233 static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options = nullptr);
4234
4254 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);
4255
4274 static VImage mask_butterworth_ring(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = nullptr);
4275
4291 static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options = nullptr);
4292
4309 static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options = nullptr);
4310
4329 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);
4330
4348 static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = nullptr);
4349
4365 static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options = nullptr);
4366
4384 static VImage mask_ideal_band(int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options = nullptr);
4385
4402 static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options = nullptr);
4403
4425 VImage match(VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options = nullptr) const;
4426
4433 VImage math(VipsOperationMath math, VOption *options = nullptr) const;
4434
4442 VImage math2(VImage right, VipsOperationMath2 math2, VOption *options = nullptr) const;
4443
4451 VImage math2_const(VipsOperationMath2 math2, std::vector<double> c, VOption *options = nullptr) const;
4452
4466 static VImage matload(const char *filename, VOption *options = nullptr);
4467
4473 VImage matrixinvert(VOption *options = nullptr) const;
4474
4488 static VImage matrixload(const char *filename, VOption *options = nullptr);
4489
4503 static VImage matrixload_source(VSource source, VOption *options = nullptr);
4504
4516 void matrixprint(VOption *options = nullptr) const;
4517
4530 void matrixsave(const char *filename, VOption *options = nullptr) const;
4531
4544 void matrixsave_target(VTarget target, VOption *options = nullptr) const;
4545
4555 double max(VOption *options = nullptr) const;
4556
4571 VImage measure(int h, int v, VOption *options = nullptr) const;
4572
4586 VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options = nullptr) const;
4587
4597 double min(VOption *options = nullptr) const;
4598
4606 VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options = nullptr) const;
4607
4626 VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options = nullptr) const;
4627
4651 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;
4652
4662 VImage msb(VOption *options = nullptr) const;
4663
4670 VImage multiply(VImage right, VOption *options = nullptr) const;
4671
4685 static VImage niftiload(const char *filename, VOption *options = nullptr);
4686
4700 static VImage niftiload_source(VSource source, VOption *options = nullptr);
4701
4714 void niftisave(const char *filename, VOption *options = nullptr) const;
4715
4729 static VImage openexrload(const char *filename, VOption *options = nullptr);
4730
4749 static VImage openslideload(const char *filename, VOption *options = nullptr);
4750
4769 static VImage openslideload_source(VSource source, VOption *options = nullptr);
4770
4790 static VImage pdfload(const char *filename, VOption *options = nullptr);
4791
4811 static VImage pdfload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4812
4832 static VImage pdfload_source(VSource source, VOption *options = nullptr);
4833
4840 int percent(double percent, VOption *options = nullptr) const;
4841
4855 static VImage perlin(int width, int height, VOption *options = nullptr);
4856
4863 VImage phasecor(VImage in2, VOption *options = nullptr) const;
4864
4879 static VImage pngload(const char *filename, VOption *options = nullptr);
4880
4895 static VImage pngload_buffer(VipsBlob *buffer, VOption *options = nullptr);
4896
4911 static VImage pngload_source(VSource source, VOption *options = nullptr);
4912
4933 void pngsave(const char *filename, VOption *options = nullptr) const;
4934
4955 VipsBlob *pngsave_buffer(VOption *options = nullptr) const;
4956
4977 void pngsave_target(VTarget target, VOption *options = nullptr) const;
4978
4992 static VImage ppmload(const char *filename, VOption *options = nullptr);
4993
5007 static VImage ppmload_source(VSource source, VOption *options = nullptr);
5008
5024 void ppmsave(const char *filename, VOption *options = nullptr) const;
5025
5041 void ppmsave_target(VTarget target, VOption *options = nullptr) const;
5042
5052 VImage premultiply(VOption *options = nullptr) const;
5053
5059 VImage prewitt(VOption *options = nullptr) const;
5060
5067 VImage profile(VImage *rows, VOption *options = nullptr) const;
5068
5075 static VipsBlob *profile_load(const char *name, VOption *options = nullptr);
5076
5083 VImage project(VImage *rows, VOption *options = nullptr) const;
5084
5095 VImage quadratic(VImage coeff, VOption *options = nullptr) const;
5096
5102 VImage rad2float(VOption *options = nullptr) const;
5103
5117 static VImage radload(const char *filename, VOption *options = nullptr);
5118
5132 static VImage radload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5133
5147 static VImage radload_source(VSource source, VOption *options = nullptr);
5148
5161 void radsave(const char *filename, VOption *options = nullptr) const;
5162
5175 VipsBlob *radsave_buffer(VOption *options = nullptr) const;
5176
5189 void radsave_target(VTarget target, VOption *options = nullptr) const;
5190
5199 VImage rank(int width, int height, int index, VOption *options = nullptr) const;
5200
5220 static VImage rawload(const char *filename, int width, int height, int bands, VOption *options = nullptr);
5221
5234 void rawsave(const char *filename, VOption *options = nullptr) const;
5235
5248 void rawsave_fd(int fd, VOption *options = nullptr) const;
5249
5256 VImage recomb(VImage m, VOption *options = nullptr) const;
5257
5270 VImage reduce(double hshrink, double vshrink, VOption *options = nullptr) const;
5271
5283 VImage reduceh(double hshrink, VOption *options = nullptr) const;
5284
5296 VImage reducev(double vshrink, VOption *options = nullptr) const;
5297
5306
5314 VImage relational_const(VipsOperationRelational relational, std::vector<double> c, VOption *options = nullptr) const;
5315
5322 VImage remainder(VImage right, VOption *options = nullptr) const;
5323
5330 VImage remainder_const(std::vector<double> c, VOption *options = nullptr) const;
5331
5339 VImage replicate(int across, int down, VOption *options = nullptr) const;
5340
5353 VImage resize(double scale, VOption *options = nullptr) const;
5354
5361 VImage rot(VipsAngle angle, VOption *options = nullptr) const;
5362
5372 VImage rot45(VOption *options = nullptr) const;
5373
5389 VImage rotate(double angle, VOption *options = nullptr) const;
5390
5397 VImage round(VipsOperationRound round, VOption *options = nullptr) const;
5398
5404 VImage sRGB2HSV(VOption *options = nullptr) const;
5405
5411 VImage sRGB2scRGB(VOption *options = nullptr) const;
5412
5422 VImage scRGB2BW(VOption *options = nullptr) const;
5423
5429 VImage scRGB2XYZ(VOption *options = nullptr) const;
5430
5440 VImage scRGB2sRGB(VOption *options = nullptr) const;
5441
5452 VImage scale(VOption *options = nullptr) const;
5453
5459 VImage scharr(VOption *options = nullptr) const;
5460
5470 VImage sequential(VOption *options = nullptr) const;
5471
5486 VImage sharpen(VOption *options = nullptr) const;
5487
5499 VImage shrink(double hshrink, double vshrink, VOption *options = nullptr) const;
5500
5511 VImage shrinkh(int hshrink, VOption *options = nullptr) const;
5512
5523 VImage shrinkv(int vshrink, VOption *options = nullptr) const;
5524
5530 VImage sign(VOption *options = nullptr) const;
5531
5548 VImage similarity(VOption *options = nullptr) const;
5549
5563 static VImage sines(int width, int height, VOption *options = nullptr);
5564
5577 VImage smartcrop(int width, int height, VOption *options = nullptr) const;
5578
5584 VImage sobel(VOption *options = nullptr) const;
5585
5592 VImage spcor(VImage ref, VOption *options = nullptr) const;
5593
5599 VImage spectrum(VOption *options = nullptr) const;
5600
5606 VImage stats(VOption *options = nullptr) const;
5607
5622 VImage stdif(int width, int height, VOption *options = nullptr) const;
5623
5635 VImage subsample(int xfac, int yfac, VOption *options = nullptr) const;
5636
5643 VImage subtract(VImage right, VOption *options = nullptr) const;
5644
5651 static VImage sum(std::vector<VImage> in, VOption *options = nullptr);
5652
5669 static VImage svgload(const char *filename, VOption *options = nullptr);
5670
5687 static VImage svgload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5688
5705 static VImage svgload_source(VSource source, VOption *options = nullptr);
5706
5713 static VImage switch_image(std::vector<VImage> tests, VOption *options = nullptr);
5714
5726 static void system(const char *cmd_format, VOption *options = nullptr);
5727
5747 static VImage text(const char *text, VOption *options = nullptr);
5748
5768 static VImage thumbnail(const char *filename, int width, VOption *options = nullptr);
5769
5790 static VImage thumbnail_buffer(VipsBlob *buffer, int width, VOption *options = nullptr);
5791
5810 VImage thumbnail_image(int width, VOption *options = nullptr) const;
5811
5832 static VImage thumbnail_source(VSource source, int width, VOption *options = nullptr);
5833
5851 static VImage tiffload(const char *filename, VOption *options = nullptr);
5852
5870 static VImage tiffload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5871
5889 static VImage tiffload_source(VSource source, VOption *options = nullptr);
5890
5923 void tiffsave(const char *filename, VOption *options = nullptr) const;
5924
5957 VipsBlob *tiffsave_buffer(VOption *options = nullptr) const;
5958
5991 void tiffsave_target(VTarget target, VOption *options = nullptr) const;
5992
6007 VImage tilecache(VOption *options = nullptr) const;
6008
6027 static VImage tonelut(VOption *options = nullptr);
6028
6038 VImage transpose3d(VOption *options = nullptr) const;
6039
6050 VImage unpremultiply(VOption *options = nullptr) const;
6051
6065 static VImage vipsload(const char *filename, VOption *options = nullptr);
6066
6080 static VImage vipsload_source(VSource source, VOption *options = nullptr);
6081
6094 void vipssave(const char *filename, VOption *options = nullptr) const;
6095
6108 void vipssave_target(VTarget target, VOption *options = nullptr) const;
6109
6126 static VImage webpload(const char *filename, VOption *options = nullptr);
6127
6144 static VImage webpload_buffer(VipsBlob *buffer, VOption *options = nullptr);
6145
6162 static VImage webpload_source(VSource source, VOption *options = nullptr);
6163
6187 void webpsave(const char *filename, VOption *options = nullptr) const;
6188
6212 VipsBlob *webpsave_buffer(VOption *options = nullptr) const;
6213
6236 void webpsave_mime(VOption *options = nullptr) const;
6237
6261 void webpsave_target(VTarget target, VOption *options = nullptr) const;
6262
6275 static VImage worley(int width, int height, VOption *options = nullptr);
6276
6287 VImage wrap(VOption *options = nullptr) const;
6288
6302 static VImage xyz(int width, int height, VOption *options = nullptr);
6303
6315 static VImage zone(int width, int height, VOption *options = nullptr);
6316
6324 VImage zoom(int xfac, int yfac, VOption *options = nullptr) const;
6325};
6326
6327VIPS_NAMESPACE_END
6328
6329#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:1533
VImage rint(VOption *options=nullptr) const
Definition VImage8.h:1293
VImage fastcor(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:1025
VImage scRGB2sRGB(VOption *options=nullptr) const
Definition vips-operators.cpp:3129
void niftisave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2476
void set(const char *field, double *value, int n)
Definition VImage8.h:621
VImage flatten(VOption *options=nullptr) const
Definition vips-operators.cpp:1097
VImage convi(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:679
double xres() const
Definition VImage8.h:500
static VImage bandrank(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:382
VImage sign(VOption *options=nullptr) const
Definition vips-operators.cpp:3229
VImage stdif(int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:3329
static VImage svgload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3406
static VImage new_from_memory(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition VImage8.h:922
static VImage switch_image(std::vector< VImage > tests, VOption *options=nullptr)
Definition vips-operators.cpp:3418
VImage conv(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:627
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:2062
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:1262
int get_int(const char *field) const
Definition VImage8.h:689
static VImage radload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2786
VipsBlob * tiffsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:3545
static VImage zone(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3761
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:1732
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:2639
double deviate(VOption *options=nullptr) const
Definition vips-operators.cpp:825
VImage fill_nearest(VOption *options=nullptr) const
Definition vips-operators.cpp:1038
const char * filename() const
Definition VImage8.h:546
VImage wop(VImage other, VOption *options=nullptr) const
Definition VImage8.h:1556
void rawsave_fd(int fd, VOption *options=nullptr) const
Definition vips-operators.cpp:2888
VImage msb(VOption *options=nullptr) const
Definition vips-operators.cpp:2427
VImage hough_circle(VOption *options=nullptr) const
Definition vips-operators.cpp:1557
static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options=nullptr)
Definition vips-operators.cpp:2171
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:2155
VImage subsample(int xfac, int yfac, VOption *options=nullptr) const
Definition vips-operators.cpp:3343
VImage matrixinvert(VOption *options=nullptr) const
Definition vips-operators.cpp:2260
VImage divide(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:837
VImage gaussblur(double sigma, VOption *options=nullptr) const
Definition vips-operators.cpp:1185
VImage extract_area(int left, int top, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:971
VImage replicate(int across, int down, VOption *options=nullptr) const
Definition vips-operators.cpp:3003
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:3696
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:2108
VImage copy(VOption *options=nullptr) const
Definition vips-operators.cpp:705
static VImage fitsload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1065
VImage cache(VOption *options=nullptr) const
Definition vips-operators.cpp:471
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:3664
static VImage vipsload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3624
static VImage heifload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1369
void fitssave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1089
VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options=nullptr) const
Definition vips-operators.cpp:2373
static VImage matrixload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2284
static VImage gifload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1250
void gifsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1294
VImage Yxy2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:222
static VImage csvload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:746
static VImage pngload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2595
VImage rot45(VOption *options=nullptr) const
Definition vips-operators.cpp:3043
static VImage new_memory()
Definition VImage8.h:856
static VImage jpegload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1784
void jp2ksave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1764
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:916
void set(const char *field, int value)
Definition VImage8.h:587
VImage conva(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:640
VImage gamma(VOption *options=nullptr) const
Definition vips-operators.cpp:1173
VImage sin(VOption *options=nullptr) const
Definition VImage8.h:1383
void csvsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:778
VImage hist_match(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:1520
static VImage jpegload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1796
VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options=nullptr) const
Definition vips-operators.cpp:419
VImage byteswap(VOption *options=nullptr) const
Definition vips-operators.cpp:459
VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options=nullptr) const
Definition vips-operators.cpp:2345
static VImage jp2kload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1708
static VImage vipsload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3612
VImage project(VImage *rows, VOption *options=nullptr) const
Definition vips-operators.cpp:2748
VImage recomb(VImage m, VOption *options=nullptr) const
Definition vips-operators.cpp:2896
static VImage jxlload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1867
VImage write(VImage out) const
Definition VImage.cpp:680
static VImage tiffload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:3513
VImage rotate(double angle, VOption *options=nullptr) const
Definition vips-operators.cpp:3055
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:357
static VImage sum(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:3370
VipsBlob * jxlsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1887
VImage wrap(VOption *options=nullptr) const
Definition vips-operators.cpp:3736
static VImage niftiload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2464
VImage affine(std::vector< double > matrix, VOption *options=nullptr) const
Definition vips-operators.cpp:259
VImage dE76(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:799
static VImage tiffload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3501
VImage rot90(VOption *options=nullptr) const
Definition VImage8.h:1215
void radsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2822
void jp2ksave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1744
VImage smartcrop(int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:3266
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:1211
static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2141
VImage reduceh(double hshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2923
static VImage new_from_memory_copy(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition VImage8.h:940
VImage case_image(std::vector< VImage > cases, VOption *options=nullptr) const
Definition vips-operators.cpp:495
static VImage pdfload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2520
static VImage fitsload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1077
VImage remainder_const(std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:2990
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:770
static VImage pdfload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2532
VImage bandor(VOption *options=nullptr) const
Definition VImage8.h:1317
VImage convasep(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:653
VImage compass(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:534
static VImage svgload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3382
void magicksave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1982
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:1506
void webpsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:3688
static VImage jpegload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1772
static VImage logmat(double sigma, double min_ampl, VOption *options=nullptr)
Definition vips-operators.cpp:1945
static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options=nullptr)
Definition vips-operators.cpp:2028
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:3280
static VImage xyz(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3748
VipsCoding coding() const
Definition VImage8.h:471
VImage remainder(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:2977
static VImage magickload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1970
VImage LCh2CMC(VOption *options=nullptr) const
Definition vips-operators.cpp:42
VImage spcor(VImage ref, VOption *options=nullptr) const
Definition vips-operators.cpp:3292
static VImage text(const char *text, VOption *options=nullptr)
Definition vips-operators.cpp:3437
VImage hist_cum(VOption *options=nullptr) const
Definition vips-operators.cpp:1421
VImage crop(int left, int top, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:730
void tiffsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:3557
VImage float2rad(VOption *options=nullptr) const
Definition vips-operators.cpp:1122
VImage globalbalance(VOption *options=nullptr) const
Definition vips-operators.cpp:1302
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:308
VImage sequential(VOption *options=nullptr) const
Definition vips-operators.cpp:3165
VipsBlob * radsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:2830
static VImage matrixload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2272
VImage hist_find(VOption *options=nullptr) const
Definition vips-operators.cpp:1457
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:871
void webpsave_mime(VOption *options=nullptr) const
Definition vips-operators.cpp:3708
static VImage pngload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2607
VImage dE00(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:786
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:2405
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:1843
static VImage arrayjoin(std::vector< VImage > in, VOption *options=nullptr)
Definition vips-operators.cpp:284
void matrixprint(VOption *options=nullptr) const
Definition vips-operators.cpp:2296
VImage grid(int tile_height, int across, int down, VOption *options=nullptr) const
Definition vips-operators.cpp:1342
void ppmsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2683
VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:1314
static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1720
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:1198
int find_trim(int *top, int *width, int *height, VOption *options=nullptr) const
Definition vips-operators.cpp:1050
VImage linecache(VOption *options=nullptr) const
Definition vips-operators.cpp:1933
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:2079
VImage fwfft(VOption *options=nullptr) const
Definition vips-operators.cpp:1161
VImage autorot(VOption *options=nullptr) const
Definition vips-operators.cpp:296
VImage phasecor(VImage in2, VOption *options=nullptr) const
Definition vips-operators.cpp:2582
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:3715
VImage resize(double scale, VOption *options=nullptr) const
Definition vips-operators.cpp:3017
static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options=nullptr)
Definition vips-operators.cpp:1134
static VImage gifload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1238
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:2452
VImage complexget(VipsOperationComplexget get, VOption *options=nullptr) const
Definition vips-operators.cpp:587
void matrixsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2303
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:2186
void dzsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:947
VImage pow(std::vector< double > other, VOption *options=nullptr) const
Definition VImage8.h:1546
VImage bandunfold(VOption *options=nullptr) const
Definition vips-operators.cpp:394
VImage reduce(double hshrink, double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2909
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:1990
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:3636
VImage hist_equal(VOption *options=nullptr) const
Definition vips-operators.cpp:1445
VImage hist_find_ndim(VOption *options=nullptr) const
Definition vips-operators.cpp:1482
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:3488
static VipsBlob * profile_load(const char *name, VOption *options=nullptr)
Definition vips-operators.cpp:2736
static VImage openslideload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2496
VImage imag(VOption *options=nullptr) const
Definition VImage8.h:1347
static VImage matload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2248
VImage add(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:246
void rawsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:2880
static VImage thumbnail(const char *filename, int width, VOption *options=nullptr)
Definition vips-operators.cpp:3449
VipsBlob * heifsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1401
VipsBlob * jp2ksave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1752
static VImage pdfload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2544
static VImage eye(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:1000
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:2691
VImage hist_find_indexed(VImage index, VOption *options=nullptr) const
Definition vips-operators.cpp:1469
static VImage radload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2810
static VImage jxlload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:1855
VImage boolean_const(VipsOperationBoolean boolean, std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:433
double hist_entropy(VOption *options=nullptr) const
Definition vips-operators.cpp:1433
VImage dECMC(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:812
VImage copy_memory() const
Definition VImage8.h:1032
static VImage tonelut(VOption *options=nullptr)
Definition vips-operators.cpp:3577
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:2659
VImage insert(VImage sub, int x, int y, VOption *options=nullptr) const
Definition vips-operators.cpp:1643
VImage relational(VImage right, VipsOperationRelational relational, VOption *options=nullptr) const
Definition vips-operators.cpp:2949
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:3093
int percent(double percent, VOption *options=nullptr) const
Definition vips-operators.cpp:2556
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:1581
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:3525
static VImage pngload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2619
void matrixsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2311
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:2093
VImage scharr(VOption *options=nullptr) const
Definition vips-operators.cpp:3153
VImage rot(VipsAngle angle, VOption *options=nullptr) const
Definition vips-operators.cpp:3030
static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=nullptr)
Definition vips-operators.cpp:2125
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:2963
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:692
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:1899
VImage hough_line(VOption *options=nullptr) const
Definition vips-operators.cpp:1569
static VImage csvload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:758
VImage invfft(VOption *options=nullptr) const
Definition vips-operators.cpp:1682
double yres() const
Definition VImage8.h:509
static VImage grey(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:1329
void set(const char *field, std::vector< double > value)
Definition VImage8.h:632
double max(VOption *options=nullptr) const
Definition vips-operators.cpp:2319
static VImage new_from_memory_steal(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition VImage.cpp:640
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:3644
VImage scRGB2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:3117
VImage Lab2XYZ(VOption *options=nullptr) const
Definition vips-operators.cpp:102
void radsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2842
static VImage radload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:2798
int yoffset() const
Definition VImage8.h:527
VImage complexform(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:574
static VImage black(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:406
VImage falsecolour(VOption *options=nullptr) const
Definition vips-operators.cpp:1013
VipsBlob * jpegsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1816
VipsInterpretation interpretation() const
Definition VImage8.h:481
static VImage identity(VOption *options=nullptr)
Definition vips-operators.cpp:1618
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:1274
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:2220
VImage spectrum(VOption *options=nullptr) const
Definition vips-operators.cpp:3305
static VImage worley(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3723
VImage sRGB2HSV(VOption *options=nullptr) const
Definition vips-operators.cpp:3081
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:613
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:3317
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:370
VImage embed(int x, int y, int width, int height, VOption *options=nullptr) const
Definition vips-operators.cpp:955
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:2044
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:1958
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:2569
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:3537
static VImage openexrload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:2484
VImage shrinkh(int hshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3203
VImage hist_plot(VOption *options=nullptr) const
Definition vips-operators.cpp:1545
VImage tanh(VOption *options=nullptr) const
Definition VImage8.h:1455
VImage zoom(int xfac, int yfac, VOption *options=nullptr) const
Definition vips-operators.cpp:3774
VImage bandfold(VOption *options=nullptr) const
Definition vips-operators.cpp:333
VImage premultiply(VOption *options=nullptr) const
Definition vips-operators.cpp:2699
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:3565
static VImage svgload_buffer(VipsBlob *buffer, VOption *options=nullptr)
Definition vips-operators.cpp:3394
static VImage heifload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:1357
VImage prewitt(VOption *options=nullptr) const
Definition vips-operators.cpp:2711
VImage LCh2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:54
void heifsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1393
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:272
VImage scRGB2BW(VOption *options=nullptr) const
Definition vips-operators.cpp:3105
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:447
static VImage new_temp_file(const char *file_format=".v")
Definition VImage8.h:866
VImage labelregions(VOption *options=nullptr) const
Definition vips-operators.cpp:1907
VImage multiply(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:2439
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:2631
bool hist_ismonotonic(VOption *options=nullptr) const
Definition vips-operators.cpp:1494
VImage XYZ2CMYK(VOption *options=nullptr) const
Definition vips-operators.cpp:174
VImage complex(VipsOperationComplex cmplx, VOption *options=nullptr) const
Definition vips-operators.cpp:547
VImage freqmult(VImage mask, VOption *options=nullptr) const
Definition vips-operators.cpp:1148
VImage icc_import(VOption *options=nullptr) const
Definition vips-operators.cpp:1593
VImage rot270(VOption *options=nullptr) const
Definition VImage8.h:1233
void pngsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:2651
VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options=nullptr) const
Definition vips-operators.cpp:2387
VImage sharpen(VOption *options=nullptr) const
Definition vips-operators.cpp:3177
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:2002
VImage quadratic(VImage coeff, VOption *options=nullptr) const
Definition vips-operators.cpp:2761
static void system(const char *cmd_format, VOption *options=nullptr)
Definition vips-operators.cpp:3430
VImage shrink(double hshrink, double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3189
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:666
VImage profile(VImage *rows, VOption *options=nullptr) const
Definition vips-operators.cpp:2723
VImage extract_band(int band, VOption *options=nullptr) const
Definition vips-operators.cpp:987
VImage bandbool(VipsOperationBoolean boolean, VOption *options=nullptr) const
Definition vips-operators.cpp:320
VipsBandFormat format() const
Definition VImage8.h:462
VImage math2_const(VipsOperationMath2 math2, std::vector< double > c, VOption *options=nullptr) const
Definition vips-operators.cpp:2234
VImage transpose3d(VOption *options=nullptr) const
Definition vips-operators.cpp:3588
VImage reducev(double vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:2936
void dzsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:927
static VImage webpload(const char *filename, VOption *options=nullptr)
Definition vips-operators.cpp:3652
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:521
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
void jpegsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1835
VImage cosh(VOption *options=nullptr) const
Definition VImage8.h:1446
double countlines(VipsDirection direction, VOption *options=nullptr) const
Definition vips-operators.cpp:717
VImage icc_transform(const char *output_profile, VOption *options=nullptr) const
Definition vips-operators.cpp:1605
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:2774
static VImage sines(int width, int height, VOption *options=nullptr)
Definition vips-operators.cpp:3253
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:1109
VImage math(VipsOperationMath math, VOption *options=nullptr) const
Definition vips-operators.cpp:2207
VImage similarity(VOption *options=nullptr) const
Definition vips-operators.cpp:3241
VImage unpremultiply(VOption *options=nullptr) const
Definition vips-operators.cpp:3600
VImage maplut(VImage lut, VOption *options=nullptr) const
Definition vips-operators.cpp:2015
VipsBlob * gifsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:1282
static VImage ppmload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2671
void jpegsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1808
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:1658
int xoffset() const
Definition VImage8.h:518
VImage rank(int width, int height, int index, VOption *options=nullptr) const
Definition vips-operators.cpp:2850
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:2865
void jpegsave_mime(VOption *options=nullptr) const
Definition vips-operators.cpp:1828
static VImage heifload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:1381
VImage XYZ2Lab(VOption *options=nullptr) const
Definition vips-operators.cpp:186
static VImage openslideload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:2508
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:2361
VImage invertlut(VOption *options=nullptr) const
Definition vips-operators.cpp:1670
static VOption * option()
Definition VImage8.h:832
VImage measure(int h, int v, VOption *options=nullptr) const
Definition vips-operators.cpp:2331
void jxlsave(const char *filename, VOption *options=nullptr) const
Definition vips-operators.cpp:1879
VImage wop(double other, VOption *options=nullptr) const
Definition VImage8.h:1565
VImage round(VipsOperationRound round, VOption *options=nullptr) const
Definition vips-operators.cpp:3068
std::vector< double > getpoint(int x, int y, VOption *options=nullptr) const
Definition vips-operators.cpp:1224
VImage subtract(VImage right, VOption *options=nullptr) const
Definition vips-operators.cpp:3357
VImage scale(VOption *options=nullptr) const
Definition vips-operators.cpp:3141
VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options=nullptr) const
Definition vips-operators.cpp:560
VImage acosh(VOption *options=nullptr) const
Definition VImage8.h:1473
VipsBlob * dzsave_buffer(VOption *options=nullptr) const
Definition vips-operators.cpp:935
VImage thumbnail_image(int width, VOption *options=nullptr) const
Definition vips-operators.cpp:3475
VImage shrinkv(int vshrink, VOption *options=nullptr) const
Definition vips-operators.cpp:3216
VImage conj(VOption *options=nullptr) const
Definition VImage8.h:1374
static VImage webpload_source(VSource source, VOption *options=nullptr)
Definition vips-operators.cpp:3676
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:1694
void heifsave_target(VTarget target, VOption *options=nullptr) const
Definition vips-operators.cpp:1413
VImage canny(VOption *options=nullptr) const
Definition vips-operators.cpp:483
VImage cast(VipsBandFormat format, VOption *options=nullptr) const
Definition vips-operators.cpp:508
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