1# libvips enums -- this file is generated automatically
2
3
4class BandFormat(object):
5    """BandFormat.
6
7The format used for each band element.
8
9Each corresponds to a native C type for the current machine. For example,
10#VIPS_FORMAT_USHORT is <type>unsigned short</type>.
11
12Attributes:
13
14    NOTSET (str): invalid setting
15
16    UCHAR (str): unsigned char format
17
18    CHAR (str): char format
19
20    USHORT (str): unsigned short format
21
22    SHORT (str): short format
23
24    UINT (str): unsigned int format
25
26    INT (str): int format
27
28    FLOAT (str): float format
29
30    COMPLEX (str): complex (two floats) format
31
32    DOUBLE (str): double float format
33
34    DPCOMPLEX (str): double complex (two double) format
35
36    """
37
38    NOTSET = 'notset'
39    UCHAR = 'uchar'
40    CHAR = 'char'
41    USHORT = 'ushort'
42    SHORT = 'short'
43    UINT = 'uint'
44    INT = 'int'
45    FLOAT = 'float'
46    COMPLEX = 'complex'
47    DOUBLE = 'double'
48    DPCOMPLEX = 'dpcomplex'
49
50
51class BlendMode(object):
52    """BlendMode.
53
54The various Porter-Duff and PDF blend modes. See vips_composite(),
55for example.
56
57The Cairo docs have a nice explanation of all the blend modes:
58
59https://www.cairographics.org/operators
60
61The non-separable modes are not implemented.
62
63Attributes:
64
65    CLEAR (str): where the second object is drawn, the first is removed
66
67    SOURCE (str): the second object is drawn as if nothing were below
68
69    OVER (str): the image shows what you would expect if you held two semi-transparent slides on top of each other
70
71    IN (str): the first object is removed completely, the second is only drawn where the first was
72
73    OUT (str): the second is drawn only where the first isn't
74
75    ATOP (str): this leaves the first object mostly intact, but mixes both objects in the overlapping area
76
77    DEST (str): leaves the first object untouched, the second is discarded completely
78
79    DEST_OVER (str): like OVER, but swaps the arguments
80
81    DEST_IN (str): like IN, but swaps the arguments
82
83    DEST_OUT (str): like OUT, but swaps the arguments
84
85    DEST_ATOP (str): like ATOP, but swaps the arguments
86
87    XOR (str): something like a difference operator
88
89    ADD (str): a bit like adding the two images
90
91    SATURATE (str): a bit like the darker of the two
92
93    MULTIPLY (str): at least as dark as the darker of the two inputs
94
95    SCREEN (str): at least as light as the lighter of the inputs
96
97    OVERLAY (str): multiplies or screens colors, depending on the lightness
98
99    DARKEN (str): the darker of each component
100
101    LIGHTEN (str): the lighter of each component
102
103    COLOUR_DODGE (str): brighten first by a factor second
104
105    COLOUR_BURN (str): darken first by a factor of second
106
107    HARD_LIGHT (str): multiply or screen, depending on lightness
108
109    SOFT_LIGHT (str): darken or lighten, depending on lightness
110
111    DIFFERENCE (str): difference of the two
112
113    EXCLUSION (str): somewhat like DIFFERENCE, but lower-contrast
114
115    """
116
117    CLEAR = 'clear'
118    SOURCE = 'source'
119    OVER = 'over'
120    IN = 'in'
121    OUT = 'out'
122    ATOP = 'atop'
123    DEST = 'dest'
124    DEST_OVER = 'dest-over'
125    DEST_IN = 'dest-in'
126    DEST_OUT = 'dest-out'
127    DEST_ATOP = 'dest-atop'
128    XOR = 'xor'
129    ADD = 'add'
130    SATURATE = 'saturate'
131    MULTIPLY = 'multiply'
132    SCREEN = 'screen'
133    OVERLAY = 'overlay'
134    DARKEN = 'darken'
135    LIGHTEN = 'lighten'
136    COLOUR_DODGE = 'colour-dodge'
137    COLOUR_BURN = 'colour-burn'
138    HARD_LIGHT = 'hard-light'
139    SOFT_LIGHT = 'soft-light'
140    DIFFERENCE = 'difference'
141    EXCLUSION = 'exclusion'
142
143
144class Coding(object):
145    """Coding.
146
147How pixels are coded.
148
149Normally, pixels are uncoded and can be manipulated as you would expect.
150However some file formats code pixels for compression, and sometimes it's
151useful to be able to manipulate images in the coded format.
152
153The gaps in the numbering are historical and must be maintained. Allocate
154new numbers from the end.
155
156Attributes:
157
158    NONE (str): pixels are not coded
159
160    LABQ (str): pixels encode 3 float CIELAB values as 4 uchar
161
162    RAD (str): pixels encode 3 float RGB as 4 uchar (Radiance coding)
163
164    """
165
166    ERROR = 'error'
167    NONE = 'none'
168    LABQ = 'labq'
169    RAD = 'rad'
170
171
172class Interpretation(object):
173    """Interpretation.
174
175How the values in an image should be interpreted. For example, a
176three-band float image of type #VIPS_INTERPRETATION_LAB should have its
177pixels interpreted as coordinates in CIE Lab space.
178
179RGB and sRGB are treated in the same way. Use the colourspace functions if
180you want some other behaviour.
181
182The gaps in numbering are historical and must be maintained. Allocate
183new numbers from the end.
184
185Attributes:
186
187    MULTIBAND (str): generic many-band image
188
189    B_W (str): some kind of single-band image
190
191    HISTOGRAM (str): a 1D image, eg. histogram or lookup table
192
193    XYZ (str): the first three bands are CIE XYZ
194
195    LAB (str): pixels are in CIE Lab space
196
197    CMYK (str): the first four bands are in CMYK space
198
199    LABQ (str): implies #VIPS_CODING_LABQ
200
201    RGB (str): generic RGB space
202
203    CMC (str): a uniform colourspace based on CMC(1:1)
204
205    LCH (str): pixels are in CIE LCh space
206
207    LABS (str): CIE LAB coded as three signed 16-bit values
208
209    SRGB (str): pixels are sRGB
210
211    YXY (str): pixels are CIE Yxy
212
213    FOURIER (str): image is in fourier space
214
215    RGB16 (str): generic 16-bit RGB
216
217    GREY16 (str): generic 16-bit mono
218
219    MATRIX (str): a matrix
220
221    SCRGB (str): pixels are scRGB
222
223    HSV (str): pixels are HSV
224
225    """
226
227    ERROR = 'error'
228    MULTIBAND = 'multiband'
229    B_W = 'b-w'
230    HISTOGRAM = 'histogram'
231    XYZ = 'xyz'
232    LAB = 'lab'
233    CMYK = 'cmyk'
234    LABQ = 'labq'
235    RGB = 'rgb'
236    CMC = 'cmc'
237    LCH = 'lch'
238    LABS = 'labs'
239    SRGB = 'srgb'
240    YXY = 'yxy'
241    FOURIER = 'fourier'
242    RGB16 = 'rgb16'
243    GREY16 = 'grey16'
244    MATRIX = 'matrix'
245    SCRGB = 'scrgb'
246    HSV = 'hsv'
247
248
249class DemandStyle(object):
250    """DemandStyle.
251
252See vips_image_pipelinev(). Operations can hint to the VIPS image IO
253system about the kind of demand geometry they prefer.
254
255These demand styles are given below in order of increasing
256restrictiveness.  When demanding output from a pipeline,
257vips_image_generate()
258will use the most restrictive of the styles requested by the operations
259in the pipeline.
260
261#VIPS_DEMAND_STYLE_THINSTRIP --- This operation would like to output strips
262the width of the image and a few pels high. This is option suitable for
263point-to-point operations, such as those in the arithmetic package.
264
265This option is only efficient for cases where each output pel depends
266upon the pel in the corresponding position in the input image.
267
268#VIPS_DEMAND_STYLE_FATSTRIP --- This operation would like to output strips
269the width of the image and as high as possible. This option is suitable
270for area operations which do not violently transform coordinates, such
271as vips_conv().
272
273#VIPS_DEMAND_STYLE_SMALLTILE --- This is the most general demand format.
274Output is demanded in small (around 100x100 pel) sections. This style works
275reasonably efficiently, even for bizzare operations like 45 degree rotate.
276
277#VIPS_DEMAND_STYLE_ANY --- This image is not being demand-read from a disc
278file (even indirectly) so any demand style is OK. It's used for things like
279vips_black() where the pixels are calculated.
280
281See also: vips_image_pipelinev().
282
283Attributes:
284
285    SMALLTILE (str): demand in small (typically 64x64 pixel) tiles
286
287    FATSTRIP (str): demand in fat (typically 10 pixel high) strips
288
289    THINSTRIP (str): demand in thin (typically 1 pixel high) strips
290
291    """
292
293    ERROR = 'error'
294    SMALLTILE = 'smalltile'
295    FATSTRIP = 'fatstrip'
296    THINSTRIP = 'thinstrip'
297
298
299class OperationRelational(object):
300    """OperationRelational.
301
302See also: vips_relational().
303
304Attributes:
305
306    EQUAL (str): ==
307
308    NOTEQ (str): !=
309
310    LESS (str): <
311
312    LESSEQ (str): <=
313
314    MORE (str): >
315
316    MOREEQ (str): >=
317
318    """
319
320    EQUAL = 'equal'
321    NOTEQ = 'noteq'
322    LESS = 'less'
323    LESSEQ = 'lesseq'
324    MORE = 'more'
325    MOREEQ = 'moreeq'
326
327
328class OperationBoolean(object):
329    """OperationBoolean.
330
331See also: vips_boolean().
332
333Attributes:
334
335    AND (str): &
336
337    OR (str): |
338
339    EOR (str): ^
340
341    LSHIFT (str): >>
342
343    RSHIFT (str): <<
344
345    """
346
347    AND = 'and'
348    OR = 'or'
349    EOR = 'eor'
350    LSHIFT = 'lshift'
351    RSHIFT = 'rshift'
352
353
354class OperationMath2(object):
355    """OperationMath2.
356
357See also: vips_math().
358
359Attributes:
360
361    POW (str): pow( left, right )
362
363    WOP (str): pow( right, left )
364
365    ATAN2 (str): atan2( left, right )
366
367    """
368
369    POW = 'pow'
370    WOP = 'wop'
371    ATAN2 = 'atan2'
372
373
374class OperationComplex2(object):
375    """OperationComplex2.
376
377See also: vips_complex2().
378
379Attributes:
380
381    CROSS_PHASE (str): convert to polar coordinates
382
383    """
384
385    CROSS_PHASE = 'cross-phase'
386
387
388class OperationMath(object):
389    """OperationMath.
390
391See also: vips_math().
392
393Attributes:
394
395    SIN (str): sin(), angles in degrees
396
397    COS (str): cos(), angles in degrees
398
399    TAN (str): tan(), angles in degrees
400
401    ASIN (str): asin(), angles in degrees
402
403    ACOS (str): acos(), angles in degrees
404
405    ATAN (str): atan(), angles in degrees
406
407    SINH (str): sinh(), angles in radians
408
409    COSH (str): cosh(), angles in radians
410
411    TANH (str): tanh(), angles in radians
412
413    ASINH (str): asinh(), angles in radians
414
415    ACOSH (str): acosh(), angles in radians
416
417    ATANH (str): atanh(), angles in radians
418
419    LOG (str): log base e
420
421    LOG10 (str): log base 10
422
423    EXP (str): e to the something
424
425    EXP10 (str): 10 to the something
426
427    """
428
429    SIN = 'sin'
430    COS = 'cos'
431    TAN = 'tan'
432    ASIN = 'asin'
433    ACOS = 'acos'
434    ATAN = 'atan'
435    SINH = 'sinh'
436    COSH = 'cosh'
437    TANH = 'tanh'
438    ASINH = 'asinh'
439    ACOSH = 'acosh'
440    ATANH = 'atanh'
441    LOG = 'log'
442    LOG10 = 'log10'
443    EXP = 'exp'
444    EXP10 = 'exp10'
445
446
447class OperationRound(object):
448    """OperationRound.
449
450See also: vips_round().
451
452Attributes:
453
454    RINT (str): round to nearest
455
456    CEIL (str): the smallest integral value not less than
457
458    FLOOR (str): largest integral value not greater than
459
460    """
461
462    RINT = 'rint'
463    CEIL = 'ceil'
464    FLOOR = 'floor'
465
466
467class OperationComplex(object):
468    """OperationComplex.
469
470See also: vips_complex().
471
472Attributes:
473
474    POLAR (str): convert to polar coordinates
475
476    RECT (str): convert to rectangular coordinates
477
478    CONJ (str): complex conjugate
479
480    """
481
482    POLAR = 'polar'
483    RECT = 'rect'
484    CONJ = 'conj'
485
486
487class OperationComplexget(object):
488    """OperationComplexget.
489
490See also: vips_complexget().
491
492Attributes:
493
494    REAL (str): get real component
495
496    IMAG (str): get imaginary component
497
498    """
499
500    REAL = 'real'
501    IMAG = 'imag'
502
503
504class Combine(object):
505    """Combine.
506
507How to combine values. See vips_compass(), for example.
508
509Attributes:
510
511    MAX (str): take the maximum of the possible values
512
513    SUM (str): sum all the values
514
515    MIN (str): take the minimum value
516
517    """
518
519    MAX = 'max'
520    SUM = 'sum'
521    MIN = 'min'
522
523
524class Access(object):
525    """Access.
526
527The type of access an operation has to supply. See vips_tilecache()
528and #VipsForeign.
529
530@VIPS_ACCESS_RANDOM means requests can come in any order.
531
532@VIPS_ACCESS_SEQUENTIAL means requests will be top-to-bottom, but with some
533amount of buffering behind the read point for small non-local accesses.
534
535Attributes:
536
537    RANDOM (str): can read anywhere
538
539    SEQUENTIAL (str): top-to-bottom reading only, but with a small buffer
540
541    """
542
543    RANDOM = 'random'
544    SEQUENTIAL = 'sequential'
545    SEQUENTIAL_UNBUFFERED = 'sequential-unbuffered'
546
547
548class Extend(object):
549    """Extend.
550
551See vips_embed(), vips_conv(), vips_affine() and so on.
552
553When the edges of an image are extended, you can specify
554how you want the extension done.
555
556#VIPS_EXTEND_BLACK --- new pixels are black, ie. all bits are zero.
557
558#VIPS_EXTEND_COPY --- each new pixel takes the value of the nearest edge
559pixel
560
561#VIPS_EXTEND_REPEAT --- the image is tiled to fill the new area
562
563#VIPS_EXTEND_MIRROR --- the image is reflected and tiled to reduce hash
564edges
565
566#VIPS_EXTEND_WHITE --- new pixels are white, ie. all bits are set
567
568#VIPS_EXTEND_BACKGROUND --- colour set from the @background property
569
570We have to specify the exact value of each enum member since we have to
571keep these frozen for back compat with vips7.
572
573See also: vips_embed().
574
575Attributes:
576
577    BLACK (str): extend with black (all 0) pixels
578
579    COPY (str): copy the image edges
580
581    REPEAT (str): repeat the whole image
582
583    MIRROR (str): mirror the whole image
584
585    WHITE (str): extend with white (all bits set) pixels
586
587    BACKGROUND (str): extend with colour from the @background property
588
589    """
590
591    BLACK = 'black'
592    COPY = 'copy'
593    REPEAT = 'repeat'
594    MIRROR = 'mirror'
595    WHITE = 'white'
596    BACKGROUND = 'background'
597
598
599class CompassDirection(object):
600    """CompassDirection.
601
602A direction on a compass. Used for vips_gravity(), for example.
603
604Attributes:
605
606    CENTRE (str): centre
607
608    NORTH (str): north
609
610    EAST (str): east
611
612    SOUTH (str): south
613
614    WEST (str): west
615
616    NORTH_EAST (str): north-east
617
618    SOUTH_EAST (str): south-east
619
620    SOUTH_WEST (str): south-west
621
622    NORTH_WEST (str): north-west
623
624    """
625
626    CENTRE = 'centre'
627    NORTH = 'north'
628    EAST = 'east'
629    SOUTH = 'south'
630    WEST = 'west'
631    NORTH_EAST = 'north-east'
632    SOUTH_EAST = 'south-east'
633    SOUTH_WEST = 'south-west'
634    NORTH_WEST = 'north-west'
635
636
637class Direction(object):
638    """Direction.
639
640See vips_flip(), vips_join() and so on.
641
642Operations like vips_flip() need to be told whether to flip left-right or
643top-bottom.
644
645See also: vips_flip(), vips_join().
646
647Attributes:
648
649    HORIZONTAL (str): left-right
650
651    VERTICAL (str): top-bottom
652
653    """
654
655    HORIZONTAL = 'horizontal'
656    VERTICAL = 'vertical'
657
658
659class Align(object):
660    """Align.
661
662See vips_join() and so on.
663
664Operations like vips_join() need to be told whether to align images on the
665low or high coordinate edge, or centre.
666
667See also: vips_join().
668
669Attributes:
670
671    LOW (str): align low coordinate edge
672
673    CENTRE (str): align centre
674
675    HIGH (str): align high coordinate edge
676
677    """
678
679    LOW = 'low'
680    CENTRE = 'centre'
681    HIGH = 'high'
682
683
684class Interesting(object):
685    """Interesting.
686
687Pick the algorithm vips uses to decide image "interestingness". This is used
688by vips_smartcrop(), for example, to decide what parts of the image to
689keep.
690
691#VIPS_INTERESTING_NONE and #VIPS_INTERESTING_LOW mean the same -- the
692crop is positioned at the top or left. #VIPS_INTERESTING_HIGH positions at
693the bottom or right.
694
695See also: vips_smartcrop().
696
697Attributes:
698
699    NONE (str): do nothing
700
701    CENTRE (str): just take the centre
702
703    ENTROPY (str): use an entropy measure
704
705    ATTENTION (str): look for features likely to draw human attention
706
707    LOW (str): position the crop towards the low coordinate
708
709    HIGH (str): position the crop towards the high coordinate
710
711    ALL (str): everything is interesting
712
713    """
714
715    NONE = 'none'
716    CENTRE = 'centre'
717    ENTROPY = 'entropy'
718    ATTENTION = 'attention'
719    LOW = 'low'
720    HIGH = 'high'
721    ALL = 'all'
722
723
724class Angle(object):
725    """Angle.
726
727See vips_rot() and so on.
728
729Fixed rotate angles.
730
731See also: vips_rot().
732
733Attributes:
734
735    D0 (str): no rotate
736
737    D90 (str): 90 degrees clockwise
738
739    D180 (str): 180 degree rotate
740
741    D270 (str): 90 degrees anti-clockwise
742
743    """
744
745    D0 = 'd0'
746    D90 = 'd90'
747    D180 = 'd180'
748    D270 = 'd270'
749
750
751class Angle45(object):
752    """Angle45.
753
754See vips_rot45() and so on.
755
756Fixed rotate angles.
757
758See also: vips_rot45().
759
760Attributes:
761
762    D0 (str): no rotate
763
764    D45 (str): 45 degrees clockwise
765
766    D90 (str): 90 degrees clockwise
767
768    D135 (str): 135 degrees clockwise
769
770    D180 (str): 180 degrees
771
772    D225 (str): 135 degrees anti-clockwise
773
774    D270 (str): 90 degrees anti-clockwise
775
776    D315 (str): 45 degrees anti-clockwise
777
778    """
779
780    D0 = 'd0'
781    D45 = 'd45'
782    D90 = 'd90'
783    D135 = 'd135'
784    D180 = 'd180'
785    D225 = 'd225'
786    D270 = 'd270'
787    D315 = 'd315'
788
789
790class Precision(object):
791    """Precision.
792
793How accurate an operation should be.
794
795Attributes:
796
797    INTEGER (str): int everywhere
798
799    FLOAT (str): float everywhere
800
801    APPROXIMATE (str): approximate integer output
802
803    """
804
805    INTEGER = 'integer'
806    FLOAT = 'float'
807    APPROXIMATE = 'approximate'
808
809
810class FailOn(object):
811    """FailOn.
812
813How sensitive loaders are to errors, from never stop (very insensitive), to
814stop on the smallest warning (very sensitive).
815
816Each one implies the ones before it, so #VIPS_FAIL_ON_ERROR implies
817#VIPS_FAIL_ON_TRUNCATED.
818
819Attributes:
820
821    NONE (str): never stop
822
823    TRUNCATED (str): stop on image truncated, nothing else
824
825    ERROR (str): stop on serious error or truncation
826
827    WARNING (str): stop on anything, even warnings
828
829    """
830
831    NONE = 'none'
832    TRUNCATED = 'truncated'
833    ERROR = 'error'
834    WARNING = 'warning'
835
836
837class ForeignPpmFormat(object):
838    """ForeignPpmFormat.
839
840The netpbm file format to save as.
841
842#VIPS_FOREIGN_PPM_FORMAT_PBM images are single bit.
843
844#VIPS_FOREIGN_PPM_FORMAT_PGM images are 8, 16, or 32-bits, one band.
845
846#VIPS_FOREIGN_PPM_FORMAT_PPM images are 8, 16, or 32-bits, three bands.
847
848#VIPS_FOREIGN_PPM_FORMAT_PFM images are 32-bit float pixels.
849
850Attributes:
851
852    PBM (str): portable bitmap
853
854    PGM (str): portable greymap
855
856    PPM (str): portable pixmap
857
858    PFM (str): portable float map
859
860    """
861
862    PBM = 'pbm'
863    PGM = 'pgm'
864    PPM = 'ppm'
865    PFM = 'pfm'
866
867
868class ForeignSubsample(object):
869    """ForeignSubsample.
870
871Set subsampling mode.
872
873Attributes:
874
875    AUTO (str): prevent subsampling when quality >= 90
876
877    ON (str): always perform subsampling
878
879    OFF (str): never perform subsampling
880
881    """
882
883    AUTO = 'auto'
884    ON = 'on'
885    OFF = 'off'
886
887
888class ForeignDzLayout(object):
889    """ForeignDzLayout.
890
891What directory layout and metadata standard to use.
892
893Attributes:
894
895    DZ (str): use DeepZoom directory layout
896
897    ZOOMIFY (str): use Zoomify directory layout
898
899    GOOGLE (str): use Google maps directory layout
900
901    IIIF (str): use IIIF v2 directory layout
902
903    IIIF3 (str): use IIIF v3 directory layout
904
905    """
906
907    DZ = 'dz'
908    ZOOMIFY = 'zoomify'
909    GOOGLE = 'google'
910    IIIF = 'iiif'
911    IIIF3 = 'iiif3'
912
913
914class ForeignDzDepth(object):
915    """ForeignDzDepth.
916
917How many pyramid layers to create.
918
919Attributes:
920
921    ONEPIXEL (str): create layers down to 1x1 pixel
922
923    ONETILE (str): create layers down to 1x1 tile
924
925    ONE (str): only create a single layer
926
927    """
928
929    ONEPIXEL = 'onepixel'
930    ONETILE = 'onetile'
931    ONE = 'one'
932
933
934class ForeignDzContainer(object):
935    """ForeignDzContainer.
936
937How many pyramid layers to create.
938
939Attributes:
940
941    FS (str): write tiles to the filesystem
942
943    ZIP (str): write tiles to a zip file
944
945    SZI (str): write to a szi file
946
947    """
948
949    FS = 'fs'
950    ZIP = 'zip'
951    SZI = 'szi'
952
953
954class RegionShrink(object):
955    """RegionShrink.
956
957How to calculate the output pixels when shrinking a 2x2 region.
958
959Attributes:
960
961    MEAN (str): use the average
962
963    MEDIAN (str): use the median
964
965    MODE (str): use the mode
966
967    MAX (str): use the maximum
968
969    MIN (str): use the minimum
970
971    NEAREST (str): use the top-left pixel
972
973    """
974
975    MEAN = 'mean'
976    MEDIAN = 'median'
977    MODE = 'mode'
978    MAX = 'max'
979    MIN = 'min'
980    NEAREST = 'nearest'
981
982
983class ForeignWebpPreset(object):
984    """ForeignWebpPreset.
985
986Tune lossy encoder settings for different image types.
987
988Attributes:
989
990    DEFAULT (str): default preset
991
992    PICTURE (str): digital picture, like portrait, inner shot
993
994    PHOTO (str): outdoor photograph, with natural lighting
995
996    DRAWING (str): hand or line drawing, with high-contrast details
997
998    ICON (str): small-sized colorful images
999
1000    TEXT (str): text-like
1001
1002    """
1003
1004    DEFAULT = 'default'
1005    PICTURE = 'picture'
1006    PHOTO = 'photo'
1007    DRAWING = 'drawing'
1008    ICON = 'icon'
1009    TEXT = 'text'
1010
1011
1012class ForeignTiffCompression(object):
1013    """ForeignTiffCompression.
1014
1015The compression types supported by the tiff writer.
1016
1017Use @Q to set the jpeg compression level, default 75.
1018
1019Use @predictor to set the lzw or deflate prediction, default horizontal.
1020
1021Use @lossless to set WEBP lossless compression.
1022
1023Use @level to set webp and zstd compression level.
1024
1025Attributes:
1026
1027    NONE (str): no compression
1028
1029    JPEG (str): jpeg compression
1030
1031    DEFLATE (str): deflate (zip) compression
1032
1033    PACKBITS (str): packbits compression
1034
1035    CCITTFAX4 (str): fax4 compression
1036
1037    LZW (str): LZW compression
1038
1039    WEBP (str): WEBP compression
1040
1041    ZSTD (str): ZSTD compression
1042
1043    JP2K (str): JP2K compression
1044
1045    """
1046
1047    NONE = 'none'
1048    JPEG = 'jpeg'
1049    DEFLATE = 'deflate'
1050    PACKBITS = 'packbits'
1051    CCITTFAX4 = 'ccittfax4'
1052    LZW = 'lzw'
1053    WEBP = 'webp'
1054    ZSTD = 'zstd'
1055    JP2K = 'jp2k'
1056
1057
1058class ForeignTiffPredictor(object):
1059    """ForeignTiffPredictor.
1060
1061The predictor can help deflate and lzw compression. The values are fixed by
1062the tiff library.
1063
1064Attributes:
1065
1066    NONE (str): no prediction
1067
1068    HORIZONTAL (str): horizontal differencing
1069
1070    FLOAT (str): float predictor
1071
1072    """
1073
1074    NONE = 'none'
1075    HORIZONTAL = 'horizontal'
1076    FLOAT = 'float'
1077
1078
1079class ForeignTiffResunit(object):
1080    """ForeignTiffResunit.
1081
1082Use inches or centimeters as the resolution unit for a tiff file.
1083
1084Attributes:
1085
1086    CM (str): use centimeters
1087
1088    INCH (str): use inches
1089
1090    """
1091
1092    CM = 'cm'
1093    INCH = 'inch'
1094
1095
1096class ForeignHeifCompression(object):
1097    """ForeignHeifCompression.
1098
1099The compression format to use inside a HEIF container.
1100
1101This is assumed to use the same numbering as %heif_compression_format.
1102
1103Attributes:
1104
1105    HEVC (str): x265
1106
1107    AVC (str): x264
1108
1109    JPEG (str): jpeg
1110
1111    AV1 (str): aom
1112
1113    """
1114
1115    HEVC = 'hevc'
1116    AVC = 'avc'
1117    JPEG = 'jpeg'
1118    AV1 = 'av1'
1119
1120
1121class Size(object):
1122    """Size.
1123
1124Controls whether an operation should upsize, downsize, both up and
1125downsize, or force a size.
1126
1127See also: vips_thumbnail().
1128
1129Attributes:
1130
1131    BOTH (str): size both up and down
1132
1133    UP (str): only upsize
1134
1135    DOWN (str): only downsize
1136
1137    FORCE (str): force size, that is, break aspect ratio
1138
1139    """
1140
1141    BOTH = 'both'
1142    UP = 'up'
1143    DOWN = 'down'
1144    FORCE = 'force'
1145
1146
1147class Intent(object):
1148    """Intent.
1149
1150The rendering intent. #VIPS_INTENT_ABSOLUTE is best for
1151scientific work, #VIPS_INTENT_RELATIVE is usually best for
1152accurate communication with other imaging libraries.
1153
1154Attributes:
1155
1156    PERCEPTUAL (str): perceptual rendering intent
1157
1158    RELATIVE (str): relative colorimetric rendering intent
1159
1160    SATURATION (str): saturation rendering intent
1161
1162    ABSOLUTE (str): absolute colorimetric rendering intent
1163
1164    """
1165
1166    PERCEPTUAL = 'perceptual'
1167    RELATIVE = 'relative'
1168    SATURATION = 'saturation'
1169    ABSOLUTE = 'absolute'
1170
1171
1172class Kernel(object):
1173    """Kernel.
1174
1175The resampling kernels vips supports. See vips_reduce(), for example.
1176
1177Attributes:
1178
1179    NEAREST (str): The nearest pixel to the point.
1180
1181    LINEAR (str): Convolve with a triangle filter.
1182
1183    CUBIC (str): Convolve with a cubic filter.
1184
1185    MITCHELL (str): Convolve with a Mitchell kernel.
1186
1187    LANCZOS2 (str): Convolve with a two-lobe Lanczos kernel.
1188
1189    LANCZOS3 (str): Convolve with a three-lobe Lanczos kernel.
1190
1191    """
1192
1193    NEAREST = 'nearest'
1194    LINEAR = 'linear'
1195    CUBIC = 'cubic'
1196    MITCHELL = 'mitchell'
1197    LANCZOS2 = 'lanczos2'
1198    LANCZOS3 = 'lanczos3'
1199
1200
1201class PCS(object):
1202    """PCS.
1203
1204Pick a Profile Connection Space for vips_icc_import() and
1205vips_icc_export(). LAB is usually best, XYZ can be more convenient in some
1206cases.
1207
1208Attributes:
1209
1210    LAB (str): use CIELAB D65 as the Profile Connection Space
1211
1212    XYZ (str): use XYZ as the Profile Connection Space
1213
1214    """
1215
1216    LAB = 'lab'
1217    XYZ = 'xyz'
1218
1219
1220class OperationMorphology(object):
1221    """OperationMorphology.
1222
1223More like hit-miss, really.
1224
1225See also: vips_morph().
1226
1227Attributes:
1228
1229    ERODE (str): true if all set
1230
1231    DILATE (str): true if one set
1232
1233    """
1234
1235    ERODE = 'erode'
1236    DILATE = 'dilate'
1237
1238
1239class CombineMode(object):
1240    """CombineMode.
1241
1242See vips_draw_image() and so on.
1243
1244Operations like vips_draw_image() need to be told how to combine images
1245from two sources.
1246
1247See also: vips_join().
1248
1249Attributes:
1250
1251    SET (str): set pixels to the new value
1252
1253    ADD (str): add pixels
1254
1255    """
1256
1257    SET = 'set'
1258    ADD = 'add'
1259
1260
1261class Token(object):
1262    """Token.
1263
1264Attributes:
1265
1266    """
1267
1268    LEFT = 'left'
1269    RIGHT = 'right'
1270    STRING = 'string'
1271    EQUALS = 'equals'
1272
1273
1274class Saveable(object):
1275    """Saveable.
1276
1277See also: #VipsForeignSave.
1278
1279Attributes:
1280
1281    MONO (str): 1 band (eg. CSV)
1282
1283    RGB (str): 1 or 3 bands (eg. PPM)
1284
1285    RGBA (str): 1, 2, 3 or 4 bands (eg. PNG)
1286
1287    RGBA_ONLY (str): 3 or 4 bands (eg. WEBP)
1288
1289    RGB_CMYK (str): 1, 3 or 4 bands (eg. JPEG)
1290
1291    ANY (str): any number of bands (eg. TIFF)
1292
1293    """
1294
1295    MONO = 'mono'
1296    RGB = 'rgb'
1297    RGBA = 'rgba'
1298    RGBA_ONLY = 'rgba-only'
1299    RGB_CMYK = 'rgb-cmyk'
1300    ANY = 'any'
1301
1302
1303class ImageType(object):
1304    """ImageType.
1305
1306Attributes:
1307
1308    """
1309
1310    ERROR = 'error'
1311    NONE = 'none'
1312    SETBUF = 'setbuf'
1313    SETBUF_FOREIGN = 'setbuf-foreign'
1314    OPENIN = 'openin'
1315    MMAPIN = 'mmapin'
1316    MMAPINRW = 'mmapinrw'
1317    OPENOUT = 'openout'
1318