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