vips-cpp 8.13
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 VRegion;
193class VIPS_CPLUSPLUS_API VSource;
194class VIPS_CPLUSPLUS_API VTarget;
195class VIPS_CPLUSPLUS_API VOption;
196
218class VOption {
219private:
220 struct Pair {
221 const char *name;
222
223 // the thing we pass to and from our caller
224 GValue value;
225
226 // an input or output parameter ... we guess the direction
227 // from the arg to set()
228 bool input;
229
230 // the pointer we write output values to
231 union {
232 bool *vbool;
233 int *vint;
234 double *vdouble;
235 VImage *vimage;
236 std::vector<double> *vvector;
237 VipsBlob **vblob;
238 };
239
240 Pair( const char *name ) :
241 name( name ), input( false ), vimage( 0 )
242 {
243 // argh = {0} won't work wil vanilla C++
244 memset( &value, 0, sizeof( GValue ) );
245 }
246
247 ~Pair()
248 {
249 g_value_unset( &value );
250 }
251 };
252
253 std::list<Pair *> options;
254
255public:
256 VOption()
257 {
258 }
259
260 virtual ~VOption();
261
265 VOption *
266 set( const char *name, bool value );
267
272 VOption *
273 set( const char *name, int value );
274
278 VOption *
279 set( const char *name, guint64 value );
280
284 VOption *
285 set( const char *name, double value );
286
292 VOption *
293 set( const char *name, const char *value );
294
301 VOption *
302 set( const char *name, const VObject value );
303
309 VOption *
310 set( const char *name, std::vector<int> value );
311
317 VOption *
318 set( const char *name, std::vector<double> value );
319
325 VOption *
326 set( const char *name, std::vector<VImage> value );
327
334 VOption *
335 set( const char *name, VipsBlob *value );
336
340 VOption *
341 set( const char *name, bool *value );
342
346 VOption *
347 set( const char *name, int *value );
348
352 VOption *
353 set( const char *name, double *value );
354
358 VOption *
359 set( const char *name, VImage *value );
360
364 VOption *
365 set( const char *name, std::vector<double> *value );
366
371 VOption *
372 set( const char *name, VipsBlob **blob );
373
378 void
379 set_operation( VipsOperation *operation );
380
385 void
386 get_operation( VipsOperation *operation );
387
388};
389
405class VImage : public VObject
406{
407public:
408 using VObject::is_null;
409
416 VImage( VipsImage *image, VSteal steal = STEAL ) :
417 VObject( (VipsObject *) image, steal )
418 {
419 }
420
425 VObject( 0 )
426 {
427 }
428
434 VipsImage *
435 get_image() const
436 {
437 return( (VipsImage *) VObject::get_object() );
438 }
439
443 int
444 width() const
445 {
446 return( vips_image_get_width( get_image() ) );
447 }
448
452 int
453 height() const
454 {
455 return( vips_image_get_height( get_image() ) );
456 }
457
461 int
462 bands() const
463 {
464 return( vips_image_get_bands( get_image() ) );
465 }
466
470 VipsBandFormat
471 format() const
472 {
473 return( vips_image_get_format( get_image() ) );
474 }
475
479 VipsCoding
480 coding() const
481 {
482 return( vips_image_get_coding( get_image() ) );
483 }
484
489 VipsInterpretation
491 {
492 return( vips_image_get_interpretation( get_image() ) );
493 }
494
499 VipsInterpretation
501 {
502 return( vips_image_guess_interpretation( get_image() ) );
503 }
504
508 double
509 xres() const
510 {
511 return( vips_image_get_xres( get_image() ) );
512 }
513
517 double
518 yres() const
519 {
520 return( vips_image_get_yres( get_image() ) );
521 }
522
526 int
527 xoffset() const
528 {
529 return( vips_image_get_xoffset( get_image() ) );
530 }
531
535 int
536 yoffset() const
537 {
538 return( vips_image_get_yoffset( get_image() ) );
539 }
540
544 bool
545 has_alpha() const
546 {
547 return( vips_image_hasalpha( get_image() ) );
548 }
549
554 const char *
555 filename() const
556 {
557 return( vips_image_get_filename( get_image() ) );
558 }
559
566 const void *
567 data() const
568 {
569 return( vips_image_get_data( get_image() ) );
570 }
571
575 void
576 set( const char *field, int value )
577 {
578 vips_image_set_int( this->get_image(), field, value );
579 }
580
586 void
587 set( const char *field, int *value, int n )
588 {
589 vips_image_set_array_int( this->get_image(), field, value, n );
590 }
591
597 void
598 set( const char *field, std::vector<int> value )
599 {
600 vips_image_set_array_int( this->get_image(), field, &value[0],
601 static_cast<int>( value.size() ) );
602 }
603
609 void
610 set( const char *field, double *value, int n )
611 {
612 vips_image_set_array_double( this->get_image(), field, value, n );
613 }
614
620 void
621 set( const char *field, std::vector<double> value )
622 {
623 vips_image_set_array_double( this->get_image(), field, &value[0],
624 static_cast<int>( value.size() ) );
625 }
626
630 void
631 set( const char *field, double value )
632 {
633 vips_image_set_double( this->get_image(), field, value );
634 }
635
641 void
642 set( const char *field, const char *value )
643 {
644 vips_image_set_string( this->get_image(), field, value );
645 }
646
654 void
655 set( const char *field,
656 VipsCallbackFn free_fn, void *data, size_t length )
657 {
658 vips_image_set_blob( this->get_image(), field,
659 free_fn, data, length );
660 }
661
666 GType
667 get_typeof( const char *field ) const
668 {
669 return( vips_image_get_typeof( this->get_image(), field ) );
670 }
671
677 int
678 get_int( const char *field ) const
679 {
680 int value;
681
682 if( vips_image_get_int( this->get_image(), field, &value ) )
683 throw( VError() );
684
685 return( value );
686 }
687
694 void
695 get_array_int( const char *field, int **out, int *n ) const
696 {
697 if( vips_image_get_array_int( this->get_image(),
698 field, out, n ) )
699 throw( VError() );
700 }
701
707 std::vector<int>
708 get_array_int( const char *field ) const
709 {
710 int length;
711 int *array;
712
713 if( vips_image_get_array_int( this->get_image(),
714 field, &array, &length ) )
715 throw( VError() );
716
717 std::vector<int> vector( array, array + length );
718
719 return( vector );
720 }
721
728 void
729 get_array_double( const char *field, double **out, int *n ) const
730 {
731 if( vips_image_get_array_double( this->get_image(),
732 field, out, n ) )
733 throw( VError() );
734 }
735
741 std::vector<double>
742 get_array_double( const char *field ) const
743 {
744 int length;
745 double *array;
746
747 if( vips_image_get_array_double( this->get_image(),
748 field, &array, &length ) )
749 throw( VError() );
750
751 std::vector<double> vector( array, array + length );
752
753 return( vector );
754 }
755
761 double
762 get_double( const char *field ) const
763 {
764 double value;
765
766 if( vips_image_get_double( this->get_image(), field, &value ) )
767 throw( VError() );
768
769 return( value );
770 }
771
778 const char *
779 get_string( const char *field ) const
780 {
781 const char *value;
782
783 if( vips_image_get_string( this->get_image(), field, &value ) )
784 throw( VError() );
785
786 return( value );
787 }
788
795 const void *
796 get_blob( const char *field, size_t *length ) const
797 {
798 const void *value;
799
800 if( vips_image_get_blob( this->get_image(), field,
801 &value, length ) )
802 throw( VError() );
803
804 return( value );
805 }
806
811 bool
812 remove( const char *name ) const
813 {
814 return( vips_image_remove( get_image(), name ) );
815 }
816
820 static VOption *
822 {
823 return( new VOption() );
824 }
825
830 static void
831 call_option_string( const char *operation_name,
832 const char *option_string, VOption *options = 0 );
833
837 static void
838 call( const char *operation_name, VOption *options = 0 );
839
844 static VImage
846 {
847 return( VImage( vips_image_new_memory() ) );
848 }
849
854 static VImage
855 new_temp_file( const char *file_format = ".v" )
856 {
857 VipsImage *image;
858
859 if( !(image = vips_image_new_temp_file( file_format )) )
860 throw( VError() );
861
862 return( VImage( image ) );
863 }
864
871 static VImage
872 new_from_file( const char *name, VOption *options = 0 );
873
881 static VImage
882 new_from_buffer( const void *buf, size_t len,
883 const char *option_string, VOption *options = 0 );
884
892 static VImage
893 new_from_buffer( const std::string &buf,
894 const char *option_string, VOption *options = 0 );
895
902 static VImage
903 new_from_source( VSource source,
904 const char *option_string, VOption *options = 0 );
905
910 static VImage
911 new_from_memory( void *data, size_t size,
912 int width, int height, int bands, VipsBandFormat format )
913 {
914 VipsImage *image;
915
916 if( !(image = vips_image_new_from_memory( data, size,
917 width, height, bands, format )) )
918 throw( VError() );
919
920 return( VImage( image ) );
921 }
922
930 static VImage
931 new_from_memory_steal( void *data, size_t size,
932 int width, int height, int bands, VipsBandFormat format );
933
938 static VImage
939 new_matrix( int width, int height );
940
945 static VImage
946 new_matrix( int width, int height, double *array, int size )
947 {
948 VipsImage *image;
949
950 if( !(image = vips_image_new_matrix_from_array( width, height,
951 array, size )) )
952 throw( VError() );
953
954 return( VImage( image ) );
955 }
956
961 static VImage
962 new_matrixv( int width, int height, ... );
963
968 VImage
969 new_from_image( std::vector<double> pixel ) const
970 {
971 VipsImage *image;
972
973 if( !(image = vips_image_new_from_image( this->get_image(),
974 &pixel[0], static_cast<int>( pixel.size() ) )) )
975 throw( VError() );
976
977 return( VImage( image ) );
978 }
979
984 VImage
985 new_from_image( double pixel ) const
986 {
987 return( new_from_image( to_vectorv( 1, pixel ) ) );
988 }
989
1002 VImage
1004 {
1005 VipsImage *image;
1006
1007 if( !(image = vips_image_copy_memory( this->get_image() )) )
1008 throw( VError() );
1009
1010 return( VImage( image ) );
1011 }
1012
1016 VImage write( VImage out ) const;
1017
1024 void write_to_file( const char *name, VOption *options = 0 ) const;
1025
1039 void write_to_buffer( const char *suffix, void **buf, size_t *size,
1040 VOption *options = 0 ) const;
1041
1048 void write_to_target( const char *suffix, VTarget target,
1049 VOption *options = 0 ) const;
1050
1054 void *
1055 write_to_memory( size_t *size ) const
1056 {
1057 void *result;
1058
1059 if( !(result = vips_image_write_to_memory( this->get_image(),
1060 size )) )
1061 throw( VError() );
1062
1063 return( result );
1064 }
1065
1069 VRegion
1070 region() const;
1071
1075 VRegion
1076 region( VipsRect *rect ) const;
1077
1081 VRegion
1082 region( int left, int top, int width, int height ) const;
1083
1089 VImage
1090 linear( double a, double b, VOption *options = 0 ) const
1091 {
1092 return( this->linear( to_vector( a ), to_vector( b ),
1093 options ) );
1094 }
1095
1101 VImage
1102 linear( std::vector<double> a, double b, VOption *options = 0 ) const
1103 {
1104 return( this->linear( a, to_vector( b ), options ) );
1105 }
1106
1112 VImage
1113 linear( double a, std::vector<double> b, VOption *options = 0 ) const
1114 {
1115 return( this->linear( to_vector( a ), b, options ) );
1116 }
1117
1121 std::vector<VImage> bandsplit( VOption *options = 0 ) const;
1122
1126 VImage bandjoin( VImage other, VOption *options = 0 ) const;
1127
1132 VImage
1133 bandjoin( double other, VOption *options = 0 ) const
1134 {
1135 return( bandjoin( to_vector( other ), options ) );
1136 }
1137
1142 VImage
1143 bandjoin( std::vector<double> other, VOption *options = 0 ) const
1144 {
1145 return( bandjoin_const( other, options ) );
1146 }
1147
1151 VImage composite( VImage other, VipsBlendMode mode,
1152 VOption *options = 0 ) const;
1153
1157 std::complex<double> minpos( VOption *options = 0 ) const;
1158
1162 std::complex<double> maxpos( VOption *options = 0 ) const;
1163
1167 VImage
1168 fliphor( VOption *options = 0 ) const
1169 {
1170 return( flip( VIPS_DIRECTION_HORIZONTAL, options ) );
1171 }
1172
1176 VImage
1177 flipver( VOption *options = 0 ) const
1178 {
1179 return( flip( VIPS_DIRECTION_VERTICAL, options ) );
1180 }
1181
1185 VImage
1186 rot90( VOption *options = 0 ) const
1187 {
1188 return( rot( VIPS_ANGLE_D90, options ) );
1189 }
1190
1194 VImage
1195 rot180( VOption *options = 0 ) const
1196 {
1197 return( rot( VIPS_ANGLE_D180, options ) );
1198 }
1199
1203 VImage
1204 rot270( VOption *options = 0 ) const
1205 {
1206 return( rot( VIPS_ANGLE_D270, options ) );
1207 }
1208
1214 VImage
1215 dilate( VImage mask, VOption *options = 0 ) const
1216 {
1217 return( morph( mask, VIPS_OPERATION_MORPHOLOGY_DILATE,
1218 options ) );
1219 }
1220
1226 VImage
1227 erode( VImage mask, VOption *options = 0 ) const
1228 {
1229 return( morph( mask, VIPS_OPERATION_MORPHOLOGY_ERODE,
1230 options ) );
1231 }
1232
1236 VImage
1237 median( int size = 3, VOption *options = 0 ) const
1238 {
1239 return( rank( size, size, (size * size) / 2, options ) );
1240 }
1241
1245 VImage
1246 floor( VOption *options = 0 ) const
1247 {
1248 return( round( VIPS_OPERATION_ROUND_FLOOR, options ) );
1249 }
1250
1254 VImage
1255 ceil( VOption *options = 0 ) const
1256 {
1257 return( round( VIPS_OPERATION_ROUND_CEIL, options ) );
1258 }
1259
1263 VImage
1264 rint( VOption *options = 0 ) const
1265 {
1266 return( round( VIPS_OPERATION_ROUND_RINT, options ) );
1267 }
1268
1275 VImage
1276 bandand( VOption *options = 0 ) const
1277 {
1278 return( bandbool( VIPS_OPERATION_BOOLEAN_AND, options ) );
1279 }
1280
1287 VImage
1288 bandor( VOption *options = 0 ) const
1289 {
1290 return( bandbool( VIPS_OPERATION_BOOLEAN_OR, options ) );
1291 }
1292
1299 VImage
1300 bandeor( VOption *options = 0 ) const
1301 {
1302 return( bandbool( VIPS_OPERATION_BOOLEAN_EOR, options ) );
1303 }
1304
1308 VImage
1309 real( VOption *options = 0 ) const
1310 {
1311 return( complexget( VIPS_OPERATION_COMPLEXGET_REAL, options ) );
1312 }
1313
1317 VImage
1318 imag( VOption *options = 0 ) const
1319 {
1320 return( complexget( VIPS_OPERATION_COMPLEXGET_IMAG, options ) );
1321 }
1322
1326 VImage
1327 polar( VOption *options = 0 ) const
1328 {
1329 return( complex( VIPS_OPERATION_COMPLEX_POLAR, options ) );
1330 }
1331
1335 VImage
1336 rect( VOption *options = 0 ) const
1337 {
1338 return( complex( VIPS_OPERATION_COMPLEX_RECT, options ) );
1339 }
1340
1344 VImage
1345 conj( VOption *options = 0 ) const
1346 {
1347 return( complex( VIPS_OPERATION_COMPLEX_CONJ, options ) );
1348 }
1349
1353 VImage
1354 sin( VOption *options = 0 ) const
1355 {
1356 return( math( VIPS_OPERATION_MATH_SIN, options ) );
1357 }
1358
1362 VImage
1363 cos( VOption *options = 0 ) const
1364 {
1365 return( math( VIPS_OPERATION_MATH_COS, options ) );
1366 }
1367
1371 VImage
1372 tan( VOption *options = 0 ) const
1373 {
1374 return( math( VIPS_OPERATION_MATH_TAN, options ) );
1375 }
1376
1380 VImage
1381 asin( VOption *options = 0 ) const
1382 {
1383 return( math( VIPS_OPERATION_MATH_ASIN, options ) );
1384 }
1385
1389 VImage
1390 acos( VOption *options = 0 ) const
1391 {
1392 return( math( VIPS_OPERATION_MATH_ACOS, options ) );
1393 }
1394
1398 VImage
1399 atan( VOption *options = 0 ) const
1400 {
1401 return( math( VIPS_OPERATION_MATH_ATAN, options ) );
1402 }
1403
1407 VImage
1408 sinh( VOption *options = 0 ) const
1409 {
1410 return( math( VIPS_OPERATION_MATH_SINH, options ) );
1411 }
1412
1416 VImage
1417 cosh( VOption *options = 0 ) const
1418 {
1419 return( math( VIPS_OPERATION_MATH_COSH, options ) );
1420 }
1421
1425 VImage
1426 tanh( VOption *options = 0 ) const
1427 {
1428 return( math( VIPS_OPERATION_MATH_TANH, options ) );
1429 }
1430
1434 VImage
1435 asinh( VOption *options = 0 ) const
1436 {
1437 return( math( VIPS_OPERATION_MATH_ASINH, options ) );
1438 }
1439
1443 VImage
1444 acosh( VOption *options = 0 ) const
1445 {
1446 return( math( VIPS_OPERATION_MATH_ACOSH, options ) );
1447 }
1448
1452 VImage
1453 atanh( VOption *options = 0 ) const
1454 {
1455 return( math( VIPS_OPERATION_MATH_ATANH, options ) );
1456 }
1457
1461 VImage
1462 log( VOption *options = 0 ) const
1463 {
1464 return( math( VIPS_OPERATION_MATH_LOG, options ) );
1465 }
1466
1470 VImage
1471 log10( VOption *options = 0 ) const
1472 {
1473 return( math( VIPS_OPERATION_MATH_LOG10, options ) );
1474 }
1475
1479 VImage
1480 exp( VOption *options = 0 ) const
1481 {
1482 return( math( VIPS_OPERATION_MATH_EXP, options ) );
1483 }
1484
1488 VImage
1489 exp10( VOption *options = 0 ) const
1490 {
1491 return( math( VIPS_OPERATION_MATH_EXP10, options ) );
1492 }
1493
1497 VImage
1498 pow( VImage other, VOption *options = 0 ) const
1499 {
1500 return( math2( other, VIPS_OPERATION_MATH2_POW, options ) );
1501 }
1502
1506 VImage
1507 pow( double other, VOption *options = 0 ) const
1508 {
1509 return( math2_const( VIPS_OPERATION_MATH2_POW,
1510 to_vector( other ), options ) );
1511 }
1512
1516 VImage
1517 pow( std::vector<double> other, VOption *options = 0 ) const
1518 {
1519 return( math2_const( VIPS_OPERATION_MATH2_POW,
1520 other, options ) );
1521 }
1522
1526 VImage
1527 wop( VImage other, VOption *options = 0 ) const
1528 {
1529 return( math2( other, VIPS_OPERATION_MATH2_WOP, options ) );
1530 }
1531
1535 VImage
1536 wop( double other, VOption *options = 0 ) const
1537 {
1538 return( math2_const( VIPS_OPERATION_MATH2_WOP,
1539 to_vector( other ), options ) );
1540 }
1541
1545 VImage
1546 wop( std::vector<double> other, VOption *options = 0 ) const
1547 {
1548 return( math2_const( VIPS_OPERATION_MATH2_WOP,
1549 other, options ) );
1550 }
1551
1555 VImage
1556 atan2( VImage other, VOption *options = 0 ) const
1557 {
1558 return( math2( other, VIPS_OPERATION_MATH2_ATAN2, options ) );
1559 }
1560
1564 VImage
1565 atan2( double other, VOption *options = 0 ) const
1566 {
1567 return( math2_const( VIPS_OPERATION_MATH2_ATAN2,
1568 to_vector( other ), options ) );
1569 }
1570
1574 VImage
1575 atan2( std::vector<double> other, VOption *options = 0 ) const
1576 {
1577 return( math2_const( VIPS_OPERATION_MATH2_ATAN2,
1578 other, options ) );
1579 }
1580
1585 VImage
1586 ifthenelse( std::vector<double> th, VImage el,
1587 VOption *options = 0 ) const
1588 {
1589 return( ifthenelse( el.new_from_image( th ), el, options ) );
1590 }
1591
1596 VImage
1597 ifthenelse( VImage th, std::vector<double> el,
1598 VOption *options = 0 ) const
1599 {
1600 return( ifthenelse( th, th.new_from_image( el ), options ) );
1601 }
1602
1607 VImage
1608 ifthenelse( std::vector<double> th, std::vector<double> el,
1609 VOption *options = 0 ) const
1610 {
1611 return( ifthenelse( new_from_image( th ), new_from_image( el ),
1612 options ) );
1613 }
1614
1619 VImage
1620 ifthenelse( double th, VImage el, VOption *options = 0 ) const
1621 {
1622 return( ifthenelse( to_vector( th ), el, options ) );
1623 }
1624
1629 VImage
1630 ifthenelse( VImage th, double el, VOption *options = 0 ) const
1631 {
1632 return( ifthenelse( th, to_vector( el ), options ) );
1633 }
1634
1639 VImage
1640 ifthenelse( double th, double el, VOption *options = 0 ) const
1641 {
1642 return( ifthenelse( to_vector( th ), to_vector( el ),
1643 options ) );
1644 }
1645
1646 // Operator overloads
1647
1648 VImage operator[]( int index ) const;
1649
1650 std::vector<double> operator()( int x, int y ) const;
1651
1652 friend VIPS_CPLUSPLUS_API VImage
1653 operator+( const VImage a, const VImage b );
1654 friend VIPS_CPLUSPLUS_API VImage
1655 operator+( const double a, const VImage b );
1656 friend VIPS_CPLUSPLUS_API VImage
1657 operator+( const VImage a, const double b );
1658 friend VIPS_CPLUSPLUS_API VImage
1659 operator+( const std::vector<double> a, const VImage b );
1660 friend VIPS_CPLUSPLUS_API VImage
1661 operator+( const VImage a, const std::vector<double> b );
1662
1663 friend VIPS_CPLUSPLUS_API VImage &
1664 operator+=( VImage &a, const VImage b );
1665 friend VIPS_CPLUSPLUS_API VImage &
1666 operator+=( VImage &a, const double b );
1667 friend VIPS_CPLUSPLUS_API VImage &
1668 operator+=( VImage &a, const std::vector<double> b );
1669
1670 friend VIPS_CPLUSPLUS_API VImage
1671 operator-( const VImage a, const VImage b );
1672 friend VIPS_CPLUSPLUS_API VImage
1673 operator-( const double a, const VImage b );
1674 friend VIPS_CPLUSPLUS_API VImage
1675 operator-( const VImage a, const double b );
1676 friend VIPS_CPLUSPLUS_API VImage
1677 operator-( const std::vector<double> a, const VImage b );
1678 friend VIPS_CPLUSPLUS_API VImage
1679 operator-( const VImage a, const std::vector<double> b );
1680
1681 friend VIPS_CPLUSPLUS_API VImage &
1682 operator-=( VImage &a, const VImage b );
1683 friend VIPS_CPLUSPLUS_API VImage &
1684 operator-=( VImage &a, const double b );
1685 friend VIPS_CPLUSPLUS_API VImage &
1686 operator-=( VImage &a, const std::vector<double> b );
1687
1688 friend VIPS_CPLUSPLUS_API VImage
1689 operator-( const VImage a );
1690
1691 friend VIPS_CPLUSPLUS_API VImage
1692 operator*( const VImage a, const VImage b );
1693 friend VIPS_CPLUSPLUS_API VImage
1694 operator*( const double a, const VImage b );
1695 friend VIPS_CPLUSPLUS_API VImage
1696 operator*( const VImage a, const double b );
1697 friend VIPS_CPLUSPLUS_API VImage
1698 operator*( const std::vector<double> a, const VImage b );
1699 friend VIPS_CPLUSPLUS_API VImage
1700 operator*( const VImage a, const std::vector<double> b );
1701
1702 friend VIPS_CPLUSPLUS_API VImage &
1703 operator*=( VImage &a, const VImage b );
1704 friend VIPS_CPLUSPLUS_API VImage &
1705 operator*=( VImage &a, const double b );
1706 friend VIPS_CPLUSPLUS_API VImage &
1707 operator*=( VImage &a, const std::vector<double> b );
1708
1709 friend VIPS_CPLUSPLUS_API VImage
1710 operator/( const VImage a, const VImage b );
1711 friend VIPS_CPLUSPLUS_API VImage
1712 operator/( const double a, const VImage b );
1713 friend VIPS_CPLUSPLUS_API VImage
1714 operator/( const VImage a, const double b );
1715 friend VIPS_CPLUSPLUS_API VImage
1716 operator/( const std::vector<double> a, const VImage b );
1717 friend VIPS_CPLUSPLUS_API VImage
1718 operator/( const VImage a, const std::vector<double> b );
1719
1720 friend VIPS_CPLUSPLUS_API VImage &
1721 operator/=( VImage &a, const VImage b );
1722 friend VIPS_CPLUSPLUS_API VImage &
1723 operator/=( VImage &a, const double b );
1724 friend VIPS_CPLUSPLUS_API VImage &
1725 operator/=( VImage &a, const std::vector<double> b );
1726
1727 friend VIPS_CPLUSPLUS_API VImage
1728 operator%( const VImage a, const VImage b );
1729 friend VIPS_CPLUSPLUS_API VImage
1730 operator%( const VImage a, const double b );
1731 friend VIPS_CPLUSPLUS_API VImage
1732 operator%( const VImage a, const std::vector<double> b );
1733
1734 friend VIPS_CPLUSPLUS_API VImage &
1735 operator%=( VImage &a, const VImage b );
1736 friend VIPS_CPLUSPLUS_API VImage &
1737 operator%=( VImage &a, const double b );
1738 friend VIPS_CPLUSPLUS_API VImage &
1739 operator%=( VImage &a, const std::vector<double> b );
1740
1741 friend VIPS_CPLUSPLUS_API VImage
1742 operator<( const VImage a, const VImage b );
1743 friend VIPS_CPLUSPLUS_API VImage
1744 operator<( const double a, const VImage b );
1745 friend VIPS_CPLUSPLUS_API VImage
1746 operator<( const VImage a, const double b );
1747 friend VIPS_CPLUSPLUS_API VImage
1748 operator<( const std::vector<double> a, const VImage b );
1749 friend VIPS_CPLUSPLUS_API VImage
1750 operator<( const VImage a, const std::vector<double> b );
1751
1752 friend VIPS_CPLUSPLUS_API VImage
1753 operator<=( const VImage a, const VImage b );
1754 friend VIPS_CPLUSPLUS_API VImage
1755 operator<=( const double a, const VImage b );
1756 friend VIPS_CPLUSPLUS_API VImage
1757 operator<=( const VImage a, const double b );
1758 friend VIPS_CPLUSPLUS_API VImage
1759 operator<=( const std::vector<double> a, const VImage b );
1760 friend VIPS_CPLUSPLUS_API VImage
1761 operator<=( const VImage a, const std::vector<double> b );
1762
1763 friend VIPS_CPLUSPLUS_API VImage
1764 operator>( const VImage a, const VImage b );
1765 friend VIPS_CPLUSPLUS_API VImage
1766 operator>( const double a, const VImage b );
1767 friend VIPS_CPLUSPLUS_API VImage
1768 operator>( const VImage a, const double b );
1769 friend VIPS_CPLUSPLUS_API VImage
1770 operator>( const std::vector<double> a, const VImage b );
1771 friend VIPS_CPLUSPLUS_API VImage
1772 operator>( const VImage a, const std::vector<double> b );
1773
1774 friend VIPS_CPLUSPLUS_API VImage
1775 operator>=( const VImage a, const VImage b );
1776 friend VIPS_CPLUSPLUS_API VImage
1777 operator>=( const double a, const VImage b );
1778 friend VIPS_CPLUSPLUS_API VImage
1779 operator>=( const VImage a, const double b );
1780 friend VIPS_CPLUSPLUS_API VImage
1781 operator>=( const std::vector<double> a, const VImage b );
1782 friend VIPS_CPLUSPLUS_API VImage
1783 operator>=( const VImage a, const std::vector<double> b );
1784
1785 friend VIPS_CPLUSPLUS_API VImage
1786 operator==( const VImage a, const VImage b );
1787 friend VIPS_CPLUSPLUS_API VImage
1788 operator==( const double a, const VImage b );
1789 friend VIPS_CPLUSPLUS_API VImage
1790 operator==( const VImage a, const double b );
1791 friend VIPS_CPLUSPLUS_API VImage
1792 operator==( const std::vector<double> a, const VImage b );
1793 friend VIPS_CPLUSPLUS_API VImage
1794 operator==( const VImage a, const std::vector<double> b );
1795
1796 friend VIPS_CPLUSPLUS_API VImage
1797 operator!=( const VImage a, const VImage b );
1798 friend VIPS_CPLUSPLUS_API VImage
1799 operator!=( const double a, const VImage b );
1800 friend VIPS_CPLUSPLUS_API VImage
1801 operator!=( const VImage a, const double b );
1802 friend VIPS_CPLUSPLUS_API VImage
1803 operator!=( const std::vector<double> a, const VImage b );
1804 friend VIPS_CPLUSPLUS_API VImage
1805 operator!=( const VImage a, const std::vector<double> b );
1806
1807 friend VIPS_CPLUSPLUS_API VImage
1808 operator&( const VImage a, const VImage b );
1809 friend VIPS_CPLUSPLUS_API VImage
1810 operator&( const double a, const VImage b );
1811 friend VIPS_CPLUSPLUS_API VImage
1812 operator&( const VImage a, const double b );
1813 friend VIPS_CPLUSPLUS_API VImage
1814 operator&( const std::vector<double> a, const VImage b );
1815 friend VIPS_CPLUSPLUS_API VImage
1816 operator&( const VImage a, const std::vector<double> b );
1817
1818 friend VIPS_CPLUSPLUS_API VImage &
1819 operator&=( VImage &a, const VImage b );
1820 friend VIPS_CPLUSPLUS_API VImage &
1821 operator&=( VImage &a, const double b );
1822 friend VIPS_CPLUSPLUS_API VImage &
1823 operator&=( VImage &a, const std::vector<double> b );
1824
1825 friend VIPS_CPLUSPLUS_API VImage
1826 operator|( const VImage a, const VImage b );
1827 friend VIPS_CPLUSPLUS_API VImage
1828 operator|( const double a, const VImage b );
1829 friend VIPS_CPLUSPLUS_API VImage
1830 operator|( const VImage a, const double b );
1831 friend VIPS_CPLUSPLUS_API VImage
1832 operator|( const std::vector<double> a, const VImage b );
1833 friend VIPS_CPLUSPLUS_API VImage
1834 operator|( const VImage a, const std::vector<double> b );
1835
1836 friend VIPS_CPLUSPLUS_API VImage &
1837 operator|=( VImage &a, const VImage b );
1838 friend VIPS_CPLUSPLUS_API VImage &
1839 operator|=( VImage &a, const double b );
1840 friend VIPS_CPLUSPLUS_API VImage &
1841 operator|=( VImage &a, const std::vector<double> b );
1842
1843 friend VIPS_CPLUSPLUS_API VImage
1844 operator^( const VImage a, const VImage b );
1845 friend VIPS_CPLUSPLUS_API VImage
1846 operator^( const double a, const VImage b );
1847 friend VIPS_CPLUSPLUS_API VImage
1848 operator^( const VImage a, const double b );
1849 friend VIPS_CPLUSPLUS_API VImage
1850 operator^( const std::vector<double> a, const VImage b );
1851 friend VIPS_CPLUSPLUS_API VImage
1852 operator^( const VImage a, const std::vector<double> b );
1853
1854 friend VIPS_CPLUSPLUS_API VImage &
1855 operator^=( VImage &a, const VImage b );
1856 friend VIPS_CPLUSPLUS_API VImage &
1857 operator^=( VImage &a, const double b );
1858 friend VIPS_CPLUSPLUS_API VImage &
1859 operator^=( VImage &a, const std::vector<double> b );
1860
1861 friend VIPS_CPLUSPLUS_API VImage
1862 operator<<( const VImage a, const VImage b );
1863 friend VIPS_CPLUSPLUS_API VImage
1864 operator<<( const VImage a, const double b );
1865 friend VIPS_CPLUSPLUS_API VImage
1866 operator<<( const VImage a, const std::vector<double> b );
1867
1868 friend VIPS_CPLUSPLUS_API VImage &
1869 operator<<=( VImage &a, const VImage b );
1870 friend VIPS_CPLUSPLUS_API VImage &
1871 operator<<=( VImage &a, const double b );
1872 friend VIPS_CPLUSPLUS_API VImage &
1873 operator<<=( VImage &a, const std::vector<double> b );
1874
1875 friend VIPS_CPLUSPLUS_API VImage
1876 operator>>( const VImage a, const VImage b );
1877 friend VIPS_CPLUSPLUS_API VImage
1878 operator>>( const VImage a, const double b );
1879 friend VIPS_CPLUSPLUS_API VImage
1880 operator>>( const VImage a, const std::vector<double> b );
1881
1882 friend VIPS_CPLUSPLUS_API VImage &
1883 operator>>=( VImage &a, const VImage b );
1884 friend VIPS_CPLUSPLUS_API VImage &
1885 operator>>=( VImage &a, const double b );
1886 friend VIPS_CPLUSPLUS_API VImage &
1887 operator>>=( VImage &a, const std::vector<double> b );
1888
1889 /* Automatically generated members.
1890 *
1891 * Rebuild with:
1892 *
1893 * make vips-operators
1894 *
1895 * Then delete from here to the end of the class and paste in
1896 * vips-operators.h. We could just #include vips-operators.h, but
1897 * that confuses doxygen.
1898 */
1899
1900// headers for vips operations
1901// this file is generated automatically, do not edit!
1902
1908VImage CMC2LCh( VOption *options = 0 ) const;
1909
1915VImage CMYK2XYZ( VOption *options = 0 ) const;
1916
1922VImage HSV2sRGB( VOption *options = 0 ) const;
1923
1929VImage LCh2CMC( VOption *options = 0 ) const;
1930
1936VImage LCh2Lab( VOption *options = 0 ) const;
1937
1943VImage Lab2LCh( VOption *options = 0 ) const;
1944
1950VImage Lab2LabQ( VOption *options = 0 ) const;
1951
1957VImage Lab2LabS( VOption *options = 0 ) const;
1958
1968VImage Lab2XYZ( VOption *options = 0 ) const;
1969
1975VImage LabQ2Lab( VOption *options = 0 ) const;
1976
1982VImage LabQ2LabS( VOption *options = 0 ) const;
1983
1989VImage LabQ2sRGB( VOption *options = 0 ) const;
1990
1996VImage LabS2Lab( VOption *options = 0 ) const;
1997
2003VImage LabS2LabQ( VOption *options = 0 ) const;
2004
2010VImage XYZ2CMYK( VOption *options = 0 ) const;
2011
2021VImage XYZ2Lab( VOption *options = 0 ) const;
2022
2028VImage XYZ2Yxy( VOption *options = 0 ) const;
2029
2035VImage XYZ2scRGB( VOption *options = 0 ) const;
2036
2042VImage Yxy2XYZ( VOption *options = 0 ) const;
2043
2049VImage abs( VOption *options = 0 ) const;
2050
2057VImage add( VImage right, VOption *options = 0 ) const;
2058
2077VImage affine( std::vector<double> matrix, VOption *options = 0 ) const;
2078
2091static VImage analyzeload( const char *filename, VOption *options = 0 );
2092
2109static VImage arrayjoin( std::vector<VImage> in, VOption *options = 0 );
2110
2116VImage autorot( VOption *options = 0 ) const;
2117
2123double avg( VOption *options = 0 ) const;
2124
2131VImage bandbool( VipsOperationBoolean boolean, VOption *options = 0 ) const;
2132
2142VImage bandfold( VOption *options = 0 ) const;
2143
2150static VImage bandjoin( std::vector<VImage> in, VOption *options = 0 );
2151
2158VImage bandjoin_const( std::vector<double> c, VOption *options = 0 ) const;
2159
2165VImage bandmean( VOption *options = 0 ) const;
2166
2177static VImage bandrank( std::vector<VImage> in, VOption *options = 0 );
2178
2188VImage bandunfold( VOption *options = 0 ) const;
2189
2201static VImage black( int width, int height, VOption *options = 0 );
2202
2210VImage boolean( VImage right, VipsOperationBoolean boolean, VOption *options = 0 ) const;
2211
2219VImage boolean_const( VipsOperationBoolean boolean, std::vector<double> c, VOption *options = 0 ) const;
2220
2226VImage buildlut( VOption *options = 0 ) const;
2227
2233VImage byteswap( VOption *options = 0 ) const;
2234
2246VImage cache( VOption *options = 0 ) const;
2247
2258VImage canny( VOption *options = 0 ) const;
2259
2266VImage case_image( std::vector<VImage> cases, VOption *options = 0 ) const;
2267
2278VImage cast( VipsBandFormat format, VOption *options = 0 ) const;
2279
2290VImage colourspace( VipsInterpretation space, VOption *options = 0 ) const;
2291
2307VImage compass( VImage mask, VOption *options = 0 ) const;
2308
2315VImage complex( VipsOperationComplex cmplx, VOption *options = 0 ) const;
2316
2324VImage complex2( VImage right, VipsOperationComplex2 cmplx, VOption *options = 0 ) const;
2325
2332VImage complexform( VImage right, VOption *options = 0 ) const;
2333
2340VImage complexget( VipsOperationComplexget get, VOption *options = 0 ) const;
2341
2356static VImage composite( std::vector<VImage> in, std::vector<int> mode, VOption *options = 0 );
2357
2372VImage composite2( VImage overlay, VipsBlendMode mode, VOption *options = 0 ) const;
2373
2386VImage conv( VImage mask, VOption *options = 0 ) const;
2387
2399VImage conva( VImage mask, VOption *options = 0 ) const;
2400
2411VImage convasep( VImage mask, VOption *options = 0 ) const;
2412
2419VImage convf( VImage mask, VOption *options = 0 ) const;
2420
2427VImage convi( VImage mask, VOption *options = 0 ) const;
2428
2441VImage convsep( VImage mask, VOption *options = 0 ) const;
2442
2461VImage copy( VOption *options = 0 ) const;
2462
2469double countlines( VipsDirection direction, VOption *options = 0 ) const;
2470
2480VImage crop( int left, int top, int width, int height, VOption *options = 0 ) const;
2481
2498static VImage csvload( const char *filename, VOption *options = 0 );
2499
2516static VImage csvload_source( VSource source, VOption *options = 0 );
2517
2530void csvsave( const char *filename, VOption *options = 0 ) const;
2531
2544void csvsave_target( VTarget target, VOption *options = 0 ) const;
2545
2552VImage dE00( VImage right, VOption *options = 0 ) const;
2553
2560VImage dE76( VImage right, VOption *options = 0 ) const;
2561
2568VImage dECMC( VImage right, VOption *options = 0 ) const;
2569
2575double deviate( VOption *options = 0 ) const;
2576
2583VImage divide( VImage right, VOption *options = 0 ) const;
2584
2597void draw_circle( std::vector<double> ink, int cx, int cy, int radius, VOption *options = 0 ) const;
2598
2611void draw_flood( std::vector<double> ink, int x, int y, VOption *options = 0 ) const;
2612
2624void draw_image( VImage sub, int x, int y, VOption *options = 0 ) const;
2625
2635void draw_line( std::vector<double> ink, int x1, int y1, int x2, int y2, VOption *options = 0 ) const;
2636
2645void draw_mask( std::vector<double> ink, VImage mask, int x, int y, VOption *options = 0 ) const;
2646
2660void draw_rect( std::vector<double> ink, int left, int top, int width, int height, VOption *options = 0 ) const;
2661
2670void draw_smudge( int left, int top, int width, int height, VOption *options = 0 ) const;
2671
2697void dzsave( const char *filename, VOption *options = 0 ) const;
2698
2724VipsBlob *dzsave_buffer( VOption *options = 0 ) const;
2725
2751void dzsave_target( VTarget target, VOption *options = 0 ) const;
2752
2767VImage embed( int x, int y, int width, int height, VOption *options = 0 ) const;
2768
2778VImage extract_area( int left, int top, int width, int height, VOption *options = 0 ) const;
2779
2790VImage extract_band( int band, VOption *options = 0 ) const;
2791
2804static VImage eye( int width, int height, VOption *options = 0 );
2805
2811VImage falsecolour( VOption *options = 0 ) const;
2812
2819VImage fastcor( VImage ref, VOption *options = 0 ) const;
2820
2826VImage fill_nearest( VOption *options = 0 ) const;
2827
2841int find_trim( int *top, int *width, int *height, VOption *options = 0 ) const;
2842
2855static VImage fitsload( const char *filename, VOption *options = 0 );
2856
2869static VImage fitsload_source( VSource source, VOption *options = 0 );
2870
2882void fitssave( const char *filename, VOption *options = 0 ) const;
2883
2894VImage flatten( VOption *options = 0 ) const;
2895
2902VImage flip( VipsDirection direction, VOption *options = 0 ) const;
2903
2909VImage float2rad( VOption *options = 0 ) const;
2910
2919static VImage fractsurf( int width, int height, double fractal_dimension, VOption *options = 0 );
2920
2927VImage freqmult( VImage mask, VOption *options = 0 ) const;
2928
2934VImage fwfft( VOption *options = 0 ) const;
2935
2945VImage gamma( VOption *options = 0 ) const;
2946
2958VImage gaussblur( double sigma, VOption *options = 0 ) const;
2959
2972static VImage gaussmat( double sigma, double min_ampl, VOption *options = 0 );
2973
2987static VImage gaussnoise( int width, int height, VOption *options = 0 );
2988
2996std::vector<double> getpoint( int x, int y, VOption *options = 0 ) const;
2997
3012static VImage gifload( const char *filename, VOption *options = 0 );
3013
3028static VImage gifload_buffer( VipsBlob *buffer, VOption *options = 0 );
3029
3044static VImage gifload_source( VSource source, VOption *options = 0 );
3045
3063void gifsave( const char *filename, VOption *options = 0 ) const;
3064
3082VipsBlob *gifsave_buffer( VOption *options = 0 ) const;
3083
3101void gifsave_target( VTarget target, VOption *options = 0 ) const;
3102
3113VImage globalbalance( VOption *options = 0 ) const;
3114
3128VImage gravity( VipsCompassDirection direction, int width, int height, VOption *options = 0 ) const;
3129
3141static VImage grey( int width, int height, VOption *options = 0 );
3142
3151VImage grid( int tile_height, int across, int down, VOption *options = 0 ) const;
3152
3169static VImage heifload( const char *filename, VOption *options = 0 );
3170
3187static VImage heifload_buffer( VipsBlob *buffer, VOption *options = 0 );
3188
3205static VImage heifload_source( VSource source, VOption *options = 0 );
3206
3224void heifsave( const char *filename, VOption *options = 0 ) const;
3225
3243VipsBlob *heifsave_buffer( VOption *options = 0 ) const;
3244
3262void heifsave_target( VTarget target, VOption *options = 0 ) const;
3263
3269VImage hist_cum( VOption *options = 0 ) const;
3270
3276double hist_entropy( VOption *options = 0 ) const;
3277
3287VImage hist_equal( VOption *options = 0 ) const;
3288
3298VImage hist_find( VOption *options = 0 ) const;
3299
3310VImage hist_find_indexed( VImage index, VOption *options = 0 ) const;
3311
3321VImage hist_find_ndim( VOption *options = 0 ) const;
3322
3328bool hist_ismonotonic( VOption *options = 0 ) const;
3329
3341VImage hist_local( int width, int height, VOption *options = 0 ) const;
3342
3349VImage hist_match( VImage ref, VOption *options = 0 ) const;
3350
3356VImage hist_norm( VOption *options = 0 ) const;
3357
3363VImage hist_plot( VOption *options = 0 ) const;
3364
3376VImage hough_circle( VOption *options = 0 ) const;
3377
3388VImage hough_line( VOption *options = 0 ) const;
3389
3403VImage icc_export( VOption *options = 0 ) const;
3404
3418VImage icc_import( VOption *options = 0 ) const;
3419
3435VImage icc_transform( const char *output_profile, VOption *options = 0 ) const;
3436
3448static VImage identity( VOption *options = 0 );
3449
3461VImage ifthenelse( VImage in1, VImage in2, VOption *options = 0 ) const;
3462
3476VImage insert( VImage sub, int x, int y, VOption *options = 0 ) const;
3477
3483VImage invert( VOption *options = 0 ) const;
3484
3494VImage invertlut( VOption *options = 0 ) const;
3495
3505VImage invfft( VOption *options = 0 ) const;
3506
3521VImage join( VImage in2, VipsDirection direction, VOption *options = 0 ) const;
3522
3536static VImage jp2kload( const char *filename, VOption *options = 0 );
3537
3551static VImage jp2kload_buffer( VipsBlob *buffer, VOption *options = 0 );
3552
3566static VImage jp2kload_source( VSource source, VOption *options = 0 );
3567
3584void jp2ksave( const char *filename, VOption *options = 0 ) const;
3585
3602VipsBlob *jp2ksave_buffer( VOption *options = 0 ) const;
3603
3620void jp2ksave_target( VTarget target, VOption *options = 0 ) const;
3621
3636static VImage jpegload( const char *filename, VOption *options = 0 );
3637
3652static VImage jpegload_buffer( VipsBlob *buffer, VOption *options = 0 );
3653
3668static VImage jpegload_source( VSource source, VOption *options = 0 );
3669
3691void jpegsave( const char *filename, VOption *options = 0 ) const;
3692
3714VipsBlob *jpegsave_buffer( VOption *options = 0 ) const;
3715
3736void jpegsave_mime( VOption *options = 0 ) const;
3737
3759void jpegsave_target( VTarget target, VOption *options = 0 ) const;
3760
3773static VImage jxlload( const char *filename, VOption *options = 0 );
3774
3787static VImage jxlload_buffer( VipsBlob *buffer, VOption *options = 0 );
3788
3801static VImage jxlload_source( VSource source, VOption *options = 0 );
3802
3819void jxlsave( const char *filename, VOption *options = 0 ) const;
3820
3837VipsBlob *jxlsave_buffer( VOption *options = 0 ) const;
3838
3855void jxlsave_target( VTarget target, VOption *options = 0 ) const;
3856
3862VImage labelregions( VOption *options = 0 ) const;
3863
3875VImage linear( std::vector<double> a, std::vector<double> b, VOption *options = 0 ) const;
3876
3889VImage linecache( VOption *options = 0 ) const;
3890
3903static VImage logmat( double sigma, double min_ampl, VOption *options = 0 );
3904
3920static VImage magickload( const char *filename, VOption *options = 0 );
3921
3937static VImage magickload_buffer( VipsBlob *buffer, VOption *options = 0 );
3938
3955void magicksave( const char *filename, VOption *options = 0 ) const;
3956
3973VipsBlob *magicksave_buffer( VOption *options = 0 ) const;
3974
3988VImage mapim( VImage index, VOption *options = 0 ) const;
3989
4000VImage maplut( VImage lut, VOption *options = 0 ) const;
4001
4019static VImage mask_butterworth( int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options = 0 );
4020
4040static 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 );
4041
4060static VImage mask_butterworth_ring( int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = 0 );
4061
4077static VImage mask_fractal( int width, int height, double fractal_dimension, VOption *options = 0 );
4078
4095static VImage mask_gaussian( int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options = 0 );
4096
4115static VImage mask_gaussian_band( int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, double amplitude_cutoff, VOption *options = 0 );
4116
4134static VImage mask_gaussian_ring( int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options = 0 );
4135
4151static VImage mask_ideal( int width, int height, double frequency_cutoff, VOption *options = 0 );
4152
4170static VImage mask_ideal_band( int width, int height, double frequency_cutoff_x, double frequency_cutoff_y, double radius, VOption *options = 0 );
4171
4188static VImage mask_ideal_ring( int width, int height, double frequency_cutoff, double ringwidth, VOption *options = 0 );
4189
4211VImage match( VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VOption *options = 0 ) const;
4212
4219VImage math( VipsOperationMath math, VOption *options = 0 ) const;
4220
4228VImage math2( VImage right, VipsOperationMath2 math2, VOption *options = 0 ) const;
4229
4237VImage math2_const( VipsOperationMath2 math2, std::vector<double> c, VOption *options = 0 ) const;
4238
4251static VImage matload( const char *filename, VOption *options = 0 );
4252
4258VImage matrixinvert( VOption *options = 0 ) const;
4259
4272static VImage matrixload( const char *filename, VOption *options = 0 );
4273
4286static VImage matrixload_source( VSource source, VOption *options = 0 );
4287
4298void matrixprint( VOption *options = 0 ) const;
4299
4311void matrixsave( const char *filename, VOption *options = 0 ) const;
4312
4324void matrixsave_target( VTarget target, VOption *options = 0 ) const;
4325
4335double max( VOption *options = 0 ) const;
4336
4351VImage measure( int h, int v, VOption *options = 0 ) const;
4352
4366VImage merge( VImage sec, VipsDirection direction, int dx, int dy, VOption *options = 0 ) const;
4367
4377double min( VOption *options = 0 ) const;
4378
4386VImage morph( VImage mask, VipsOperationMorphology morph, VOption *options = 0 ) const;
4387
4406VImage mosaic( VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options = 0 ) const;
4407
4431VImage 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;
4432
4442VImage msb( VOption *options = 0 ) const;
4443
4450VImage multiply( VImage right, VOption *options = 0 ) const;
4451
4464static VImage niftiload( const char *filename, VOption *options = 0 );
4465
4478static VImage niftiload_source( VSource source, VOption *options = 0 );
4479
4491void niftisave( const char *filename, VOption *options = 0 ) const;
4492
4505static VImage openexrload( const char *filename, VOption *options = 0 );
4506
4523static VImage openslideload( const char *filename, VOption *options = 0 );
4524
4541static VImage openslideload_source( VSource source, VOption *options = 0 );
4542
4561static VImage pdfload( const char *filename, VOption *options = 0 );
4562
4581static VImage pdfload_buffer( VipsBlob *buffer, VOption *options = 0 );
4582
4601static VImage pdfload_source( VSource source, VOption *options = 0 );
4602
4609int percent( double percent, VOption *options = 0 ) const;
4610
4624static VImage perlin( int width, int height, VOption *options = 0 );
4625
4632VImage phasecor( VImage in2, VOption *options = 0 ) const;
4633
4647static VImage pngload( const char *filename, VOption *options = 0 );
4648
4662static VImage pngload_buffer( VipsBlob *buffer, VOption *options = 0 );
4663
4677static VImage pngload_source( VSource source, VOption *options = 0 );
4678
4699void pngsave( const char *filename, VOption *options = 0 ) const;
4700
4721VipsBlob *pngsave_buffer( VOption *options = 0 ) const;
4722
4743void pngsave_target( VTarget target, VOption *options = 0 ) const;
4744
4757static VImage ppmload( const char *filename, VOption *options = 0 );
4758
4771static VImage ppmload_source( VSource source, VOption *options = 0 );
4772
4787void ppmsave( const char *filename, VOption *options = 0 ) const;
4788
4803void ppmsave_target( VTarget target, VOption *options = 0 ) const;
4804
4814VImage premultiply( VOption *options = 0 ) const;
4815
4822VImage profile( VImage *rows, VOption *options = 0 ) const;
4823
4830static VipsBlob *profile_load( const char *name, VOption *options = 0 );
4831
4838VImage project( VImage *rows, VOption *options = 0 ) const;
4839
4850VImage quadratic( VImage coeff, VOption *options = 0 ) const;
4851
4857VImage rad2float( VOption *options = 0 ) const;
4858
4871static VImage radload( const char *filename, VOption *options = 0 );
4872
4885static VImage radload_buffer( VipsBlob *buffer, VOption *options = 0 );
4886
4899static VImage radload_source( VSource source, VOption *options = 0 );
4900
4912void radsave( const char *filename, VOption *options = 0 ) const;
4913
4925VipsBlob *radsave_buffer( VOption *options = 0 ) const;
4926
4938void radsave_target( VTarget target, VOption *options = 0 ) const;
4939
4948VImage rank( int width, int height, int index, VOption *options = 0 ) const;
4949
4968static VImage rawload( const char *filename, int width, int height, int bands, VOption *options = 0 );
4969
4981void rawsave( const char *filename, VOption *options = 0 ) const;
4982
4994void rawsave_fd( int fd, VOption *options = 0 ) const;
4995
5002VImage recomb( VImage m, VOption *options = 0 ) const;
5003
5016VImage reduce( double hshrink, double vshrink, VOption *options = 0 ) const;
5017
5029VImage reduceh( double hshrink, VOption *options = 0 ) const;
5030
5042VImage reducev( double vshrink, VOption *options = 0 ) const;
5043
5051VImage relational( VImage right, VipsOperationRelational relational, VOption *options = 0 ) const;
5052
5060VImage relational_const( VipsOperationRelational relational, std::vector<double> c, VOption *options = 0 ) const;
5061
5068VImage remainder( VImage right, VOption *options = 0 ) const;
5069
5076VImage remainder_const( std::vector<double> c, VOption *options = 0 ) const;
5077
5085VImage replicate( int across, int down, VOption *options = 0 ) const;
5086
5099VImage resize( double scale, VOption *options = 0 ) const;
5100
5107VImage rot( VipsAngle angle, VOption *options = 0 ) const;
5108
5118VImage rot45( VOption *options = 0 ) const;
5119
5135VImage rotate( double angle, VOption *options = 0 ) const;
5136
5143VImage round( VipsOperationRound round, VOption *options = 0 ) const;
5144
5150VImage sRGB2HSV( VOption *options = 0 ) const;
5151
5157VImage sRGB2scRGB( VOption *options = 0 ) const;
5158
5168VImage scRGB2BW( VOption *options = 0 ) const;
5169
5175VImage scRGB2XYZ( VOption *options = 0 ) const;
5176
5186VImage scRGB2sRGB( VOption *options = 0 ) const;
5187
5198VImage scale( VOption *options = 0 ) const;
5199
5209VImage sequential( VOption *options = 0 ) const;
5210
5225VImage sharpen( VOption *options = 0 ) const;
5226
5238VImage shrink( double hshrink, double vshrink, VOption *options = 0 ) const;
5239
5250VImage shrinkh( int hshrink, VOption *options = 0 ) const;
5251
5262VImage shrinkv( int vshrink, VOption *options = 0 ) const;
5263
5269VImage sign( VOption *options = 0 ) const;
5270
5287VImage similarity( VOption *options = 0 ) const;
5288
5302static VImage sines( int width, int height, VOption *options = 0 );
5303
5315VImage smartcrop( int width, int height, VOption *options = 0 ) const;
5316
5322VImage sobel( VOption *options = 0 ) const;
5323
5330VImage spcor( VImage ref, VOption *options = 0 ) const;
5331
5337VImage spectrum( VOption *options = 0 ) const;
5338
5344VImage stats( VOption *options = 0 ) const;
5345
5360VImage stdif( int width, int height, VOption *options = 0 ) const;
5361
5373VImage subsample( int xfac, int yfac, VOption *options = 0 ) const;
5374
5381VImage subtract( VImage right, VOption *options = 0 ) const;
5382
5389static VImage sum( std::vector<VImage> in, VOption *options = 0 );
5390
5406static VImage svgload( const char *filename, VOption *options = 0 );
5407
5423static VImage svgload_buffer( VipsBlob *buffer, VOption *options = 0 );
5424
5440static VImage svgload_source( VSource source, VOption *options = 0 );
5441
5448static VImage switch_image( std::vector<VImage> tests, VOption *options = 0 );
5449
5461static void system( const char *cmd_format, VOption *options = 0 );
5462
5481static VImage text( const char *text, VOption *options = 0 );
5482
5502static VImage thumbnail( const char *filename, int width, VOption *options = 0 );
5503
5524static VImage thumbnail_buffer( VipsBlob *buffer, int width, VOption *options = 0 );
5525
5544VImage thumbnail_image( int width, VOption *options = 0 ) const;
5545
5566static VImage thumbnail_source( VSource source, int width, VOption *options = 0 );
5567
5584static VImage tiffload( const char *filename, VOption *options = 0 );
5585
5602static VImage tiffload_buffer( VipsBlob *buffer, VOption *options = 0 );
5603
5620static VImage tiffload_source( VSource source, VOption *options = 0 );
5621
5654void tiffsave( const char *filename, VOption *options = 0 ) const;
5655
5688VipsBlob *tiffsave_buffer( VOption *options = 0 ) const;
5689
5722void tiffsave_target( VTarget target, VOption *options = 0 ) const;
5723
5738VImage tilecache( VOption *options = 0 ) const;
5739
5758static VImage tonelut( VOption *options = 0 );
5759
5769VImage transpose3d( VOption *options = 0 ) const;
5770
5781VImage unpremultiply( VOption *options = 0 ) const;
5782
5795static VImage vipsload( const char *filename, VOption *options = 0 );
5796
5809static VImage vipsload_source( VSource source, VOption *options = 0 );
5810
5822void vipssave( const char *filename, VOption *options = 0 ) const;
5823
5835void vipssave_target( VTarget target, VOption *options = 0 ) const;
5836
5852static VImage webpload( const char *filename, VOption *options = 0 );
5853
5869static VImage webpload_buffer( VipsBlob *buffer, VOption *options = 0 );
5870
5886static VImage webpload_source( VSource source, VOption *options = 0 );
5887
5911void webpsave( const char *filename, VOption *options = 0 ) const;
5912
5936VipsBlob *webpsave_buffer( VOption *options = 0 ) const;
5937
5961void webpsave_target( VTarget target, VOption *options = 0 ) const;
5962
5975static VImage worley( int width, int height, VOption *options = 0 );
5976
5987VImage wrap( VOption *options = 0 ) const;
5988
6002static VImage xyz( int width, int height, VOption *options = 0 );
6003
6015static VImage zone( int width, int height, VOption *options = 0 );
6016
6024VImage zoom( int xfac, int yfac, VOption *options = 0 ) const;
6025};
6026
6027VIPS_NAMESPACE_END
6028
6029#endif /*VIPS_VIMAGE_H*/
Definition: VError8.h:46
Definition: VImage8.h:406
VImage HSV2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:28
VImage join(VImage in2, VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:1692
VImage conva(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:638
VImage median(int size=3, VOption *options=0) const
Definition: VImage8.h:1237
VImage rot45(VOption *options=0) const
Definition: vips-operators.cpp:3029
static VImage magickload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1956
void set(const char *field, double *value, int n)
Definition: VImage8.h:610
VImage erode(VImage mask, VOption *options=0) const
Definition: VImage8.h:1227
VImage canny(VOption *options=0) const
Definition: vips-operators.cpp:481
static VImage mask_ideal_ring(int width, int height, double frequency_cutoff, double ringwidth, VOption *options=0)
Definition: vips-operators.cpp:2169
double xres() const
Definition: VImage8.h:509
VipsBlob * tiffsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:3519
static VImage sines(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3227
VImage XYZ2Lab(VOption *options=0) const
Definition: vips-operators.cpp:184
static VImage new_from_memory(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage8.h:911
VImage merge(VImage sec, VipsDirection direction, int dx, int dy, VOption *options=0) const
Definition: vips-operators.cpp:2343
VImage quadratic(VImage coeff, VOption *options=0) const
Definition: vips-operators.cpp:2747
VImage relational_const(VipsOperationRelational relational, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2949
VImage relational(VImage right, VipsOperationRelational relational, VOption *options=0) const
Definition: vips-operators.cpp:2935
VImage math2(VImage right, VipsOperationMath2 math2, VOption *options=0) const
Definition: vips-operators.cpp:2218
static VImage pdfload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2542
VImage shrinkh(int hshrink, VOption *options=0) const
Definition: vips-operators.cpp:3177
VImage sequential(VOption *options=0) const
Definition: vips-operators.cpp:3139
VImage hist_plot(VOption *options=0) const
Definition: vips-operators.cpp:1543
static void call(const char *operation_name, VOption *options=0)
Definition: VImage.cpp:555
int get_int(const char *field) const
Definition: VImage8.h:678
std::vector< double > get_array_double(const char *field) const
Definition: VImage8.h:742
void set(const char *field, int *value, int n)
Definition: VImage8.h:587
static VImage new_matrixv(int width, int height,...)
Definition: VImage.cpp:662
VImage crop(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:728
VImage bandmean(VOption *options=0) const
Definition: vips-operators.cpp:368
void set(const char *field, std::vector< int > value)
Definition: VImage8.h:598
VImage Lab2LabQ(VOption *options=0) const
Definition: vips-operators.cpp:76
VImage LabQ2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:136
const char * filename() const
Definition: VImage8.h:555
VImage smartcrop(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:3240
VImage asinh(VOption *options=0) const
Definition: VImage8.h:1435
VImage bandjoin(double other, VOption *options=0) const
Definition: VImage8.h:1133
static VImage csvload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:756
VImage LCh2CMC(VOption *options=0) const
Definition: vips-operators.cpp:40
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:2106
VImage cosh(VOption *options=0) const
Definition: VImage8.h:1417
VImage pow(VImage other, VOption *options=0) const
Definition: VImage8.h:1498
VImage CMYK2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:16
VImage hist_local(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:1504
VImage autorot(VOption *options=0) const
Definition: vips-operators.cpp:294
VImage tilecache(VOption *options=0) const
Definition: vips-operators.cpp:3539
VImage thumbnail_image(int width, VOption *options=0) const
Definition: vips-operators.cpp:3449
VipsBlob * magicksave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1988
VImage dE76(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:797
static VImage jpegload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1782
VImage acosh(VOption *options=0) const
Definition: VImage8.h:1444
VImage fill_nearest(VOption *options=0) const
Definition: vips-operators.cpp:1036
int percent(double percent, VOption *options=0) const
Definition: vips-operators.cpp:2554
static VImage niftiload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2450
static VImage new_from_source(VSource source, const char *option_string, VOption *options=0)
Definition: VImage.cpp:618
static VImage webpload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3650
void * write_to_memory(size_t *size) const
Definition: VImage8.h:1055
static VImage black(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:404
VImage scRGB2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:3103
VImage colourspace(VipsInterpretation space, VOption *options=0) const
Definition: vips-operators.cpp:519
static VImage rawload(const char *filename, int width, int height, int bands, VOption *options=0)
Definition: vips-operators.cpp:2851
VipsBlob * dzsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:933
static VImage vipsload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3586
VImage gamma(VOption *options=0) const
Definition: vips-operators.cpp:1171
VImage transpose3d(VOption *options=0) const
Definition: vips-operators.cpp:3562
VImage scRGB2sRGB(VOption *options=0) const
Definition: vips-operators.cpp:3115
VImage pow(double other, VOption *options=0) const
Definition: VImage8.h:1507
VImage floor(VOption *options=0) const
Definition: VImage8.h:1246
VImage atan2(double other, VOption *options=0) const
Definition: VImage8.h:1565
static VImage new_memory()
Definition: VImage8.h:845
VImage conv(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:625
static VImage niftiload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2462
VImage divide(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:835
double hist_entropy(VOption *options=0) const
Definition: vips-operators.cpp:1431
bool has_alpha() const
Definition: VImage8.h:545
VImage tanh(VOption *options=0) const
Definition: VImage8.h:1426
void set(const char *field, int value)
Definition: VImage8.h:576
VImage similarity(VOption *options=0) const
Definition: vips-operators.cpp:3215
static VImage gifload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1260
VImage grid(int tile_height, int across, int down, VOption *options=0) const
Definition: vips-operators.cpp:1340
VImage XYZ2CMYK(VOption *options=0) const
Definition: vips-operators.cpp:172
void jxlsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1897
VImage scRGB2BW(VOption *options=0) const
Definition: vips-operators.cpp:3091
VImage ifthenelse(double th, VImage el, VOption *options=0) const
Definition: VImage8.h:1620
VImage case_image(std::vector< VImage > cases, VOption *options=0) const
Definition: vips-operators.cpp:493
void draw_line(std::vector< double > ink, int x1, int y1, int x2, int y2, VOption *options=0) const
Definition: vips-operators.cpp:879
void jpegsave_mime(VOption *options=0) const
Definition: vips-operators.cpp:1826
VImage Lab2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:100
static void call_option_string(const char *operation_name, const char *option_string, VOption *options=0)
Definition: VImage.cpp:501
VImage shrink(double hshrink, double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:3163
VImage maplut(VImage lut, VOption *options=0) const
Definition: vips-operators.cpp:2013
VImage write(VImage out) const
Definition: VImage.cpp:680
VImage gravity(VipsCompassDirection direction, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:1312
VImage sharpen(VOption *options=0) const
Definition: vips-operators.cpp:3151
VImage bandand(VOption *options=0) const
Definition: VImage8.h:1276
VImage log10(VOption *options=0) const
Definition: VImage8.h:1471
VImage bandjoin(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1143
VImage dilate(VImage mask, VOption *options=0) const
Definition: VImage8.h:1215
static VImage heifload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1379
VImage reduceh(double hshrink, VOption *options=0) const
Definition: vips-operators.cpp:2909
VImage freqmult(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:1146
void vipssave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3610
static VImage radload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2796
VImage invert(VOption *options=0) const
Definition: vips-operators.cpp:1656
VImage Lab2LabS(VOption *options=0) const
Definition: vips-operators.cpp:88
VImage stdif(int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:3303
static VImage xyz(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3715
VImage new_from_image(double pixel) const
Definition: VImage8.h:985
static VImage svgload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3356
VImage math(VipsOperationMath math, VOption *options=0) const
Definition: vips-operators.cpp:2205
void radsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2828
VImage math2_const(VipsOperationMath2 math2, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2232
VImage invfft(VOption *options=0) const
Definition: vips-operators.cpp:1680
VipsImage * get_image() const
Definition: VImage8.h:435
VImage convi(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:677
static VImage matload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2246
VImage phasecor(VImage in2, VOption *options=0) const
Definition: vips-operators.cpp:2580
bool hist_ismonotonic(VOption *options=0) const
Definition: vips-operators.cpp:1492
VImage complex(VipsOperationComplex cmplx, VOption *options=0) const
Definition: vips-operators.cpp:545
VipsBlob * jpegsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1814
VImage sinh(VOption *options=0) const
Definition: VImage8.h:1408
VImage hist_find_ndim(VOption *options=0) const
Definition: vips-operators.cpp:1480
VImage complexget(VipsOperationComplexget get, VOption *options=0) const
Definition: vips-operators.cpp:585
VImage XYZ2Yxy(VOption *options=0) const
Definition: vips-operators.cpp:196
void heifsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1391
static VImage vipsload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3598
static VImage tonelut(VOption *options=0)
Definition: vips-operators.cpp:3551
VImage convf(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:664
const void * get_blob(const char *field, size_t *length) const
Definition: VImage8.h:796
VipsCoding coding() const
Definition: VImage8.h:480
static VImage pdfload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2518
VImage dECMC(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:810
static VImage tiffload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3487
static VImage fitsload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1063
void write_to_target(const char *suffix, VTarget target, VOption *options=0) const
Definition: VImage.cpp:761
static VImage mask_gaussian_ring(int width, int height, double frequency_cutoff, double amplitude_cutoff, double ringwidth, VOption *options=0)
Definition: vips-operators.cpp:2123
static VImage fractsurf(int width, int height, double fractal_dimension, VOption *options=0)
Definition: vips-operators.cpp:1132
void rawsave_fd(int fd, VOption *options=0) const
Definition: vips-operators.cpp:2874
void jxlsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1877
VImage sign(VOption *options=0) const
Definition: vips-operators.cpp:3203
VImage zoom(int xfac, int yfac, VOption *options=0) const
Definition: vips-operators.cpp:3741
void jp2ksave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1762
static VImage logmat(double sigma, double min_ampl, VOption *options=0)
Definition: vips-operators.cpp:1943
void write_to_file(const char *name, VOption *options=0) const
Definition: VImage.cpp:689
void draw_image(VImage sub, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:869
VImage rank(int width, int height, int index, VOption *options=0) const
Definition: vips-operators.cpp:2836
VImage exp10(VOption *options=0) const
Definition: VImage8.h:1489
static VImage worley(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3690
VImage icc_import(VOption *options=0) const
Definition: vips-operators.cpp:1591
void draw_smudge(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:914
static VImage zone(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:3728
void gifsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1272
VImage complexform(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:572
VImage fwfft(VOption *options=0) const
Definition: vips-operators.cpp:1159
VImage labelregions(VOption *options=0) const
Definition: vips-operators.cpp:1905
VImage subtract(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:3331
static VImage jpegload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1770
const char * get_string(const char *field) const
Definition: VImage8.h:779
static VImage jp2kload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1718
void matrixsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2301
static VImage svgload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3368
static VImage new_from_file(const char *name, VOption *options=0)
Definition: VImage.cpp:561
static VImage webpload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:3638
VImage sin(VOption *options=0) const
Definition: VImage8.h:1354
VImage atan2(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1575
static void system(const char *cmd_format, VOption *options=0)
Definition: vips-operators.cpp:3404
std::vector< double > getpoint(int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:1222
VImage LabS2Lab(VOption *options=0) const
Definition: vips-operators.cpp:148
VImage hist_find(VOption *options=0) const
Definition: vips-operators.cpp:1455
VImage hist_equal(VOption *options=0) const
Definition: vips-operators.cpp:1443
static VImage jp2kload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1706
void webpsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:3682
VImage hough_line(VOption *options=0) const
Definition: vips-operators.cpp:1567
VImage rint(VOption *options=0) const
Definition: VImage8.h:1264
double avg(VOption *options=0) const
Definition: vips-operators.cpp:306
static VImage grey(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:1327
void niftisave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2474
VImage rot(VipsAngle angle, VOption *options=0) const
Definition: vips-operators.cpp:3016
void set(const char *field, VipsCallbackFn free_fn, void *data, size_t length)
Definition: VImage8.h:655
VImage round(VipsOperationRound round, VOption *options=0) const
Definition: vips-operators.cpp:3054
static VImage eye(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:998
VipsBlob * heifsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1399
VImage new_from_image(std::vector< double > pixel) const
Definition: VImage8.h:969
VImage conj(VOption *options=0) const
Definition: VImage8.h:1345
void fitssave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1087
VImage sRGB2HSV(VOption *options=0) const
Definition: vips-operators.cpp:3067
static VImage ppmload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2657
void tiffsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:3531
void heifsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1411
VImage hist_norm(VOption *options=0) const
Definition: vips-operators.cpp:1531
VipsBlob * webpsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:3670
VImage buildlut(VOption *options=0) const
Definition: vips-operators.cpp:445
VipsBlob * jxlsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1885
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:2403
VImage log(VOption *options=0) const
Definition: VImage8.h:1462
static VImage heifload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1355
VImage fliphor(VOption *options=0) const
Definition: VImage8.h:1168
void pngsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2649
void jp2ksave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1742
VImage hist_match(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:1518
VImage sobel(VOption *options=0) const
Definition: vips-operators.cpp:3254
void write_to_buffer(const char *suffix, void **buf, size_t *size, VOption *options=0) const
Definition: VImage.cpp:708
VImage LabQ2Lab(VOption *options=0) const
Definition: vips-operators.cpp:112
VImage asin(VOption *options=0) const
Definition: VImage8.h:1381
VImage complex2(VImage right, VipsOperationComplex2 cmplx, VOption *options=0) const
Definition: vips-operators.cpp:558
VImage abs(VOption *options=0) const
Definition: vips-operators.cpp:232
VImage copy_memory() const
Definition: VImage8.h:1003
VImage atan(VOption *options=0) const
Definition: VImage8.h:1399
static VImage heifload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1367
static VImage pngload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2617
static VImage jpegload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1794
VImage bandor(VOption *options=0) const
Definition: VImage8.h:1288
void get_array_double(const char *field, double **out, int *n) const
Definition: VImage8.h:729
void rawsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2866
VImage remainder_const(std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:2976
VImage ifthenelse(VImage th, std::vector< double > el, VOption *options=0) const
Definition: VImage8.h:1597
static VipsBlob * profile_load(const char *name, VOption *options=0)
Definition: vips-operators.cpp:2722
bool remove(const char *name) const
Definition: VImage8.h:812
VImage falsecolour(VOption *options=0) const
Definition: vips-operators.cpp:1011
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:2153
VImage rotate(double angle, VOption *options=0) const
Definition: vips-operators.cpp:3041
VImage scale(VOption *options=0) const
Definition: vips-operators.cpp:3127
static VImage arrayjoin(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:282
void draw_rect(std::vector< double > ink, int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:902
VImage hough_circle(VOption *options=0) const
Definition: vips-operators.cpp:1555
VImage fastcor(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:1023
VImage linear(double a, std::vector< double > b, VOption *options=0) const
Definition: VImage8.h:1113
std::complex< double > minpos(VOption *options=0) const
Definition: VImage.cpp:841
static VImage sum(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:3344
VImage multiply(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:2437
static VImage analyzeload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:270
static VImage mask_fractal(int width, int height, double fractal_dimension, VOption *options=0)
Definition: vips-operators.cpp:2077
void gifsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1292
void csvsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:776
void dzsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:945
void draw_mask(std::vector< double > ink, VImage mask, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:891
double yres() const
Definition: VImage8.h:518
void set(const char *field, std::vector< double > value)
Definition: VImage8.h:621
VImage boolean_const(VipsOperationBoolean boolean, std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:431
static VImage new_from_memory_steal(void *data, size_t size, int width, int height, int bands, VipsBandFormat format)
Definition: VImage.cpp:640
VImage sRGB2scRGB(VOption *options=0) const
Definition: vips-operators.cpp:3079
void webpsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3662
VImage rad2float(VOption *options=0) const
Definition: vips-operators.cpp:2760
VImage exp(VOption *options=0) const
Definition: VImage8.h:1480
int find_trim(int *top, int *width, int *height, VOption *options=0) const
Definition: vips-operators.cpp:1048
VImage ceil(VOption *options=0) const
Definition: VImage8.h:1255
static VImage mask_ideal(int width, int height, double frequency_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2139
VImage reduce(double hshrink, double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:2895
static VImage pdfload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2530
VImage boolean(VImage right, VipsOperationBoolean boolean, VOption *options=0) const
Definition: vips-operators.cpp:417
static VImage openslideload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2506
int yoffset() const
Definition: VImage8.h:536
VipsInterpretation interpretation() const
Definition: VImage8.h:490
VImage rot270(VOption *options=0) const
Definition: VImage8.h:1204
VImage mosaic(VImage sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VOption *options=0) const
Definition: vips-operators.cpp:2385
int height() const
Definition: VImage8.h:453
void jpegsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:1833
void set(const char *field, const char *value)
Definition: VImage8.h:642
VImage stats(VOption *options=0) const
Definition: vips-operators.cpp:3291
void ppmsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2681
double max(VOption *options=0) const
Definition: vips-operators.cpp:2317
VImage shrinkv(int vshrink, VOption *options=0) const
Definition: vips-operators.cpp:3190
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:2042
static VImage pngload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2605
void jpegsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1806
GType get_typeof(const char *field) const
Definition: VImage8.h:667
static VImage tiffload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3499
VRegion region() const
Definition: VImage.cpp:781
VImage ifthenelse(double th, double el, VOption *options=0) const
Definition: VImage8.h:1640
void tiffsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:3511
static VImage pngload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2593
VImage imag(VOption *options=0) const
Definition: VImage8.h:1318
VipsBlob * jp2ksave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1750
std::vector< int > get_array_int(const char *field) const
Definition: VImage8.h:708
VImage linecache(VOption *options=0) const
Definition: vips-operators.cpp:1931
VImage premultiply(VOption *options=0) const
Definition: vips-operators.cpp:2697
VImage composite(VImage other, VipsBlendMode mode, VOption *options=0) const
Definition: VImage.cpp:830
static VImage new_matrix(int width, int height, double *array, int size)
Definition: VImage8.h:946
VipsInterpretation guess_interpretation() const
Definition: VImage8.h:500
VImage cache(VOption *options=0) const
Definition: vips-operators.cpp:469
double get_double(const char *field) const
Definition: VImage8.h:762
static VImage jp2kload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1730
VImage byteswap(VOption *options=0) const
Definition: vips-operators.cpp:457
VImage remainder(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:2963
VImage wop(double other, VOption *options=0) const
Definition: VImage8.h:1536
VipsBlob * gifsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:1280
int bands() const
Definition: VImage8.h:462
static VImage openexrload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2482
static VImage mask_gaussian(int width, int height, double frequency_cutoff, double amplitude_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2091
VImage icc_export(VOption *options=0) const
Definition: vips-operators.cpp:1579
VImage extract_band(int band, VOption *options=0) const
Definition: vips-operators.cpp:985
VImage unpremultiply(VOption *options=0) const
Definition: vips-operators.cpp:3574
VImage globalbalance(VOption *options=0) const
Definition: vips-operators.cpp:1300
VImage morph(VImage mask, VipsOperationMorphology morph, VOption *options=0) const
Definition: vips-operators.cpp:2371
VImage LabS2LabQ(VOption *options=0) const
Definition: vips-operators.cpp:160
static VImage jxlload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1841
VImage acos(VOption *options=0) const
Definition: VImage8.h:1390
static VImage ppmload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2669
VImage CMC2LCh(VOption *options=0) const
Definition: vips-operators.cpp:4
static VImage webpload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3626
double deviate(VOption *options=0) const
Definition: vips-operators.cpp:823
VImage insert(VImage sub, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:1641
VImage ifthenelse(std::vector< double > th, VImage el, VOption *options=0) const
Definition: VImage8.h:1586
VImage bandjoin_const(std::vector< double > c, VOption *options=0) const
Definition: vips-operators.cpp:355
VImage spectrum(VOption *options=0) const
Definition: vips-operators.cpp:3279
VImage()
Definition: VImage8.h:424
VImage dE00(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:784
void matrixprint(VOption *options=0) const
Definition: vips-operators.cpp:2294
std::complex< double > maxpos(VOption *options=0) const
Definition: VImage.cpp:854
static VImage new_temp_file(const char *file_format=".v")
Definition: VImage8.h:855
VImage flip(VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:1107
static VImage gaussnoise(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:1209
VImage atanh(VOption *options=0) const
Definition: VImage8.h:1453
double countlines(VipsDirection direction, VOption *options=0) const
Definition: vips-operators.cpp:715
VImage linear(double a, double b, VOption *options=0) const
Definition: VImage8.h:1090
void ppmsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2689
VImage wop(VImage other, VOption *options=0) const
Definition: VImage8.h:1527
void set(const char *field, double value)
Definition: VImage8.h:631
VImage Yxy2XYZ(VOption *options=0) const
Definition: vips-operators.cpp:220
static VImage new_matrix(int width, int height)
Definition: VImage.cpp:656
void magicksave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:1980
static VImage perlin(int width, int height, VOption *options=0)
Definition: vips-operators.cpp:2567
VImage(VipsImage *image, VSteal steal=STEAL)
Definition: VImage8.h:416
VImage bandfold(VOption *options=0) const
Definition: vips-operators.cpp:331
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:2184
void draw_flood(std::vector< double > ink, int x, int y, VOption *options=0) const
Definition: vips-operators.cpp:859
VImage rot90(VOption *options=0) const
Definition: VImage8.h:1186
static VImage radload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2772
VImage copy(VOption *options=0) const
Definition: vips-operators.cpp:703
VImage real(VOption *options=0) const
Definition: VImage8.h:1309
static VImage jxlload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1853
static VImage matrixload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:2282
VImage spcor(VImage ref, VOption *options=0) const
Definition: vips-operators.cpp:3266
VImage wop(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1546
static VImage svgload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:3380
VImage flipver(VOption *options=0) const
Definition: VImage8.h:1177
VImage atan2(VImage other, VOption *options=0) const
Definition: VImage8.h:1556
VImage Lab2LCh(VOption *options=0) const
Definition: vips-operators.cpp:64
void draw_circle(std::vector< double > ink, int cx, int cy, int radius, VOption *options=0) const
Definition: vips-operators.cpp:848
VImage extract_area(int left, int top, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:969
VImage profile(VImage *rows, VOption *options=0) const
Definition: vips-operators.cpp:2709
void vipssave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:3618
VImage hist_find_indexed(VImage index, VOption *options=0) const
Definition: vips-operators.cpp:1467
VImage ifthenelse(std::vector< double > th, std::vector< double > el, VOption *options=0) const
Definition: VImage8.h:1608
std::vector< VImage > bandsplit(VOption *options=0) const
Definition: VImage.cpp:809
VImage rect(VOption *options=0) const
Definition: VImage8.h:1336
VipsBandFormat format() const
Definition: VImage8.h:471
static VImage thumbnail_source(VSource source, int width, VOption *options=0)
Definition: vips-operators.cpp:3462
VImage mapim(VImage index, VOption *options=0) const
Definition: vips-operators.cpp:2000
VImage recomb(VImage m, VOption *options=0) const
Definition: vips-operators.cpp:2882
void get_array_int(const char *field, int **out, int *n) const
Definition: VImage8.h:695
VImage rot180(VOption *options=0) const
Definition: VImage8.h:1195
VImage icc_transform(const char *output_profile, VOption *options=0) const
Definition: vips-operators.cpp:1603
static VImage new_from_buffer(const void *buf, size_t len, const char *option_string, VOption *options=0)
Definition: VImage.cpp:584
static VImage thumbnail(const char *filename, int width, VOption *options=0)
Definition: vips-operators.cpp:3423
void pngsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2629
static VImage gifload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:1236
static VImage radload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:2784
static VImage gifload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1248
VImage embed(int x, int y, int width, int height, VOption *options=0) const
Definition: vips-operators.cpp:953
static VImage openslideload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2494
void matrixsave_target(VTarget target, VOption *options=0) const
Definition: vips-operators.cpp:2309
int width() const
Definition: VImage8.h:444
VImage bandbool(VipsOperationBoolean boolean, VOption *options=0) const
Definition: vips-operators.cpp:318
VImage convasep(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:651
VImage float2rad(VOption *options=0) const
Definition: vips-operators.cpp:1120
double min(VOption *options=0) const
Definition: vips-operators.cpp:2359
VImage pow(std::vector< double > other, VOption *options=0) const
Definition: VImage8.h:1517
VImage cos(VOption *options=0) const
Definition: VImage8.h:1363
VImage composite2(VImage overlay, VipsBlendMode mode, VOption *options=0) const
Definition: vips-operators.cpp:611
static VImage switch_image(std::vector< VImage > tests, VOption *options=0)
Definition: vips-operators.cpp:3392
static VImage bandrank(std::vector< VImage > in, VOption *options=0)
Definition: vips-operators.cpp:380
VImage replicate(int across, int down, VOption *options=0) const
Definition: vips-operators.cpp:2989
VipsBlob * radsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:2816
VImage bandunfold(VOption *options=0) const
Definition: vips-operators.cpp:392
static VImage gaussmat(double sigma, double min_ampl, VOption *options=0)
Definition: vips-operators.cpp:1196
static VImage matrixload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:2270
VipsBlob * pngsave_buffer(VOption *options=0) const
Definition: vips-operators.cpp:2637
static VImage tiffload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:3475
int xoffset() const
Definition: VImage8.h:527
VImage affine(std::vector< double > matrix, VOption *options=0) const
Definition: vips-operators.cpp:257
VImage tan(VOption *options=0) const
Definition: VImage8.h:1372
VImage matrixinvert(VOption *options=0) const
Definition: vips-operators.cpp:2258
static VImage magickload_buffer(VipsBlob *buffer, VOption *options=0)
Definition: vips-operators.cpp:1968
VImage linear(std::vector< double > a, double b, VOption *options=0) const
Definition: VImage8.h:1102
VImage add(VImage right, VOption *options=0) const
Definition: vips-operators.cpp:244
VImage LabQ2LabS(VOption *options=0) const
Definition: vips-operators.cpp:124
static VImage csvload(const char *filename, VOption *options=0)
Definition: vips-operators.cpp:744
VImage LCh2Lab(VOption *options=0) const
Definition: vips-operators.cpp:52
VImage hist_cum(VOption *options=0) const
Definition: vips-operators.cpp:1419
void csvsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:768
VImage cast(VipsBandFormat format, VOption *options=0) const
Definition: vips-operators.cpp:506
static VImage mask_butterworth(int width, int height, double order, double frequency_cutoff, double amplitude_cutoff, VOption *options=0)
Definition: vips-operators.cpp:2026
static VImage text(const char *text, VOption *options=0)
Definition: vips-operators.cpp:3411
static VImage fitsload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1075
const void * data() const
Definition: VImage8.h:567
VImage msb(VOption *options=0) const
Definition: vips-operators.cpp:2425
static VOption * option()
Definition: VImage8.h:821
static VImage identity(VOption *options=0)
Definition: vips-operators.cpp:1616
VImage flatten(VOption *options=0) const
Definition: vips-operators.cpp:1095
VImage project(VImage *rows, VOption *options=0) const
Definition: vips-operators.cpp:2734
VImage bandeor(VOption *options=0) const
Definition: VImage8.h:1300
VImage wrap(VOption *options=0) const
Definition: vips-operators.cpp:3703
VImage convsep(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:690
VImage reducev(double vshrink, VOption *options=0) const
Definition: vips-operators.cpp:2922
static VImage jxlload_source(VSource source, VOption *options=0)
Definition: vips-operators.cpp:1865
void radsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:2808
VImage XYZ2scRGB(VOption *options=0) const
Definition: vips-operators.cpp:208
VImage gaussblur(double sigma, VOption *options=0) const
Definition: vips-operators.cpp:1183
VImage invertlut(VOption *options=0) const
Definition: vips-operators.cpp:1668
static VImage thumbnail_buffer(VipsBlob *buffer, int width, VOption *options=0)
Definition: vips-operators.cpp:3436
VImage polar(VOption *options=0) const
Definition: VImage8.h:1327
VImage bandjoin(VImage other, VOption *options=0) const
Definition: VImage.cpp:821
VImage resize(double scale, VOption *options=0) const
Definition: vips-operators.cpp:3003
VImage ifthenelse(VImage th, double el, VOption *options=0) const
Definition: VImage8.h:1630
void dzsave(const char *filename, VOption *options=0) const
Definition: vips-operators.cpp:925
VImage compass(VImage mask, VOption *options=0) const
Definition: vips-operators.cpp:532
VImage measure(int h, int v, VOption *options=0) const
Definition: vips-operators.cpp:2329
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:2060
VImage subsample(int xfac, int yfac, VOption *options=0) const
Definition: vips-operators.cpp:3317
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:218
void get_operation(VipsOperation *operation)
Definition: VImage.cpp:447
VOption * set(const char *name, bool value)
Definition: VImage.cpp:122
void set_operation(VipsOperation *operation)
Definition: VImage.cpp:425
Definition: VRegion8.h:41
Definition: VConnection8.h:46
Definition: VConnection8.h:107