vips 8.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.travis.yml +47 -0
  4. data/.yardopts +2 -0
  5. data/Gemfile +4 -0
  6. data/README.md +64 -0
  7. data/Rakefile +28 -0
  8. data/example/annotate.rb +17 -0
  9. data/example/daltonize8.rb +75 -0
  10. data/example/example1.rb +12 -0
  11. data/example/example2.rb +34 -0
  12. data/example/example3.rb +19 -0
  13. data/example/example4.rb +18 -0
  14. data/example/example5.rb +31 -0
  15. data/example/inheritance_with_refcount.rb +286 -0
  16. data/example/thumb.rb +31 -0
  17. data/example/trim8.rb +41 -0
  18. data/example/watermark.rb +44 -0
  19. data/example/wobble.rb +36 -0
  20. data/ext/Rakefile +35 -0
  21. data/lib/vips.rb +597 -0
  22. data/lib/vips/access.rb +11 -0
  23. data/lib/vips/align.rb +11 -0
  24. data/lib/vips/angle.rb +12 -0
  25. data/lib/vips/angle45.rb +16 -0
  26. data/lib/vips/bandformat.rb +20 -0
  27. data/lib/vips/coding.rb +14 -0
  28. data/lib/vips/compass_direction.rb +17 -0
  29. data/lib/vips/direction.rb +11 -0
  30. data/lib/vips/extend.rb +17 -0
  31. data/lib/vips/gobject.rb +122 -0
  32. data/lib/vips/gvalue.rb +281 -0
  33. data/lib/vips/image.rb +1500 -0
  34. data/lib/vips/interesting.rb +14 -0
  35. data/lib/vips/interpolate.rb +62 -0
  36. data/lib/vips/interpretation.rb +28 -0
  37. data/lib/vips/kernel.rb +22 -0
  38. data/lib/vips/methods.rb +2145 -0
  39. data/lib/vips/object.rb +244 -0
  40. data/lib/vips/operation.rb +365 -0
  41. data/lib/vips/operationboolean.rb +14 -0
  42. data/lib/vips/operationcomplex.rb +12 -0
  43. data/lib/vips/operationcomplex2.rb +10 -0
  44. data/lib/vips/operationcomplexget.rb +11 -0
  45. data/lib/vips/operationmath.rb +18 -0
  46. data/lib/vips/operationmath2.rb +10 -0
  47. data/lib/vips/operationrelational.rb +15 -0
  48. data/lib/vips/operationround.rb +11 -0
  49. data/lib/vips/size.rb +13 -0
  50. data/lib/vips/version.rb +4 -0
  51. data/vips.gemspec +36 -0
  52. metadata +209 -0
@@ -0,0 +1,14 @@
1
+ module Vips
2
+
3
+ # Pick the algorithm vips uses to decide image "interestingness". This is
4
+ # used by {Image#smartcrop}, for example, to decide what parts of the image
5
+ # to keep.
6
+ #
7
+ # * `:none` do nothing
8
+ # * `:centre` just take the centre
9
+ # * `:entropy` use an entropy measure
10
+ # * `:attention` look for features likely to draw human attention
11
+
12
+ class Interesting < Symbol
13
+ end
14
+ end
@@ -0,0 +1,62 @@
1
+ module Vips
2
+
3
+ attach_function :vips_interpolate_new, [:string], :pointer
4
+
5
+ # An interpolator. One of these can be given to operations like
6
+ # {Image#affine} or {Image#mapim} to select the type of pixel interpolation
7
+ # to use.
8
+ #
9
+ # To see all interpolators supported by your
10
+ # libvips, try
11
+ #
12
+ # ```
13
+ # $ vips -l interpolate
14
+ # ```
15
+ #
16
+ # But at least these should be available:
17
+ #
18
+ # * `:nearest` Nearest-neighbour interpolation.
19
+ # * `:bilinear` Bilinear interpolation.
20
+ # * `:bicubic` Bicubic interpolation.
21
+ # * `:lbb` Reduced halo bicubic interpolation.
22
+ # * `:nohalo` Edge sharpening resampler with halo reduction.
23
+ # * `:vsqbs` B-Splines with antialiasing smoothing.
24
+ #
25
+ # For example:
26
+ #
27
+ # ```ruby
28
+ # im = im.affine [2, 0, 0, 2],
29
+ # :interpolate => Vips::Interpolate.new(:bicubic)
30
+ # ```
31
+
32
+ class Interpolate < Vips::Object
33
+
34
+ # the layout of the VipsInterpolate struct
35
+ module InterpolateLayout
36
+ def self.included base
37
+ base.class_eval do
38
+ layout :parent, Vips::Object::Struct
39
+ # rest opaque
40
+ end
41
+ end
42
+ end
43
+
44
+ class Struct < Vips::Object::Struct
45
+ include InterpolateLayout
46
+
47
+ end
48
+
49
+ class ManagedStruct < Vips::Object::ManagedStruct
50
+ include InterpolateLayout
51
+
52
+ end
53
+
54
+ def initialize name
55
+ ptr = Vips::vips_interpolate_new name
56
+ raise Vips::Error if ptr == nil
57
+
58
+ super ptr
59
+ end
60
+
61
+ end
62
+ end
@@ -0,0 +1,28 @@
1
+ module Vips
2
+
3
+ # How the values in an image should be interpreted. For example, a
4
+ # three-band float image of type :lab should have its
5
+ # pixels interpreted as coordinates in CIE Lab space.
6
+ #
7
+ # * `:multiband` generic many-band image
8
+ # * `:b_w` some kind of single-band image
9
+ # * `:histogram` a 1D image, eg. histogram or lookup table
10
+ # * `:fourier` image is in fourier space
11
+ # * `:xyz` the first three bands are CIE XYZ
12
+ # * `:lab` pixels are in CIE Lab space
13
+ # * `:cmyk` the first four bands are in CMYK space
14
+ # * `:labq` implies #VIPS_CODING_LABQ
15
+ # * `:rgb` generic RGB space
16
+ # * `:cmc` a uniform colourspace based on CMC(1:1)
17
+ # * `:lch` pixels are in CIE LCh space
18
+ # * `:labs` CIE LAB coded as three signed 16-bit values
19
+ # * `:srgb` pixels are sRGB
20
+ # * `:hsv` pixels are HSV
21
+ # * `:scrgb` pixels are scRGB
22
+ # * `:yxy` pixels are CIE Yxy
23
+ # * `:rgb16` generic 16-bit RGB
24
+ # * `:grey16` generic 16-bit mono
25
+ # * `:matrix` a matrix
26
+ class Interpretation < Symbol
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ module Vips
2
+
3
+ # A resizing kernel. One of these can be given to operations like
4
+ # {Image#reduceh} or {Image#resize} to select the resizing kernel to use.
5
+ #
6
+ # At least these should be available:
7
+ #
8
+ # * `:nearest` Nearest-neighbour interpolation.
9
+ # * `:linear` Linear interpolation.
10
+ # * `:cubic` Cubic interpolation.
11
+ # * `:lanczos2` Two-lobe Lanczos
12
+ # * `:lanczos3` Three-lobe Lanczos
13
+ #
14
+ # For example:
15
+ #
16
+ # ```ruby
17
+ # im = im.resize 3, :kernel => :lanczos2
18
+ # ```
19
+
20
+ class Kernel < Symbol
21
+ end
22
+ end
@@ -0,0 +1,2145 @@
1
+ module Vips
2
+ class Image
3
+
4
+ # @!method self.system(cmd_format, opts = {})
5
+ # Run an external command.
6
+ # @param cmd_format [String] Command to run
7
+ # @param opts [Hash] Set of options
8
+ # @option opts [Array<Image>] :im Array of input images
9
+ # @option opts [String] :out_format Format for output filename
10
+ # @option opts [String] :in_format Format for input filename
11
+ # @option opts [Vips::Image] :out Output Output image
12
+ # @option opts [String] :log Output Command log
13
+ # @return [nil, Hash<Symbol => Object>] Hash of optional output items
14
+
15
+ # @!method add(right, opts = {})
16
+ # Add two images.
17
+ # @param right [Vips::Image] Right-hand image argument
18
+ # @param opts [Hash] Set of options
19
+ # @return [Vips::Image] Output image
20
+
21
+ # @!method subtract(right, opts = {})
22
+ # Subtract two images.
23
+ # @param right [Vips::Image] Right-hand image argument
24
+ # @param opts [Hash] Set of options
25
+ # @return [Vips::Image] Output image
26
+
27
+ # @!method multiply(right, opts = {})
28
+ # Multiply two images.
29
+ # @param right [Vips::Image] Right-hand image argument
30
+ # @param opts [Hash] Set of options
31
+ # @return [Vips::Image] Output image
32
+
33
+ # @!method divide(right, opts = {})
34
+ # Divide two images.
35
+ # @param right [Vips::Image] Right-hand image argument
36
+ # @param opts [Hash] Set of options
37
+ # @return [Vips::Image] Output image
38
+
39
+ # @!method relational(right, relational, opts = {})
40
+ # Relational operation on two images.
41
+ # @param right [Vips::Image] Right-hand image argument
42
+ # @param relational [Vips::OperationRelational] relational to perform
43
+ # @param opts [Hash] Set of options
44
+ # @return [Vips::Image] Output image
45
+
46
+ # @!method remainder(right, opts = {})
47
+ # Remainder after integer division of two images.
48
+ # @param right [Vips::Image] Right-hand image argument
49
+ # @param opts [Hash] Set of options
50
+ # @return [Vips::Image] Output image
51
+
52
+ # @!method boolean(right, boolean, opts = {})
53
+ # Boolean operation on two images.
54
+ # @param right [Vips::Image] Right-hand image argument
55
+ # @param boolean [Vips::OperationBoolean] boolean to perform
56
+ # @param opts [Hash] Set of options
57
+ # @return [Vips::Image] Output image
58
+
59
+ # @!method math2(right, math2, opts = {})
60
+ # Binary math operations.
61
+ # @param right [Vips::Image] Right-hand image argument
62
+ # @param math2 [Vips::OperationMath2] math to perform
63
+ # @param opts [Hash] Set of options
64
+ # @return [Vips::Image] Output image
65
+
66
+ # @!method complex2(right, cmplx, opts = {})
67
+ # Complex binary operations on two images.
68
+ # @param right [Vips::Image] Right-hand image argument
69
+ # @param cmplx [Vips::OperationComplex2] binary complex operation to perform
70
+ # @param opts [Hash] Set of options
71
+ # @return [Vips::Image] Output image
72
+
73
+ # @!method complexform(right, opts = {})
74
+ # Form a complex image from two real images.
75
+ # @param right [Vips::Image] Right-hand image argument
76
+ # @param opts [Hash] Set of options
77
+ # @return [Vips::Image] Output image
78
+
79
+ # @!method self.sum(im, opts = {})
80
+ # Sum an array of images.
81
+ # @param im [Array<Image>] Array of input images
82
+ # @param opts [Hash] Set of options
83
+ # @return [Vips::Image] Output image
84
+
85
+ # @!method invert(opts = {})
86
+ # Invert an image.
87
+ # @param opts [Hash] Set of options
88
+ # @return [Vips::Image] Output image
89
+
90
+ # @!method linear(a, b, opts = {})
91
+ # Calculate (a * in + b).
92
+ # @param a [Array<Double>] Multiply by this
93
+ # @param b [Array<Double>] Add this
94
+ # @param opts [Hash] Set of options
95
+ # @option opts [Boolean] :uchar Output should be uchar
96
+ # @return [Vips::Image] Output image
97
+
98
+ # @!method math(math, opts = {})
99
+ # Apply a math operation to an image.
100
+ # @param math [Vips::OperationMath] math to perform
101
+ # @param opts [Hash] Set of options
102
+ # @return [Vips::Image] Output image
103
+
104
+ # @!method abs(opts = {})
105
+ # Absolute value of an image.
106
+ # @param opts [Hash] Set of options
107
+ # @return [Vips::Image] Output image
108
+
109
+ # @!method sign(opts = {})
110
+ # Unit vector of pixel.
111
+ # @param opts [Hash] Set of options
112
+ # @return [Vips::Image] Output image
113
+
114
+ # @!method round(round, opts = {})
115
+ # Perform a round function on an image.
116
+ # @param round [Vips::OperationRound] rounding operation to perform
117
+ # @param opts [Hash] Set of options
118
+ # @return [Vips::Image] Output image
119
+
120
+ # @!method relational_const(relational, c, opts = {})
121
+ # Relational operations against a constant.
122
+ # @param relational [Vips::OperationRelational] relational to perform
123
+ # @param c [Array<Double>] Array of constants
124
+ # @param opts [Hash] Set of options
125
+ # @return [Vips::Image] Output image
126
+
127
+ # @!method remainder_const(c, opts = {})
128
+ # Remainder after integer division of an image and a constant.
129
+ # @param c [Array<Double>] Array of constants
130
+ # @param opts [Hash] Set of options
131
+ # @return [Vips::Image] Output image
132
+
133
+ # @!method boolean_const(boolean, c, opts = {})
134
+ # Boolean operations against a constant.
135
+ # @param boolean [Vips::OperationBoolean] boolean to perform
136
+ # @param c [Array<Double>] Array of constants
137
+ # @param opts [Hash] Set of options
138
+ # @return [Vips::Image] Output image
139
+
140
+ # @!method math2_const(math2, c, opts = {})
141
+ # Binary math operations with a constant.
142
+ # @param math2 [Vips::OperationMath2] math to perform
143
+ # @param c [Array<Double>] Array of constants
144
+ # @param opts [Hash] Set of options
145
+ # @return [Vips::Image] Output image
146
+
147
+ # @!method complex(cmplx, opts = {})
148
+ # Perform a complex operation on an image.
149
+ # @param cmplx [Vips::OperationComplex] complex to perform
150
+ # @param opts [Hash] Set of options
151
+ # @return [Vips::Image] Output image
152
+
153
+ # @!method complexget(get, opts = {})
154
+ # Get a component from a complex image.
155
+ # @param get [Vips::OperationComplexget] complex to perform
156
+ # @param opts [Hash] Set of options
157
+ # @return [Vips::Image] Output image
158
+
159
+ # @!method avg(opts = {})
160
+ # Find image average.
161
+ # @param opts [Hash] Set of options
162
+ # @return [Float] Output value
163
+
164
+ # @!method min(opts = {})
165
+ # Find image minimum.
166
+ # @param opts [Hash] Set of options
167
+ # @option opts [Integer] :size Number of minimum values to find
168
+ # @option opts [Integer] :x Output Horizontal position of minimum
169
+ # @option opts [Integer] :y Output Vertical position of minimum
170
+ # @option opts [Array<Double>] :out_array Output Array of output values
171
+ # @option opts [Array<Integer>] :x_array Output Array of horizontal positions
172
+ # @option opts [Array<Integer>] :y_array Output Array of vertical positions
173
+ # @return [Float, Hash<Symbol => Object>] Output value, Hash of optional output items
174
+
175
+ # @!method max(opts = {})
176
+ # Find image maximum.
177
+ # @param opts [Hash] Set of options
178
+ # @option opts [Integer] :size Number of maximum values to find
179
+ # @option opts [Integer] :x Output Horizontal position of maximum
180
+ # @option opts [Integer] :y Output Vertical position of maximum
181
+ # @option opts [Array<Double>] :out_array Output Array of output values
182
+ # @option opts [Array<Integer>] :x_array Output Array of horizontal positions
183
+ # @option opts [Array<Integer>] :y_array Output Array of vertical positions
184
+ # @return [Float, Hash<Symbol => Object>] Output value, Hash of optional output items
185
+
186
+ # @!method deviate(opts = {})
187
+ # Find image standard deviation.
188
+ # @param opts [Hash] Set of options
189
+ # @return [Float] Output value
190
+
191
+ # @!method stats(opts = {})
192
+ # Find image average.
193
+ # @param opts [Hash] Set of options
194
+ # @return [Vips::Image] Output array of statistics
195
+
196
+ # @!method hist_find(opts = {})
197
+ # Find image histogram.
198
+ # @param opts [Hash] Set of options
199
+ # @option opts [Integer] :band Find histogram of band
200
+ # @return [Vips::Image] Output histogram
201
+
202
+ # @!method hist_find_ndim(opts = {})
203
+ # Find n-dimensional image histogram.
204
+ # @param opts [Hash] Set of options
205
+ # @option opts [Integer] :bins Number of bins in each dimension
206
+ # @return [Vips::Image] Output histogram
207
+
208
+ # @!method hist_find_indexed(index, opts = {})
209
+ # Find indexed image histogram.
210
+ # @param index [Vips::Image] Index image
211
+ # @param opts [Hash] Set of options
212
+ # @option opts [Vips::Combine] :combine Combine bins like this
213
+ # @return [Vips::Image] Output histogram
214
+
215
+ # @!method hough_line(opts = {})
216
+ # Find hough line transform.
217
+ # @param opts [Hash] Set of options
218
+ # @option opts [Integer] :width horizontal size of parameter space
219
+ # @option opts [Integer] :height Vertical size of parameter space
220
+ # @return [Vips::Image] Output image
221
+
222
+ # @!method hough_circle(opts = {})
223
+ # Find hough circle transform.
224
+ # @param opts [Hash] Set of options
225
+ # @option opts [Integer] :scale Scale down dimensions by this factor
226
+ # @option opts [Integer] :min_radius Smallest radius to search for
227
+ # @option opts [Integer] :max_radius Largest radius to search for
228
+ # @return [Vips::Image] Output image
229
+
230
+ # @!method project(opts = {})
231
+ # Find image projections.
232
+ # @param opts [Hash] Set of options
233
+ # @return [Array<] Sums of columns, Sums of rows
234
+
235
+ # @!method profile(opts = {})
236
+ # Find image profiles.
237
+ # @param opts [Hash] Set of options
238
+ # @return [Array<] First non-zero pixel in column, First non-zero pixel in row
239
+
240
+ # @!method measure(h, v, opts = {})
241
+ # Measure a set of patches on a color chart.
242
+ # @param h [Integer] Number of patches across chart
243
+ # @param v [Integer] Number of patches down chart
244
+ # @param opts [Hash] Set of options
245
+ # @option opts [Integer] :left Left edge of extract area
246
+ # @option opts [Integer] :top Top edge of extract area
247
+ # @option opts [Integer] :width Width of extract area
248
+ # @option opts [Integer] :height Height of extract area
249
+ # @return [Vips::Image] Output array of statistics
250
+
251
+ # @!method getpoint(x, y, opts = {})
252
+ # Read a point from an image.
253
+ # @param x [Integer] Point to read
254
+ # @param y [Integer] Point to read
255
+ # @param opts [Hash] Set of options
256
+ # @return [Array<Double>] Array of output values
257
+
258
+ # @!method find_trim(opts = {})
259
+ # Search an image for non-edge areas.
260
+ # @param opts [Hash] Set of options
261
+ # @option opts [Float] :threshold Object threshold
262
+ # @option opts [Array<Double>] :background Color for background pixels
263
+ # @return [Array<] Left edge of image, Top edge of extract area, Width of extract area, Height of extract area
264
+
265
+ # @!method copy(opts = {})
266
+ # Copy an image.
267
+ # @param opts [Hash] Set of options
268
+ # @option opts [Integer] :width Image width in pixels
269
+ # @option opts [Integer] :height Image height in pixels
270
+ # @option opts [Integer] :bands Number of bands in image
271
+ # @option opts [Vips::BandFormat] :format Pixel format in image
272
+ # @option opts [Vips::Coding] :coding Pixel coding
273
+ # @option opts [Vips::Interpretation] :interpretation Pixel interpretation
274
+ # @option opts [Float] :xres Horizontal resolution in pixels/mm
275
+ # @option opts [Float] :yres Vertical resolution in pixels/mm
276
+ # @option opts [Integer] :xoffset Horizontal offset of origin
277
+ # @option opts [Integer] :yoffset Vertical offset of origin
278
+ # @return [Vips::Image] Output image
279
+
280
+ # @!method tilecache(opts = {})
281
+ # Cache an image as a set of tiles.
282
+ # @param opts [Hash] Set of options
283
+ # @option opts [Integer] :tile_width Tile width in pixels
284
+ # @option opts [Integer] :tile_height Tile height in pixels
285
+ # @option opts [Integer] :max_tiles Maximum number of tiles to cache
286
+ # @option opts [Vips::Access] :access Expected access pattern
287
+ # @option opts [Boolean] :threaded Allow threaded access
288
+ # @option opts [Boolean] :persistent Keep cache between evaluations
289
+ # @return [Vips::Image] Output image
290
+
291
+ # @!method linecache(opts = {})
292
+ # Cache an image as a set of lines.
293
+ # @param opts [Hash] Set of options
294
+ # @option opts [Integer] :tile_height Tile height in pixels
295
+ # @option opts [Vips::Access] :access Expected access pattern
296
+ # @option opts [Boolean] :threaded Allow threaded access
297
+ # @option opts [Boolean] :persistent Keep cache between evaluations
298
+ # @return [Vips::Image] Output image
299
+
300
+ # @!method sequential(opts = {})
301
+ # Check sequential access.
302
+ # @param opts [Hash] Set of options
303
+ # @option opts [Integer] :tile_height Tile height in pixels
304
+ # @return [Vips::Image] Output image
305
+
306
+ # @!method cache(opts = {})
307
+ # Cache an image.
308
+ # @param opts [Hash] Set of options
309
+ # @option opts [Integer] :max_tiles Maximum number of tiles to cache
310
+ # @option opts [Integer] :tile_height Tile height in pixels
311
+ # @option opts [Integer] :tile_width Tile width in pixels
312
+ # @return [Vips::Image] Output image
313
+
314
+ # @!method embed(x, y, width, height, opts = {})
315
+ # Embed an image in a larger image.
316
+ # @param x [Integer] Left edge of input in output
317
+ # @param y [Integer] Top edge of input in output
318
+ # @param width [Integer] Image width in pixels
319
+ # @param height [Integer] Image height in pixels
320
+ # @param opts [Hash] Set of options
321
+ # @option opts [Vips::Extend] :extend How to generate the extra pixels
322
+ # @option opts [Array<Double>] :background Color for background pixels
323
+ # @return [Vips::Image] Output image
324
+
325
+ # @!method gravity(direction, width, height, opts = {})
326
+ # Place an image within a larger image with a certain gravity.
327
+ # @param direction [Vips::CompassDirection] direction to place image within width/height
328
+ # @param width [Integer] Image width in pixels
329
+ # @param height [Integer] Image height in pixels
330
+ # @param opts [Hash] Set of options
331
+ # @option opts [Vips::Extend] :extend How to generate the extra pixels
332
+ # @option opts [Array<Double>] :background Color for background pixels
333
+ # @return [Vips::Image] Output image
334
+
335
+ # @!method flip(direction, opts = {})
336
+ # Flip an image.
337
+ # @param direction [Vips::Direction] Direction to flip image
338
+ # @param opts [Hash] Set of options
339
+ # @return [Vips::Image] Output image
340
+
341
+ # @!method insert(sub, x, y, opts = {})
342
+ # Insert image @sub into @main at @x, @y.
343
+ # @param sub [Vips::Image] Sub-image to insert into main image
344
+ # @param x [Integer] Left edge of sub in main
345
+ # @param y [Integer] Top edge of sub in main
346
+ # @param opts [Hash] Set of options
347
+ # @option opts [Boolean] :expand Expand output to hold all of both inputs
348
+ # @option opts [Array<Double>] :background Color for new pixels
349
+ # @return [Vips::Image] Output image
350
+
351
+ # @!method join(in2, direction, opts = {})
352
+ # Join a pair of images.
353
+ # @param in2 [Vips::Image] Second input image
354
+ # @param direction [Vips::Direction] Join left-right or up-down
355
+ # @param opts [Hash] Set of options
356
+ # @option opts [Boolean] :expand Expand output to hold all of both inputs
357
+ # @option opts [Integer] :shim Pixels between images
358
+ # @option opts [Array<Double>] :background Colour for new pixels
359
+ # @option opts [Vips::Align] :align Align on the low, centre or high coordinate edge
360
+ # @return [Vips::Image] Output image
361
+
362
+ # @!method self.arrayjoin(im, opts = {})
363
+ # Join an array of images.
364
+ # @param im [Array<Image>] Array of input images
365
+ # @param opts [Hash] Set of options
366
+ # @option opts [Integer] :across Number of images across grid
367
+ # @option opts [Integer] :shim Pixels between images
368
+ # @option opts [Array<Double>] :background Colour for new pixels
369
+ # @option opts [Vips::Align] :halign Align on the left, centre or right
370
+ # @option opts [Vips::Align] :valign Align on the top, centre or bottom
371
+ # @option opts [Integer] :hspacing Horizontal spacing between images
372
+ # @option opts [Integer] :vspacing Vertical spacing between images
373
+ # @return [Vips::Image] Output image
374
+
375
+ # @!method extract_area(left, top, width, height, opts = {})
376
+ # Extract an area from an image.
377
+ # @param left [Integer] Left edge of extract area
378
+ # @param top [Integer] Top edge of extract area
379
+ # @param width [Integer] Width of extract area
380
+ # @param height [Integer] Height of extract area
381
+ # @param opts [Hash] Set of options
382
+ # @return [Vips::Image] Output image
383
+
384
+ # @!method extract_area(left, top, width, height, opts = {})
385
+ # Extract an area from an image.
386
+ # @param left [Integer] Left edge of extract area
387
+ # @param top [Integer] Top edge of extract area
388
+ # @param width [Integer] Width of extract area
389
+ # @param height [Integer] Height of extract area
390
+ # @param opts [Hash] Set of options
391
+ # @return [Vips::Image] Output image
392
+
393
+ # @!method smartcrop(width, height, opts = {})
394
+ # Extract an area from an image.
395
+ # @param width [Integer] Width of extract area
396
+ # @param height [Integer] Height of extract area
397
+ # @param opts [Hash] Set of options
398
+ # @option opts [Vips::Interesting] :interesting How to measure interestingness
399
+ # @return [Vips::Image] Output image
400
+
401
+ # @!method extract_band(band, opts = {})
402
+ # Extract band from an image.
403
+ # @param band [Integer] Band to extract
404
+ # @param opts [Hash] Set of options
405
+ # @option opts [Integer] :n Number of bands to extract
406
+ # @return [Vips::Image] Output image
407
+
408
+ # @!method bandjoin_const(c, opts = {})
409
+ # Append a constant band to an image.
410
+ # @param c [Array<Double>] Array of constants to add
411
+ # @param opts [Hash] Set of options
412
+ # @return [Vips::Image] Output image
413
+
414
+ # @!method self.bandrank(im, opts = {})
415
+ # Band-wise rank of a set of images.
416
+ # @param im [Array<Image>] Array of input images
417
+ # @param opts [Hash] Set of options
418
+ # @option opts [Integer] :index Select this band element from sorted list
419
+ # @return [Vips::Image] Output image
420
+
421
+ # @!method bandmean(opts = {})
422
+ # Band-wise average.
423
+ # @param opts [Hash] Set of options
424
+ # @return [Vips::Image] Output image
425
+
426
+ # @!method bandbool(boolean, opts = {})
427
+ # Boolean operation across image bands.
428
+ # @param boolean [Vips::OperationBoolean] boolean to perform
429
+ # @param opts [Hash] Set of options
430
+ # @return [Vips::Image] Output image
431
+
432
+ # @!method replicate(across, down, opts = {})
433
+ # Replicate an image.
434
+ # @param across [Integer] Repeat this many times horizontally
435
+ # @param down [Integer] Repeat this many times vertically
436
+ # @param opts [Hash] Set of options
437
+ # @return [Vips::Image] Output image
438
+
439
+ # @!method cast(format, opts = {})
440
+ # Cast an image.
441
+ # @param format [Vips::BandFormat] Format to cast to
442
+ # @param opts [Hash] Set of options
443
+ # @option opts [Boolean] :shift Shift integer values up and down
444
+ # @return [Vips::Image] Output image
445
+
446
+ # @!method rot(angle, opts = {})
447
+ # Rotate an image.
448
+ # @param angle [Vips::Angle] Angle to rotate image
449
+ # @param opts [Hash] Set of options
450
+ # @return [Vips::Image] Output image
451
+
452
+ # @!method rot45(opts = {})
453
+ # Rotate an image.
454
+ # @param opts [Hash] Set of options
455
+ # @option opts [Vips::Angle45] :angle Angle to rotate image
456
+ # @return [Vips::Image] Output image
457
+
458
+ # @!method autorot(opts = {})
459
+ # Autorotate image by exif tag.
460
+ # @param opts [Hash] Set of options
461
+ # @option opts [Vips::Angle] :angle Output Angle image was rotated by
462
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
463
+
464
+ # @!method recomb(m, opts = {})
465
+ # Linear recombination with matrix.
466
+ # @param m [Vips::Image] matrix of coefficients
467
+ # @param opts [Hash] Set of options
468
+ # @return [Vips::Image] Output image
469
+
470
+ # @!method bandfold(opts = {})
471
+ # Fold up x axis into bands.
472
+ # @param opts [Hash] Set of options
473
+ # @option opts [Integer] :factor Fold by this factor
474
+ # @return [Vips::Image] Output image
475
+
476
+ # @!method bandunfold(opts = {})
477
+ # Unfold image bands into x axis.
478
+ # @param opts [Hash] Set of options
479
+ # @option opts [Integer] :factor Unfold by this factor
480
+ # @return [Vips::Image] Output image
481
+
482
+ # @!method flatten(opts = {})
483
+ # Flatten alpha out of an image.
484
+ # @param opts [Hash] Set of options
485
+ # @option opts [Array<Double>] :background Background value
486
+ # @option opts [Float] :max_alpha Maximum value of alpha channel
487
+ # @return [Vips::Image] Output image
488
+
489
+ # @!method premultiply(opts = {})
490
+ # Premultiply image alpha.
491
+ # @param opts [Hash] Set of options
492
+ # @option opts [Float] :max_alpha Maximum value of alpha channel
493
+ # @return [Vips::Image] Output image
494
+
495
+ # @!method unpremultiply(opts = {})
496
+ # Unpremultiply image alpha.
497
+ # @param opts [Hash] Set of options
498
+ # @option opts [Float] :max_alpha Maximum value of alpha channel
499
+ # @return [Vips::Image] Output image
500
+
501
+ # @!method grid(tile_height, across, down, opts = {})
502
+ # Grid an image.
503
+ # @param tile_height [Integer] chop into tiles this high
504
+ # @param across [Integer] number of tiles across
505
+ # @param down [Integer] number of tiles down
506
+ # @param opts [Hash] Set of options
507
+ # @return [Vips::Image] Output image
508
+
509
+ # @!method wrap(opts = {})
510
+ # Wrap image origin.
511
+ # @param opts [Hash] Set of options
512
+ # @option opts [Integer] :x Left edge of input in output
513
+ # @option opts [Integer] :y Top edge of input in output
514
+ # @return [Vips::Image] Output image
515
+
516
+ # @!method zoom(xfac, yfac, opts = {})
517
+ # Zoom an image.
518
+ # @param xfac [Integer] Horizontal zoom factor
519
+ # @param yfac [Integer] Vertical zoom factor
520
+ # @param opts [Hash] Set of options
521
+ # @return [Vips::Image] Output image
522
+
523
+ # @!method subsample(xfac, yfac, opts = {})
524
+ # Subsample an image.
525
+ # @param xfac [Integer] Horizontal subsample factor
526
+ # @param yfac [Integer] Vertical subsample factor
527
+ # @param opts [Hash] Set of options
528
+ # @option opts [Boolean] :point Point sample
529
+ # @return [Vips::Image] Output image
530
+
531
+ # @!method msb(opts = {})
532
+ # Pick most-significant byte from an image.
533
+ # @param opts [Hash] Set of options
534
+ # @option opts [Integer] :band Band to msb
535
+ # @return [Vips::Image] Output image
536
+
537
+ # @!method byteswap(opts = {})
538
+ # Byteswap an image.
539
+ # @param opts [Hash] Set of options
540
+ # @return [Vips::Image] Output image
541
+
542
+ # @!method falsecolour(opts = {})
543
+ # False-color an image.
544
+ # @param opts [Hash] Set of options
545
+ # @return [Vips::Image] Output image
546
+
547
+ # @!method gamma(opts = {})
548
+ # Gamma an image.
549
+ # @param opts [Hash] Set of options
550
+ # @option opts [Float] :exponent Gamma factor
551
+ # @return [Vips::Image] Output image
552
+
553
+ # @!method composite2(overlay, mode, opts = {})
554
+ # Blend a pair of images with a blend mode.
555
+ # @param overlay [Vips::Image] Overlay image
556
+ # @param mode [Vips::BlendMode] VipsBlendMode to join with
557
+ # @param opts [Hash] Set of options
558
+ # @option opts [Vips::Interpretation] :compositing_space Composite images in this colour space
559
+ # @option opts [Boolean] :premultiplied Images have premultiplied alpha
560
+ # @return [Vips::Image] Output image
561
+
562
+ # @!method self.black(width, height, opts = {})
563
+ # Make a black image.
564
+ # @param width [Integer] Image width in pixels
565
+ # @param height [Integer] Image height in pixels
566
+ # @param opts [Hash] Set of options
567
+ # @option opts [Integer] :bands Number of bands in image
568
+ # @return [Vips::Image] Output image
569
+
570
+ # @!method self.gaussnoise(width, height, opts = {})
571
+ # Make a gaussnoise image.
572
+ # @param width [Integer] Image width in pixels
573
+ # @param height [Integer] Image height in pixels
574
+ # @param opts [Hash] Set of options
575
+ # @option opts [Float] :sigma Standard deviation of pixels in generated image
576
+ # @option opts [Float] :mean Mean of pixels in generated image
577
+ # @return [Vips::Image] Output image
578
+
579
+ # @!method self.text(text, opts = {})
580
+ # Make a text image.
581
+ # @param text [String] Text to render
582
+ # @param opts [Hash] Set of options
583
+ # @option opts [String] :font Font to render with
584
+ # @option opts [Integer] :width Maximum image width in pixels
585
+ # @option opts [Integer] :height Maximum image height in pixels
586
+ # @option opts [Vips::Align] :align Align on the low, centre or high edge
587
+ # @option opts [Integer] :dpi DPI to render at
588
+ # @option opts [Integer] :spacing Line spacing
589
+ # @option opts [Integer] :autofit_dpi Output DPI selected by autofit
590
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
591
+
592
+ # @!method self.xyz(width, height, opts = {})
593
+ # Make an image where pixel values are coordinates.
594
+ # @param width [Integer] Image width in pixels
595
+ # @param height [Integer] Image height in pixels
596
+ # @param opts [Hash] Set of options
597
+ # @option opts [Integer] :csize Size of third dimension
598
+ # @option opts [Integer] :dsize Size of fourth dimension
599
+ # @option opts [Integer] :esize Size of fifth dimension
600
+ # @return [Vips::Image] Output image
601
+
602
+ # @!method self.gaussmat(sigma, min_ampl, opts = {})
603
+ # Make a gaussian image.
604
+ # @param sigma [Float] Sigma of Gaussian
605
+ # @param min_ampl [Float] Minimum amplitude of Gaussian
606
+ # @param opts [Hash] Set of options
607
+ # @option opts [Boolean] :separable Generate separable Gaussian
608
+ # @option opts [Vips::Precision] :precision Generate with this precision
609
+ # @return [Vips::Image] Output image
610
+
611
+ # @!method self.logmat(sigma, min_ampl, opts = {})
612
+ # Make a laplacian of gaussian image.
613
+ # @param sigma [Float] Radius of Logmatian
614
+ # @param min_ampl [Float] Minimum amplitude of Logmatian
615
+ # @param opts [Hash] Set of options
616
+ # @option opts [Boolean] :separable Generate separable Logmatian
617
+ # @option opts [Vips::Precision] :precision Generate with this precision
618
+ # @return [Vips::Image] Output image
619
+
620
+ # @!method self.eye(width, height, opts = {})
621
+ # Make an image showing the eye's spatial response.
622
+ # @param width [Integer] Image width in pixels
623
+ # @param height [Integer] Image height in pixels
624
+ # @param opts [Hash] Set of options
625
+ # @option opts [Boolean] :uchar Output an unsigned char image
626
+ # @option opts [Float] :factor Maximum spatial frequency
627
+ # @return [Vips::Image] Output image
628
+
629
+ # @!method self.grey(width, height, opts = {})
630
+ # Make a grey ramp image.
631
+ # @param width [Integer] Image width in pixels
632
+ # @param height [Integer] Image height in pixels
633
+ # @param opts [Hash] Set of options
634
+ # @option opts [Boolean] :uchar Output an unsigned char image
635
+ # @return [Vips::Image] Output image
636
+
637
+ # @!method self.zone(width, height, opts = {})
638
+ # Make a zone plate.
639
+ # @param width [Integer] Image width in pixels
640
+ # @param height [Integer] Image height in pixels
641
+ # @param opts [Hash] Set of options
642
+ # @option opts [Boolean] :uchar Output an unsigned char image
643
+ # @return [Vips::Image] Output image
644
+
645
+ # @!method self.sines(width, height, opts = {})
646
+ # Make a 2d sine wave.
647
+ # @param width [Integer] Image width in pixels
648
+ # @param height [Integer] Image height in pixels
649
+ # @param opts [Hash] Set of options
650
+ # @option opts [Boolean] :uchar Output an unsigned char image
651
+ # @option opts [Float] :hfreq Horizontal spatial frequency
652
+ # @option opts [Float] :vfreq Vertical spatial frequency
653
+ # @return [Vips::Image] Output image
654
+
655
+ # @!method self.mask_ideal(width, height, frequency_cutoff, opts = {})
656
+ # Make an ideal filter.
657
+ # @param width [Integer] Image width in pixels
658
+ # @param height [Integer] Image height in pixels
659
+ # @param frequency_cutoff [Float] Frequency cutoff
660
+ # @param opts [Hash] Set of options
661
+ # @option opts [Boolean] :uchar Output an unsigned char image
662
+ # @option opts [Boolean] :nodc Remove DC component
663
+ # @option opts [Boolean] :reject Invert the sense of the filter
664
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
665
+ # @return [Vips::Image] Output image
666
+
667
+ # @!method self.mask_ideal_ring(width, height, frequency_cutoff, ringwidth, opts = {})
668
+ # Make an ideal ring filter.
669
+ # @param width [Integer] Image width in pixels
670
+ # @param height [Integer] Image height in pixels
671
+ # @param frequency_cutoff [Float] Frequency cutoff
672
+ # @param ringwidth [Float] Ringwidth
673
+ # @param opts [Hash] Set of options
674
+ # @option opts [Boolean] :uchar Output an unsigned char image
675
+ # @option opts [Boolean] :nodc Remove DC component
676
+ # @option opts [Boolean] :reject Invert the sense of the filter
677
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
678
+ # @return [Vips::Image] Output image
679
+
680
+ # @!method self.mask_ideal_band(width, height, frequency_cutoff_x, frequency_cutoff_y, radius, opts = {})
681
+ # Make an ideal band filter.
682
+ # @param width [Integer] Image width in pixels
683
+ # @param height [Integer] Image height in pixels
684
+ # @param frequency_cutoff_x [Float] Frequency cutoff x
685
+ # @param frequency_cutoff_y [Float] Frequency cutoff y
686
+ # @param radius [Float] radius of circle
687
+ # @param opts [Hash] Set of options
688
+ # @option opts [Boolean] :uchar Output an unsigned char image
689
+ # @option opts [Boolean] :nodc Remove DC component
690
+ # @option opts [Boolean] :reject Invert the sense of the filter
691
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
692
+ # @return [Vips::Image] Output image
693
+
694
+ # @!method self.mask_butterworth(width, height, order, frequency_cutoff, amplitude_cutoff, opts = {})
695
+ # Make a butterworth filter.
696
+ # @param width [Integer] Image width in pixels
697
+ # @param height [Integer] Image height in pixels
698
+ # @param order [Float] Filter order
699
+ # @param frequency_cutoff [Float] Frequency cutoff
700
+ # @param amplitude_cutoff [Float] Amplitude cutoff
701
+ # @param opts [Hash] Set of options
702
+ # @option opts [Boolean] :uchar Output an unsigned char image
703
+ # @option opts [Boolean] :nodc Remove DC component
704
+ # @option opts [Boolean] :reject Invert the sense of the filter
705
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
706
+ # @return [Vips::Image] Output image
707
+
708
+ # @!method self.mask_butterworth_ring(width, height, order, frequency_cutoff, amplitude_cutoff, ringwidth, opts = {})
709
+ # Make a butterworth ring filter.
710
+ # @param width [Integer] Image width in pixels
711
+ # @param height [Integer] Image height in pixels
712
+ # @param order [Float] Filter order
713
+ # @param frequency_cutoff [Float] Frequency cutoff
714
+ # @param amplitude_cutoff [Float] Amplitude cutoff
715
+ # @param ringwidth [Float] Ringwidth
716
+ # @param opts [Hash] Set of options
717
+ # @option opts [Boolean] :uchar Output an unsigned char image
718
+ # @option opts [Boolean] :nodc Remove DC component
719
+ # @option opts [Boolean] :reject Invert the sense of the filter
720
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
721
+ # @return [Vips::Image] Output image
722
+
723
+ # @!method self.mask_butterworth_band(width, height, order, frequency_cutoff_x, frequency_cutoff_y, radius, amplitude_cutoff, opts = {})
724
+ # Make a butterworth_band filter.
725
+ # @param width [Integer] Image width in pixels
726
+ # @param height [Integer] Image height in pixels
727
+ # @param order [Float] Filter order
728
+ # @param frequency_cutoff_x [Float] Frequency cutoff x
729
+ # @param frequency_cutoff_y [Float] Frequency cutoff y
730
+ # @param radius [Float] radius of circle
731
+ # @param amplitude_cutoff [Float] Amplitude cutoff
732
+ # @param opts [Hash] Set of options
733
+ # @option opts [Boolean] :uchar Output an unsigned char image
734
+ # @option opts [Boolean] :nodc Remove DC component
735
+ # @option opts [Boolean] :reject Invert the sense of the filter
736
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
737
+ # @return [Vips::Image] Output image
738
+
739
+ # @!method self.mask_gaussian(width, height, frequency_cutoff, amplitude_cutoff, opts = {})
740
+ # Make a gaussian filter.
741
+ # @param width [Integer] Image width in pixels
742
+ # @param height [Integer] Image height in pixels
743
+ # @param frequency_cutoff [Float] Frequency cutoff
744
+ # @param amplitude_cutoff [Float] Amplitude cutoff
745
+ # @param opts [Hash] Set of options
746
+ # @option opts [Boolean] :uchar Output an unsigned char image
747
+ # @option opts [Boolean] :nodc Remove DC component
748
+ # @option opts [Boolean] :reject Invert the sense of the filter
749
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
750
+ # @return [Vips::Image] Output image
751
+
752
+ # @!method self.mask_gaussian_ring(width, height, frequency_cutoff, amplitude_cutoff, ringwidth, opts = {})
753
+ # Make a gaussian ring filter.
754
+ # @param width [Integer] Image width in pixels
755
+ # @param height [Integer] Image height in pixels
756
+ # @param frequency_cutoff [Float] Frequency cutoff
757
+ # @param amplitude_cutoff [Float] Amplitude cutoff
758
+ # @param ringwidth [Float] Ringwidth
759
+ # @param opts [Hash] Set of options
760
+ # @option opts [Boolean] :uchar Output an unsigned char image
761
+ # @option opts [Boolean] :nodc Remove DC component
762
+ # @option opts [Boolean] :reject Invert the sense of the filter
763
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
764
+ # @return [Vips::Image] Output image
765
+
766
+ # @!method self.mask_gaussian_band(width, height, frequency_cutoff_x, frequency_cutoff_y, radius, amplitude_cutoff, opts = {})
767
+ # Make a gaussian filter.
768
+ # @param width [Integer] Image width in pixels
769
+ # @param height [Integer] Image height in pixels
770
+ # @param frequency_cutoff_x [Float] Frequency cutoff x
771
+ # @param frequency_cutoff_y [Float] Frequency cutoff y
772
+ # @param radius [Float] radius of circle
773
+ # @param amplitude_cutoff [Float] Amplitude cutoff
774
+ # @param opts [Hash] Set of options
775
+ # @option opts [Boolean] :uchar Output an unsigned char image
776
+ # @option opts [Boolean] :nodc Remove DC component
777
+ # @option opts [Boolean] :reject Invert the sense of the filter
778
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
779
+ # @return [Vips::Image] Output image
780
+
781
+ # @!method self.mask_fractal(width, height, fractal_dimension, opts = {})
782
+ # Make fractal filter.
783
+ # @param width [Integer] Image width in pixels
784
+ # @param height [Integer] Image height in pixels
785
+ # @param fractal_dimension [Float] Fractal dimension
786
+ # @param opts [Hash] Set of options
787
+ # @option opts [Boolean] :uchar Output an unsigned char image
788
+ # @option opts [Boolean] :nodc Remove DC component
789
+ # @option opts [Boolean] :reject Invert the sense of the filter
790
+ # @option opts [Boolean] :optical Rotate quadrants to optical space
791
+ # @return [Vips::Image] Output image
792
+
793
+ # @!method buildlut(opts = {})
794
+ # Build a look-up table.
795
+ # @param opts [Hash] Set of options
796
+ # @return [Vips::Image] Output image
797
+
798
+ # @!method invertlut(opts = {})
799
+ # Build an inverted look-up table.
800
+ # @param opts [Hash] Set of options
801
+ # @option opts [Integer] :size LUT size to generate
802
+ # @return [Vips::Image] Output image
803
+
804
+ # @!method self.tonelut(opts = {})
805
+ # Build a look-up table.
806
+ # @param opts [Hash] Set of options
807
+ # @option opts [Integer] :in_max Size of LUT to build
808
+ # @option opts [Integer] :out_max Maximum value in output LUT
809
+ # @option opts [Float] :Lb Lowest value in output
810
+ # @option opts [Float] :Lw Highest value in output
811
+ # @option opts [Float] :Ps Position of shadow
812
+ # @option opts [Float] :Pm Position of mid-tones
813
+ # @option opts [Float] :Ph Position of highlights
814
+ # @option opts [Float] :S Adjust shadows by this much
815
+ # @option opts [Float] :M Adjust mid-tones by this much
816
+ # @option opts [Float] :H Adjust highlights by this much
817
+ # @return [Vips::Image] Output image
818
+
819
+ # @!method self.identity(opts = {})
820
+ # Make a 1d image where pixel values are indexes.
821
+ # @param opts [Hash] Set of options
822
+ # @option opts [Integer] :bands Number of bands in LUT
823
+ # @option opts [Boolean] :ushort Create a 16-bit LUT
824
+ # @option opts [Integer] :size Size of 16-bit LUT
825
+ # @return [Vips::Image] Output image
826
+
827
+ # @!method self.fractsurf(width, height, fractal_dimension, opts = {})
828
+ # Make a fractal surface.
829
+ # @param width [Integer] Image width in pixels
830
+ # @param height [Integer] Image height in pixels
831
+ # @param fractal_dimension [Float] Fractal dimension
832
+ # @param opts [Hash] Set of options
833
+ # @return [Vips::Image] Output image
834
+
835
+ # @!method self.worley(width, height, opts = {})
836
+ # Make a worley noise image.
837
+ # @param width [Integer] Image width in pixels
838
+ # @param height [Integer] Image height in pixels
839
+ # @param opts [Hash] Set of options
840
+ # @option opts [Integer] :cell_size Size of Worley cells
841
+ # @return [Vips::Image] Output image
842
+
843
+ # @!method self.perlin(width, height, opts = {})
844
+ # Make a perlin noise image.
845
+ # @param width [Integer] Image width in pixels
846
+ # @param height [Integer] Image height in pixels
847
+ # @param opts [Hash] Set of options
848
+ # @option opts [Integer] :cell_size Size of Perlin cells
849
+ # @option opts [Boolean] :uchar Output an unsigned char image
850
+ # @return [Vips::Image] Output image
851
+
852
+ # @!method self.csvload(filename, opts = {})
853
+ # Load csv from file.
854
+ # @param filename [String] Filename to load from
855
+ # @param opts [Hash] Set of options
856
+ # @option opts [Boolean] :memory Force open via memory
857
+ # @option opts [Vips::Access] :access Required access pattern for this file
858
+ # @option opts [Integer] :skip Skip this many lines at the start of the file
859
+ # @option opts [Integer] :lines Read this many lines from the file
860
+ # @option opts [Boolean] :fail Fail on first error
861
+ # @option opts [String] :whitespace Set of whitespace characters
862
+ # @option opts [String] :separator Set of separator characters
863
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
864
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
865
+
866
+ # @!method self.matrixload(filename, opts = {})
867
+ # Load matrix from file.
868
+ # @param filename [String] Filename to load from
869
+ # @param opts [Hash] Set of options
870
+ # @option opts [Boolean] :memory Force open via memory
871
+ # @option opts [Vips::Access] :access Required access pattern for this file
872
+ # @option opts [Boolean] :fail Fail on first error
873
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
874
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
875
+
876
+ # @!method self.rawload(filename, width, height, bands, opts = {})
877
+ # Load raw data from a file.
878
+ # @param filename [String] Filename to load from
879
+ # @param width [Integer] Image width in pixels
880
+ # @param height [Integer] Image height in pixels
881
+ # @param bands [Integer] Number of bands in image
882
+ # @param opts [Hash] Set of options
883
+ # @option opts [Boolean] :memory Force open via memory
884
+ # @option opts [Vips::Access] :access Required access pattern for this file
885
+ # @option opts [Boolean] :fail Fail on first error
886
+ # @option opts [guint64] :offset Offset in bytes from start of file
887
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
888
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
889
+
890
+ # @!method self.vipsload(filename, opts = {})
891
+ # Load vips from file.
892
+ # @param filename [String] Filename to load from
893
+ # @param opts [Hash] Set of options
894
+ # @option opts [Boolean] :memory Force open via memory
895
+ # @option opts [Vips::Access] :access Required access pattern for this file
896
+ # @option opts [Boolean] :fail Fail on first error
897
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
898
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
899
+
900
+ # @!method self.analyzeload(filename, opts = {})
901
+ # Load an analyze6 image.
902
+ # @param filename [String] Filename to load from
903
+ # @param opts [Hash] Set of options
904
+ # @option opts [Boolean] :memory Force open via memory
905
+ # @option opts [Vips::Access] :access Required access pattern for this file
906
+ # @option opts [Boolean] :fail Fail on first error
907
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
908
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
909
+
910
+ # @!method self.ppmload(filename, opts = {})
911
+ # Load ppm from file.
912
+ # @param filename [String] Filename to load from
913
+ # @param opts [Hash] Set of options
914
+ # @option opts [Boolean] :memory Force open via memory
915
+ # @option opts [Vips::Access] :access Required access pattern for this file
916
+ # @option opts [Boolean] :fail Fail on first error
917
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
918
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
919
+
920
+ # @!method self.radload(filename, opts = {})
921
+ # Load a radiance image from a file.
922
+ # @param filename [String] Filename to load from
923
+ # @param opts [Hash] Set of options
924
+ # @option opts [Boolean] :memory Force open via memory
925
+ # @option opts [Vips::Access] :access Required access pattern for this file
926
+ # @option opts [Boolean] :fail Fail on first error
927
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
928
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
929
+
930
+ # @!method self.pdfload(filename, opts = {})
931
+ # Load pdf with libpoppler.
932
+ # @param filename [String] Filename to load from
933
+ # @param opts [Hash] Set of options
934
+ # @option opts [Boolean] :memory Force open via memory
935
+ # @option opts [Vips::Access] :access Required access pattern for this file
936
+ # @option opts [Integer] :page Load this page from the file
937
+ # @option opts [Integer] :n Load this many pages
938
+ # @option opts [Boolean] :fail Fail on first error
939
+ # @option opts [Float] :dpi Render at this DPI
940
+ # @option opts [Float] :scale Scale output by this factor
941
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
942
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
943
+
944
+ # @!method self.pdfload_buffer(buffer, opts = {})
945
+ # Load pdf with libpoppler.
946
+ # @param buffer [VipsBlob] Buffer to load from
947
+ # @param opts [Hash] Set of options
948
+ # @option opts [Boolean] :memory Force open via memory
949
+ # @option opts [Vips::Access] :access Required access pattern for this file
950
+ # @option opts [Integer] :page Load this page from the file
951
+ # @option opts [Integer] :n Load this many pages
952
+ # @option opts [Boolean] :fail Fail on first error
953
+ # @option opts [Float] :dpi Render at this DPI
954
+ # @option opts [Float] :scale Scale output by this factor
955
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
956
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
957
+
958
+ # @!method self.svgload(filename, opts = {})
959
+ # Load svg with rsvg.
960
+ # @param filename [String] Filename to load from
961
+ # @param opts [Hash] Set of options
962
+ # @option opts [Boolean] :memory Force open via memory
963
+ # @option opts [Vips::Access] :access Required access pattern for this file
964
+ # @option opts [Float] :dpi Render at this DPI
965
+ # @option opts [Boolean] :fail Fail on first error
966
+ # @option opts [Float] :scale Scale output by this factor
967
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
968
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
969
+
970
+ # @!method self.svgload(filename, opts = {})
971
+ # Load svg with rsvg.
972
+ # @param filename [String] Filename to load from
973
+ # @param opts [Hash] Set of options
974
+ # @option opts [Boolean] :memory Force open via memory
975
+ # @option opts [Vips::Access] :access Required access pattern for this file
976
+ # @option opts [Float] :dpi Render at this DPI
977
+ # @option opts [Boolean] :fail Fail on first error
978
+ # @option opts [Float] :scale Scale output by this factor
979
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
980
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
981
+
982
+ # @!method self.svgload_buffer(buffer, opts = {})
983
+ # Load svg with rsvg.
984
+ # @param buffer [VipsBlob] Buffer to load from
985
+ # @param opts [Hash] Set of options
986
+ # @option opts [Boolean] :memory Force open via memory
987
+ # @option opts [Vips::Access] :access Required access pattern for this file
988
+ # @option opts [Float] :dpi Render at this DPI
989
+ # @option opts [Boolean] :fail Fail on first error
990
+ # @option opts [Float] :scale Scale output by this factor
991
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
992
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
993
+
994
+ # @!method self.gifload(filename, opts = {})
995
+ # Load gif with giflib.
996
+ # @param filename [String] Filename to load from
997
+ # @param opts [Hash] Set of options
998
+ # @option opts [Integer] :n Load this many pages
999
+ # @option opts [Boolean] :memory Force open via memory
1000
+ # @option opts [Vips::Access] :access Required access pattern for this file
1001
+ # @option opts [Integer] :page Load this page from the file
1002
+ # @option opts [Boolean] :fail Fail on first error
1003
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1004
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1005
+
1006
+ # @!method self.gifload_buffer(buffer, opts = {})
1007
+ # Load gif with giflib.
1008
+ # @param buffer [VipsBlob] Buffer to load from
1009
+ # @param opts [Hash] Set of options
1010
+ # @option opts [Integer] :n Load this many pages
1011
+ # @option opts [Boolean] :memory Force open via memory
1012
+ # @option opts [Vips::Access] :access Required access pattern for this file
1013
+ # @option opts [Integer] :page Load this page from the file
1014
+ # @option opts [Boolean] :fail Fail on first error
1015
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1016
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1017
+
1018
+ # @!method self.pngload(filename, opts = {})
1019
+ # Load png from file.
1020
+ # @param filename [String] Filename to load from
1021
+ # @param opts [Hash] Set of options
1022
+ # @option opts [Boolean] :memory Force open via memory
1023
+ # @option opts [Vips::Access] :access Required access pattern for this file
1024
+ # @option opts [Boolean] :fail Fail on first error
1025
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1026
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1027
+
1028
+ # @!method self.pngload_buffer(buffer, opts = {})
1029
+ # Load png from buffer.
1030
+ # @param buffer [VipsBlob] Buffer to load from
1031
+ # @param opts [Hash] Set of options
1032
+ # @option opts [Boolean] :memory Force open via memory
1033
+ # @option opts [Vips::Access] :access Required access pattern for this file
1034
+ # @option opts [Boolean] :fail Fail on first error
1035
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1036
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1037
+
1038
+ # @!method self.matload(filename, opts = {})
1039
+ # Load mat from file.
1040
+ # @param filename [String] Filename to load from
1041
+ # @param opts [Hash] Set of options
1042
+ # @option opts [Boolean] :memory Force open via memory
1043
+ # @option opts [Vips::Access] :access Required access pattern for this file
1044
+ # @option opts [Boolean] :fail Fail on first error
1045
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1046
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1047
+
1048
+ # @!method self.jpegload(filename, opts = {})
1049
+ # Load jpeg from file.
1050
+ # @param filename [String] Filename to load from
1051
+ # @param opts [Hash] Set of options
1052
+ # @option opts [Boolean] :memory Force open via memory
1053
+ # @option opts [Vips::Access] :access Required access pattern for this file
1054
+ # @option opts [Integer] :shrink Shrink factor on load
1055
+ # @option opts [Boolean] :fail Fail on first error
1056
+ # @option opts [Boolean] :autorotate Rotate image using exif orientation
1057
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1058
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1059
+
1060
+ # @!method self.jpegload_buffer(buffer, opts = {})
1061
+ # Load jpeg from buffer.
1062
+ # @param buffer [VipsBlob] Buffer to load from
1063
+ # @param opts [Hash] Set of options
1064
+ # @option opts [Boolean] :memory Force open via memory
1065
+ # @option opts [Vips::Access] :access Required access pattern for this file
1066
+ # @option opts [Integer] :shrink Shrink factor on load
1067
+ # @option opts [Boolean] :fail Fail on first error
1068
+ # @option opts [Boolean] :autorotate Rotate image using exif orientation
1069
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1070
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1071
+
1072
+ # @!method self.webpload(filename, opts = {})
1073
+ # Load webp from file.
1074
+ # @param filename [String] Filename to load from
1075
+ # @param opts [Hash] Set of options
1076
+ # @option opts [Boolean] :memory Force open via memory
1077
+ # @option opts [Vips::Access] :access Required access pattern for this file
1078
+ # @option opts [Integer] :shrink Shrink factor on load
1079
+ # @option opts [Boolean] :fail Fail on first error
1080
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1081
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1082
+
1083
+ # @!method self.webpload_buffer(buffer, opts = {})
1084
+ # Load webp from buffer.
1085
+ # @param buffer [VipsBlob] Buffer to load from
1086
+ # @param opts [Hash] Set of options
1087
+ # @option opts [Boolean] :memory Force open via memory
1088
+ # @option opts [Vips::Access] :access Required access pattern for this file
1089
+ # @option opts [Integer] :shrink Shrink factor on load
1090
+ # @option opts [Boolean] :fail Fail on first error
1091
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1092
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1093
+
1094
+ # @!method self.tiffload(filename, opts = {})
1095
+ # Load tiff from file.
1096
+ # @param filename [String] Filename to load from
1097
+ # @param opts [Hash] Set of options
1098
+ # @option opts [Boolean] :memory Force open via memory
1099
+ # @option opts [Vips::Access] :access Required access pattern for this file
1100
+ # @option opts [Integer] :page Load this page from the image
1101
+ # @option opts [Integer] :n Load this many pages
1102
+ # @option opts [Boolean] :fail Fail on first error
1103
+ # @option opts [Boolean] :autorotate Rotate image using orientation tag
1104
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1105
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1106
+
1107
+ # @!method self.tiffload_buffer(buffer, opts = {})
1108
+ # Load tiff from buffer.
1109
+ # @param buffer [VipsBlob] Buffer to load from
1110
+ # @param opts [Hash] Set of options
1111
+ # @option opts [Boolean] :memory Force open via memory
1112
+ # @option opts [Vips::Access] :access Required access pattern for this file
1113
+ # @option opts [Integer] :page Load this page from the image
1114
+ # @option opts [Integer] :n Load this many pages
1115
+ # @option opts [Boolean] :fail Fail on first error
1116
+ # @option opts [Boolean] :autorotate Rotate image using orientation tag
1117
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1118
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1119
+
1120
+ # @!method self.openslideload(filename, opts = {})
1121
+ # Load file with openslide.
1122
+ # @param filename [String] Filename to load from
1123
+ # @param opts [Hash] Set of options
1124
+ # @option opts [Boolean] :memory Force open via memory
1125
+ # @option opts [Vips::Access] :access Required access pattern for this file
1126
+ # @option opts [Integer] :level Load this level from the file
1127
+ # @option opts [Boolean] :autocrop Crop to image bounds
1128
+ # @option opts [Boolean] :fail Fail on first error
1129
+ # @option opts [String] :associated Load this associated image
1130
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1131
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1132
+
1133
+ # @!method self.magickload(filename, opts = {})
1134
+ # Load file with imagemagick.
1135
+ # @param filename [String] Filename to load from
1136
+ # @param opts [Hash] Set of options
1137
+ # @option opts [String] :density Canvas resolution for rendering vector formats like SVG
1138
+ # @option opts [Integer] :page Load this page from the file
1139
+ # @option opts [Integer] :n Load this many pages
1140
+ # @option opts [Boolean] :memory Force open via memory
1141
+ # @option opts [Vips::Access] :access Required access pattern for this file
1142
+ # @option opts [Boolean] :fail Fail on first error
1143
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1144
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1145
+
1146
+ # @!method self.magickload_buffer(buffer, opts = {})
1147
+ # Load buffer with imagemagick.
1148
+ # @param buffer [VipsBlob] Buffer to load from
1149
+ # @param opts [Hash] Set of options
1150
+ # @option opts [String] :density Canvas resolution for rendering vector formats like SVG
1151
+ # @option opts [Integer] :page Load this page from the file
1152
+ # @option opts [Integer] :n Load this many pages
1153
+ # @option opts [Boolean] :memory Force open via memory
1154
+ # @option opts [Vips::Access] :access Required access pattern for this file
1155
+ # @option opts [Boolean] :fail Fail on first error
1156
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1157
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1158
+
1159
+ # @!method self.fitsload(filename, opts = {})
1160
+ # Load a fits image.
1161
+ # @param filename [String] Filename to load from
1162
+ # @param opts [Hash] Set of options
1163
+ # @option opts [Boolean] :memory Force open via memory
1164
+ # @option opts [Vips::Access] :access Required access pattern for this file
1165
+ # @option opts [Boolean] :fail Fail on first error
1166
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1167
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1168
+
1169
+ # @!method self.openexrload(filename, opts = {})
1170
+ # Load an openexr image.
1171
+ # @param filename [String] Filename to load from
1172
+ # @param opts [Hash] Set of options
1173
+ # @option opts [Boolean] :memory Force open via memory
1174
+ # @option opts [Vips::Access] :access Required access pattern for this file
1175
+ # @option opts [Boolean] :fail Fail on first error
1176
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1177
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1178
+
1179
+ # @!method csvsave(filename, opts = {})
1180
+ # Save image to csv file.
1181
+ # @param filename [String] Filename to save to
1182
+ # @param opts [Hash] Set of options
1183
+ # @option opts [Integer] :page_height Set page height for multipage save
1184
+ # @option opts [String] :separator Separator characters
1185
+ # @option opts [Boolean] :strip Strip all metadata from image
1186
+ # @option opts [Array<Double>] :background Background value
1187
+ # @return [nil]
1188
+
1189
+ # @!method matrixsave(filename, opts = {})
1190
+ # Save image to matrix file.
1191
+ # @param filename [String] Filename to save to
1192
+ # @param opts [Hash] Set of options
1193
+ # @option opts [Integer] :page_height Set page height for multipage save
1194
+ # @option opts [Boolean] :strip Strip all metadata from image
1195
+ # @option opts [Array<Double>] :background Background value
1196
+ # @return [nil]
1197
+
1198
+ # @!method matrixprint(opts = {})
1199
+ # Print matrix.
1200
+ # @param opts [Hash] Set of options
1201
+ # @option opts [Integer] :page_height Set page height for multipage save
1202
+ # @option opts [Boolean] :strip Strip all metadata from image
1203
+ # @option opts [Array<Double>] :background Background value
1204
+ # @return [nil]
1205
+
1206
+ # @!method rawsave(filename, opts = {})
1207
+ # Save image to raw file.
1208
+ # @param filename [String] Filename to save to
1209
+ # @param opts [Hash] Set of options
1210
+ # @option opts [Integer] :page_height Set page height for multipage save
1211
+ # @option opts [Boolean] :strip Strip all metadata from image
1212
+ # @option opts [Array<Double>] :background Background value
1213
+ # @return [nil]
1214
+
1215
+ # @!method rawsave_fd(fd, opts = {})
1216
+ # Write raw image to file descriptor.
1217
+ # @param fd [Integer] File descriptor to write to
1218
+ # @param opts [Hash] Set of options
1219
+ # @option opts [Integer] :page_height Set page height for multipage save
1220
+ # @option opts [Boolean] :strip Strip all metadata from image
1221
+ # @option opts [Array<Double>] :background Background value
1222
+ # @return [nil]
1223
+
1224
+ # @!method vipssave(filename, opts = {})
1225
+ # Save image to vips file.
1226
+ # @param filename [String] Filename to save to
1227
+ # @param opts [Hash] Set of options
1228
+ # @option opts [Integer] :page_height Set page height for multipage save
1229
+ # @option opts [Boolean] :strip Strip all metadata from image
1230
+ # @option opts [Array<Double>] :background Background value
1231
+ # @return [nil]
1232
+
1233
+ # @!method ppmsave(filename, opts = {})
1234
+ # Save image to ppm file.
1235
+ # @param filename [String] Filename to save to
1236
+ # @param opts [Hash] Set of options
1237
+ # @option opts [Integer] :page_height Set page height for multipage save
1238
+ # @option opts [Boolean] :ascii save as ascii
1239
+ # @option opts [Boolean] :squash save as one bit
1240
+ # @option opts [Boolean] :strip Strip all metadata from image
1241
+ # @option opts [Array<Double>] :background Background value
1242
+ # @return [nil]
1243
+
1244
+ # @!method radsave(filename, opts = {})
1245
+ # Save image to radiance file.
1246
+ # @param filename [String] Filename to save to
1247
+ # @param opts [Hash] Set of options
1248
+ # @option opts [Integer] :page_height Set page height for multipage save
1249
+ # @option opts [Boolean] :strip Strip all metadata from image
1250
+ # @option opts [Array<Double>] :background Background value
1251
+ # @return [nil]
1252
+
1253
+ # @!method radsave_buffer(opts = {})
1254
+ # Save image to radiance buffer.
1255
+ # @param opts [Hash] Set of options
1256
+ # @option opts [Integer] :page_height Set page height for multipage save
1257
+ # @option opts [Boolean] :strip Strip all metadata from image
1258
+ # @option opts [Array<Double>] :background Background value
1259
+ # @return [VipsBlob] Buffer to save to
1260
+
1261
+ # @!method dzsave(filename, opts = {})
1262
+ # Save image to deepzoom file.
1263
+ # @param filename [String] Filename to save to
1264
+ # @param opts [Hash] Set of options
1265
+ # @option opts [String] :basename Base name to save to
1266
+ # @option opts [Vips::ForeignDzLayout] :layout Directory layout
1267
+ # @option opts [Integer] :page_height Set page height for multipage save
1268
+ # @option opts [String] :suffix Filename suffix for tiles
1269
+ # @option opts [Integer] :overlap Tile overlap in pixels
1270
+ # @option opts [Integer] :tile_size Tile size in pixels
1271
+ # @option opts [Boolean] :centre Center image in tile
1272
+ # @option opts [Vips::ForeignDzDepth] :depth Pyramid depth
1273
+ # @option opts [Vips::Angle] :angle Rotate image during save
1274
+ # @option opts [Vips::ForeignDzContainer] :container Pyramid container type
1275
+ # @option opts [Boolean] :properties Write a properties file to the output directory
1276
+ # @option opts [Integer] :compression ZIP deflate compression level
1277
+ # @option opts [Boolean] :strip Strip all metadata from image
1278
+ # @option opts [Array<Double>] :background Background value
1279
+ # @return [nil]
1280
+
1281
+ # @!method dzsave_buffer(opts = {})
1282
+ # Save image to dz buffer.
1283
+ # @param opts [Hash] Set of options
1284
+ # @option opts [String] :basename Base name to save to
1285
+ # @option opts [Vips::ForeignDzLayout] :layout Directory layout
1286
+ # @option opts [Integer] :page_height Set page height for multipage save
1287
+ # @option opts [String] :suffix Filename suffix for tiles
1288
+ # @option opts [Integer] :overlap Tile overlap in pixels
1289
+ # @option opts [Integer] :tile_size Tile size in pixels
1290
+ # @option opts [Boolean] :centre Center image in tile
1291
+ # @option opts [Vips::ForeignDzDepth] :depth Pyramid depth
1292
+ # @option opts [Vips::Angle] :angle Rotate image during save
1293
+ # @option opts [Vips::ForeignDzContainer] :container Pyramid container type
1294
+ # @option opts [Boolean] :properties Write a properties file to the output directory
1295
+ # @option opts [Integer] :compression ZIP deflate compression level
1296
+ # @option opts [Boolean] :strip Strip all metadata from image
1297
+ # @option opts [Array<Double>] :background Background value
1298
+ # @return [VipsBlob] Buffer to save to
1299
+
1300
+ # @!method pngsave(filename, opts = {})
1301
+ # Save image to png file.
1302
+ # @param filename [String] Filename to save to
1303
+ # @param opts [Hash] Set of options
1304
+ # @option opts [Integer] :compression Compression factor
1305
+ # @option opts [Boolean] :interlace Interlace image
1306
+ # @option opts [Integer] :page_height Set page height for multipage save
1307
+ # @option opts [String] :profile ICC profile to embed
1308
+ # @option opts [Vips::ForeignPngFilter] :filter libpng row filter flag(s)
1309
+ # @option opts [Boolean] :strip Strip all metadata from image
1310
+ # @option opts [Array<Double>] :background Background value
1311
+ # @return [nil]
1312
+
1313
+ # @!method pngsave_buffer(opts = {})
1314
+ # Save image to png buffer.
1315
+ # @param opts [Hash] Set of options
1316
+ # @option opts [Integer] :compression Compression factor
1317
+ # @option opts [Boolean] :interlace Interlace image
1318
+ # @option opts [Integer] :page_height Set page height for multipage save
1319
+ # @option opts [String] :profile ICC profile to embed
1320
+ # @option opts [Vips::ForeignPngFilter] :filter libpng row filter flag(s)
1321
+ # @option opts [Boolean] :strip Strip all metadata from image
1322
+ # @option opts [Array<Double>] :background Background value
1323
+ # @return [VipsBlob] Buffer to save to
1324
+
1325
+ # @!method jpegsave(filename, opts = {})
1326
+ # Save image to jpeg file.
1327
+ # @param filename [String] Filename to save to
1328
+ # @param opts [Hash] Set of options
1329
+ # @option opts [Integer] :page_height Set page height for multipage save
1330
+ # @option opts [Integer] :Q Q factor
1331
+ # @option opts [String] :profile ICC profile to embed
1332
+ # @option opts [Boolean] :optimize_coding Compute optimal Huffman coding tables
1333
+ # @option opts [Boolean] :interlace Generate an interlaced (progressive) jpeg
1334
+ # @option opts [Boolean] :no_subsample Disable chroma subsample
1335
+ # @option opts [Boolean] :trellis_quant Apply trellis quantisation to each 8x8 block
1336
+ # @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
1337
+ # @option opts [Boolean] :optimize_scans Split the spectrum of DCT coefficients into separate scans
1338
+ # @option opts [Integer] :quant_table Use predefined quantization table with given index
1339
+ # @option opts [Boolean] :strip Strip all metadata from image
1340
+ # @option opts [Array<Double>] :background Background value
1341
+ # @return [nil]
1342
+
1343
+ # @!method jpegsave_buffer(opts = {})
1344
+ # Save image to jpeg buffer.
1345
+ # @param opts [Hash] Set of options
1346
+ # @option opts [Integer] :page_height Set page height for multipage save
1347
+ # @option opts [Integer] :Q Q factor
1348
+ # @option opts [String] :profile ICC profile to embed
1349
+ # @option opts [Boolean] :optimize_coding Compute optimal Huffman coding tables
1350
+ # @option opts [Boolean] :interlace Generate an interlaced (progressive) jpeg
1351
+ # @option opts [Boolean] :no_subsample Disable chroma subsample
1352
+ # @option opts [Boolean] :trellis_quant Apply trellis quantisation to each 8x8 block
1353
+ # @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
1354
+ # @option opts [Boolean] :optimize_scans Split the spectrum of DCT coefficients into separate scans
1355
+ # @option opts [Integer] :quant_table Use predefined quantization table with given index
1356
+ # @option opts [Boolean] :strip Strip all metadata from image
1357
+ # @option opts [Array<Double>] :background Background value
1358
+ # @return [VipsBlob] Buffer to save to
1359
+
1360
+ # @!method jpegsave_mime(opts = {})
1361
+ # Save image to jpeg mime.
1362
+ # @param opts [Hash] Set of options
1363
+ # @option opts [Integer] :page_height Set page height for multipage save
1364
+ # @option opts [Integer] :Q Q factor
1365
+ # @option opts [String] :profile ICC profile to embed
1366
+ # @option opts [Boolean] :optimize_coding Compute optimal Huffman coding tables
1367
+ # @option opts [Boolean] :interlace Generate an interlaced (progressive) jpeg
1368
+ # @option opts [Boolean] :no_subsample Disable chroma subsample
1369
+ # @option opts [Boolean] :trellis_quant Apply trellis quantisation to each 8x8 block
1370
+ # @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
1371
+ # @option opts [Boolean] :optimize_scans Split the spectrum of DCT coefficients into separate scans
1372
+ # @option opts [Integer] :quant_table Use predefined quantization table with given index
1373
+ # @option opts [Boolean] :strip Strip all metadata from image
1374
+ # @option opts [Array<Double>] :background Background value
1375
+ # @return [nil]
1376
+
1377
+ # @!method webpsave(filename, opts = {})
1378
+ # Save image to webp file.
1379
+ # @param filename [String] Filename to save to
1380
+ # @param opts [Hash] Set of options
1381
+ # @option opts [Integer] :page_height Set page height for multipage save
1382
+ # @option opts [Integer] :Q Q factor
1383
+ # @option opts [Boolean] :lossless enable lossless compression
1384
+ # @option opts [Vips::ForeignWebpPreset] :preset Preset for lossy compression
1385
+ # @option opts [Boolean] :smart_subsample Enable high quality chroma subsampling
1386
+ # @option opts [Boolean] :near_lossless Enable preprocessing in lossless mode (uses Q)
1387
+ # @option opts [Integer] :alpha_q Change alpha plane fidelity for lossy compression
1388
+ # @option opts [Boolean] :strip Strip all metadata from image
1389
+ # @option opts [Array<Double>] :background Background value
1390
+ # @return [nil]
1391
+
1392
+ # @!method webpsave_buffer(opts = {})
1393
+ # Save image to webp buffer.
1394
+ # @param opts [Hash] Set of options
1395
+ # @option opts [Integer] :page_height Set page height for multipage save
1396
+ # @option opts [Integer] :Q Q factor
1397
+ # @option opts [Boolean] :lossless enable lossless compression
1398
+ # @option opts [Vips::ForeignWebpPreset] :preset Preset for lossy compression
1399
+ # @option opts [Boolean] :smart_subsample Enable high quality chroma subsampling
1400
+ # @option opts [Boolean] :near_lossless Enable preprocessing in lossless mode (uses Q)
1401
+ # @option opts [Integer] :alpha_q Change alpha plane fidelity for lossy compression
1402
+ # @option opts [Boolean] :strip Strip all metadata from image
1403
+ # @option opts [Array<Double>] :background Background value
1404
+ # @return [VipsBlob] Buffer to save to
1405
+
1406
+ # @!method tiffsave(filename, opts = {})
1407
+ # Save image to tiff file.
1408
+ # @param filename [String] Filename to save to
1409
+ # @param opts [Hash] Set of options
1410
+ # @option opts [Vips::ForeignTiffCompression] :compression Compression for this file
1411
+ # @option opts [Integer] :Q Q factor
1412
+ # @option opts [Vips::ForeignTiffPredictor] :predictor Compression prediction
1413
+ # @option opts [Integer] :page_height Set page height for multipage save
1414
+ # @option opts [String] :profile ICC profile to embed
1415
+ # @option opts [Boolean] :tile Write a tiled tiff
1416
+ # @option opts [Integer] :tile_width Tile width in pixels
1417
+ # @option opts [Integer] :tile_height Tile height in pixels
1418
+ # @option opts [Boolean] :pyramid Write a pyramidal tiff
1419
+ # @option opts [Boolean] :miniswhite Use 0 for white in 1-bit images
1420
+ # @option opts [Boolean] :squash Squash images down to 1 bit
1421
+ # @option opts [Vips::ForeignTiffResunit] :resunit Resolution unit
1422
+ # @option opts [Float] :xres Horizontal resolution in pixels/mm
1423
+ # @option opts [Float] :yres Vertical resolution in pixels/mm
1424
+ # @option opts [Boolean] :bigtiff Write a bigtiff image
1425
+ # @option opts [Boolean] :properties Write a properties document to IMAGEDESCRIPTION
1426
+ # @option opts [Boolean] :strip Strip all metadata from image
1427
+ # @option opts [Array<Double>] :background Background value
1428
+ # @return [nil]
1429
+
1430
+ # @!method tiffsave_buffer(opts = {})
1431
+ # Save image to tiff buffer.
1432
+ # @param opts [Hash] Set of options
1433
+ # @option opts [Vips::ForeignTiffCompression] :compression Compression for this file
1434
+ # @option opts [Integer] :Q Q factor
1435
+ # @option opts [Vips::ForeignTiffPredictor] :predictor Compression prediction
1436
+ # @option opts [Integer] :page_height Set page height for multipage save
1437
+ # @option opts [String] :profile ICC profile to embed
1438
+ # @option opts [Boolean] :tile Write a tiled tiff
1439
+ # @option opts [Integer] :tile_width Tile width in pixels
1440
+ # @option opts [Integer] :tile_height Tile height in pixels
1441
+ # @option opts [Boolean] :pyramid Write a pyramidal tiff
1442
+ # @option opts [Boolean] :miniswhite Use 0 for white in 1-bit images
1443
+ # @option opts [Boolean] :squash Squash images down to 1 bit
1444
+ # @option opts [Vips::ForeignTiffResunit] :resunit Resolution unit
1445
+ # @option opts [Float] :xres Horizontal resolution in pixels/mm
1446
+ # @option opts [Float] :yres Vertical resolution in pixels/mm
1447
+ # @option opts [Boolean] :bigtiff Write a bigtiff image
1448
+ # @option opts [Boolean] :properties Write a properties document to IMAGEDESCRIPTION
1449
+ # @option opts [Boolean] :strip Strip all metadata from image
1450
+ # @option opts [Array<Double>] :background Background value
1451
+ # @return [VipsBlob] Buffer to save to
1452
+
1453
+ # @!method fitssave(filename, opts = {})
1454
+ # Save image to fits file.
1455
+ # @param filename [String] Filename to save to
1456
+ # @param opts [Hash] Set of options
1457
+ # @option opts [Integer] :page_height Set page height for multipage save
1458
+ # @option opts [Boolean] :strip Strip all metadata from image
1459
+ # @option opts [Array<Double>] :background Background value
1460
+ # @return [nil]
1461
+
1462
+ # @!method self.thumbnail(filename, width, opts = {})
1463
+ # Generate thumbnail from file.
1464
+ # @param filename [String] Filename to read from
1465
+ # @param width [Integer] Size to this width
1466
+ # @param opts [Hash] Set of options
1467
+ # @option opts [Integer] :height Size to this height
1468
+ # @option opts [Vips::Size] :size Only upsize, only downsize, or both
1469
+ # @option opts [Boolean] :auto_rotate Use orientation tags to rotate image upright
1470
+ # @option opts [Vips::Interesting] :crop Reduce to fill target rectangle, then crop
1471
+ # @option opts [Boolean] :linear Reduce in linear light
1472
+ # @option opts [String] :import_profile Fallback import profile
1473
+ # @option opts [String] :export_profile Fallback export profile
1474
+ # @option opts [Vips::Intent] :intent Rendering intent
1475
+ # @return [Vips::Image] Output image
1476
+
1477
+ # @!method self.thumbnail_buffer(buffer, width, opts = {})
1478
+ # Generate thumbnail from buffer.
1479
+ # @param buffer [VipsBlob] Buffer to load from
1480
+ # @param width [Integer] Size to this width
1481
+ # @param opts [Hash] Set of options
1482
+ # @option opts [Integer] :height Size to this height
1483
+ # @option opts [Vips::Size] :size Only upsize, only downsize, or both
1484
+ # @option opts [Boolean] :auto_rotate Use orientation tags to rotate image upright
1485
+ # @option opts [Vips::Interesting] :crop Reduce to fill target rectangle, then crop
1486
+ # @option opts [Boolean] :linear Reduce in linear light
1487
+ # @option opts [String] :import_profile Fallback import profile
1488
+ # @option opts [String] :export_profile Fallback export profile
1489
+ # @option opts [Vips::Intent] :intent Rendering intent
1490
+ # @return [Vips::Image] Output image
1491
+
1492
+ # @!method thumbnail_image(width, opts = {})
1493
+ # Generate thumbnail from image.
1494
+ # @param width [Integer] Size to this width
1495
+ # @param opts [Hash] Set of options
1496
+ # @option opts [Integer] :height Size to this height
1497
+ # @option opts [Vips::Size] :size Only upsize, only downsize, or both
1498
+ # @option opts [Boolean] :auto_rotate Use orientation tags to rotate image upright
1499
+ # @option opts [Vips::Interesting] :crop Reduce to fill target rectangle, then crop
1500
+ # @option opts [Boolean] :linear Reduce in linear light
1501
+ # @option opts [String] :import_profile Fallback import profile
1502
+ # @option opts [String] :export_profile Fallback export profile
1503
+ # @option opts [Vips::Intent] :intent Rendering intent
1504
+ # @return [Vips::Image] Output image
1505
+
1506
+ # @!method mapim(index, opts = {})
1507
+ # Resample with an mapim image.
1508
+ # @param index [Vips::Image] Index pixels with this
1509
+ # @param opts [Hash] Set of options
1510
+ # @option opts [Vips::Interpolate] :interpolate Interpolate pixels with this
1511
+ # @return [Vips::Image] Output image
1512
+
1513
+ # @!method shrink(hshrink, vshrink, opts = {})
1514
+ # Shrink an image.
1515
+ # @param hshrink [Float] Horizontal shrink factor
1516
+ # @param vshrink [Float] Vertical shrink factor
1517
+ # @param opts [Hash] Set of options
1518
+ # @return [Vips::Image] Output image
1519
+
1520
+ # @!method shrinkh(hshrink, opts = {})
1521
+ # Shrink an image horizontally.
1522
+ # @param hshrink [Integer] Horizontal shrink factor
1523
+ # @param opts [Hash] Set of options
1524
+ # @return [Vips::Image] Output image
1525
+
1526
+ # @!method shrinkv(vshrink, opts = {})
1527
+ # Shrink an image vertically.
1528
+ # @param vshrink [Integer] Vertical shrink factor
1529
+ # @param opts [Hash] Set of options
1530
+ # @return [Vips::Image] Output image
1531
+
1532
+ # @!method reduceh(hshrink, opts = {})
1533
+ # Shrink an image horizontally.
1534
+ # @param hshrink [Float] Horizontal shrink factor
1535
+ # @param opts [Hash] Set of options
1536
+ # @option opts [Vips::Kernel] :kernel Resampling kernel
1537
+ # @option opts [Boolean] :centre Use centre sampling convention
1538
+ # @return [Vips::Image] Output image
1539
+
1540
+ # @!method reducev(vshrink, opts = {})
1541
+ # Shrink an image vertically.
1542
+ # @param vshrink [Float] Vertical shrink factor
1543
+ # @param opts [Hash] Set of options
1544
+ # @option opts [Vips::Kernel] :kernel Resampling kernel
1545
+ # @option opts [Boolean] :centre Use centre sampling convention
1546
+ # @return [Vips::Image] Output image
1547
+
1548
+ # @!method reduce(hshrink, vshrink, opts = {})
1549
+ # Reduce an image.
1550
+ # @param hshrink [Float] Horizontal shrink factor
1551
+ # @param vshrink [Float] Vertical shrink factor
1552
+ # @param opts [Hash] Set of options
1553
+ # @option opts [Vips::Kernel] :kernel Resampling kernel
1554
+ # @option opts [Boolean] :centre Use centre sampling convention
1555
+ # @return [Vips::Image] Output image
1556
+
1557
+ # @!method quadratic(coeff, opts = {})
1558
+ # Resample an image with a quadratic transform.
1559
+ # @param coeff [Vips::Image] Coefficient matrix
1560
+ # @param opts [Hash] Set of options
1561
+ # @option opts [Vips::Interpolate] :interpolate Interpolate values with this
1562
+ # @return [Vips::Image] Output image
1563
+
1564
+ # @!method affine(matrix, opts = {})
1565
+ # Affine transform of an image.
1566
+ # @param matrix [Array<Double>] Transformation matrix
1567
+ # @param opts [Hash] Set of options
1568
+ # @option opts [Vips::Interpolate] :interpolate Interpolate pixels with this
1569
+ # @option opts [Array<Integer>] :oarea Area of output to generate
1570
+ # @option opts [Float] :odx Horizontal output displacement
1571
+ # @option opts [Float] :ody Vertical output displacement
1572
+ # @option opts [Float] :idx Horizontal input displacement
1573
+ # @option opts [Float] :idy Vertical input displacement
1574
+ # @option opts [Array<Double>] :background Background value
1575
+ # @option opts [Vips::Extend] :extend How to generate the extra pixels
1576
+ # @return [Vips::Image] Output image
1577
+
1578
+ # @!method similarity(opts = {})
1579
+ # Similarity transform of an image.
1580
+ # @param opts [Hash] Set of options
1581
+ # @option opts [Array<Double>] :background Background value
1582
+ # @option opts [Vips::Interpolate] :interpolate Interpolate pixels with this
1583
+ # @option opts [Float] :scale Scale by this factor
1584
+ # @option opts [Float] :angle Rotate anticlockwise by this many degrees
1585
+ # @option opts [Float] :odx Horizontal output displacement
1586
+ # @option opts [Float] :ody Vertical output displacement
1587
+ # @option opts [Float] :idx Horizontal input displacement
1588
+ # @option opts [Float] :idy Vertical input displacement
1589
+ # @return [Vips::Image] Output image
1590
+
1591
+ # @!method resize(scale, opts = {})
1592
+ # Resize an image.
1593
+ # @param scale [Float] Scale image by this factor
1594
+ # @param opts [Hash] Set of options
1595
+ # @option opts [Vips::Kernel] :kernel Resampling kernel
1596
+ # @option opts [Float] :vscale Vertical scale image by this factor
1597
+ # @return [Vips::Image] Output image
1598
+
1599
+ # @!method colourspace(space, opts = {})
1600
+ # Convert to a new colorspace.
1601
+ # @param space [Vips::Interpretation] Destination color space
1602
+ # @param opts [Hash] Set of options
1603
+ # @option opts [Vips::Interpretation] :source_space Source color space
1604
+ # @return [Vips::Image] Output image
1605
+
1606
+ # @!method Lab2XYZ(opts = {})
1607
+ # Transform cielab to xyz.
1608
+ # @param opts [Hash] Set of options
1609
+ # @option opts [Array<Double>] :temp Color temperature
1610
+ # @return [Vips::Image] Output image
1611
+
1612
+ # @!method XYZ2Lab(opts = {})
1613
+ # Transform xyz to lab.
1614
+ # @param opts [Hash] Set of options
1615
+ # @option opts [Array<Double>] :temp Colour temperature
1616
+ # @return [Vips::Image] Output image
1617
+
1618
+ # @!method Lab2LCh(opts = {})
1619
+ # Transform lab to lch.
1620
+ # @param opts [Hash] Set of options
1621
+ # @return [Vips::Image] Output image
1622
+
1623
+ # @!method LCh2Lab(opts = {})
1624
+ # Transform lch to lab.
1625
+ # @param opts [Hash] Set of options
1626
+ # @return [Vips::Image] Output image
1627
+
1628
+ # @!method LCh2CMC(opts = {})
1629
+ # Transform lch to cmc.
1630
+ # @param opts [Hash] Set of options
1631
+ # @return [Vips::Image] Output image
1632
+
1633
+ # @!method CMC2LCh(opts = {})
1634
+ # Transform lch to cmc.
1635
+ # @param opts [Hash] Set of options
1636
+ # @return [Vips::Image] Output image
1637
+
1638
+ # @!method XYZ2Yxy(opts = {})
1639
+ # Transform xyz to yxy.
1640
+ # @param opts [Hash] Set of options
1641
+ # @return [Vips::Image] Output image
1642
+
1643
+ # @!method Yxy2XYZ(opts = {})
1644
+ # Transform yxy to xyz.
1645
+ # @param opts [Hash] Set of options
1646
+ # @return [Vips::Image] Output image
1647
+
1648
+ # @!method scRGB2XYZ(opts = {})
1649
+ # Transform scrgb to xyz.
1650
+ # @param opts [Hash] Set of options
1651
+ # @return [Vips::Image] Output image
1652
+
1653
+ # @!method XYZ2scRGB(opts = {})
1654
+ # Transform xyz to scrgb.
1655
+ # @param opts [Hash] Set of options
1656
+ # @return [Vips::Image] Output image
1657
+
1658
+ # @!method LabQ2Lab(opts = {})
1659
+ # Unpack a labq image to float lab.
1660
+ # @param opts [Hash] Set of options
1661
+ # @return [Vips::Image] Output image
1662
+
1663
+ # @!method Lab2LabQ(opts = {})
1664
+ # Transform float lab to labq coding.
1665
+ # @param opts [Hash] Set of options
1666
+ # @return [Vips::Image] Output image
1667
+
1668
+ # @!method LabQ2LabS(opts = {})
1669
+ # Unpack a labq image to short lab.
1670
+ # @param opts [Hash] Set of options
1671
+ # @return [Vips::Image] Output image
1672
+
1673
+ # @!method LabS2LabQ(opts = {})
1674
+ # Transform short lab to labq coding.
1675
+ # @param opts [Hash] Set of options
1676
+ # @return [Vips::Image] Output image
1677
+
1678
+ # @!method LabS2Lab(opts = {})
1679
+ # Transform signed short lab to float.
1680
+ # @param opts [Hash] Set of options
1681
+ # @return [Vips::Image] Output image
1682
+
1683
+ # @!method Lab2LabS(opts = {})
1684
+ # Transform float lab to signed short.
1685
+ # @param opts [Hash] Set of options
1686
+ # @return [Vips::Image] Output image
1687
+
1688
+ # @!method rad2float(opts = {})
1689
+ # Unpack radiance coding to float rgb.
1690
+ # @param opts [Hash] Set of options
1691
+ # @return [Vips::Image] Output image
1692
+
1693
+ # @!method float2rad(opts = {})
1694
+ # Transform float rgb to radiance coding.
1695
+ # @param opts [Hash] Set of options
1696
+ # @return [Vips::Image] Output image
1697
+
1698
+ # @!method LabQ2sRGB(opts = {})
1699
+ # Convert a labq image to srgb.
1700
+ # @param opts [Hash] Set of options
1701
+ # @return [Vips::Image] Output image
1702
+
1703
+ # @!method sRGB2HSV(opts = {})
1704
+ # Transform srgb to hsv.
1705
+ # @param opts [Hash] Set of options
1706
+ # @return [Vips::Image] Output image
1707
+
1708
+ # @!method HSV2sRGB(opts = {})
1709
+ # Transform hsv to srgb.
1710
+ # @param opts [Hash] Set of options
1711
+ # @return [Vips::Image] Output image
1712
+
1713
+ # @!method icc_import(opts = {})
1714
+ # Import from device with icc profile.
1715
+ # @param opts [Hash] Set of options
1716
+ # @option opts [Vips::PCS] :pcs Set Profile Connection Space
1717
+ # @option opts [Vips::Intent] :intent Rendering intent
1718
+ # @option opts [Boolean] :embedded Use embedded input profile, if available
1719
+ # @option opts [String] :input_profile Filename to load input profile from
1720
+ # @return [Vips::Image] Output image
1721
+
1722
+ # @!method icc_export(opts = {})
1723
+ # Output to device with icc profile.
1724
+ # @param opts [Hash] Set of options
1725
+ # @option opts [Vips::PCS] :pcs Set Profile Connection Space
1726
+ # @option opts [Vips::Intent] :intent Rendering intent
1727
+ # @option opts [String] :output_profile Filename to load output profile from
1728
+ # @option opts [Integer] :depth Output device space depth in bits
1729
+ # @return [Vips::Image] Output image
1730
+
1731
+ # @!method icc_transform(output_profile, opts = {})
1732
+ # Transform between devices with icc profiles.
1733
+ # @param output_profile [String] Filename to load output profile from
1734
+ # @param opts [Hash] Set of options
1735
+ # @option opts [Vips::PCS] :pcs Set Profile Connection Space
1736
+ # @option opts [Vips::Intent] :intent Rendering intent
1737
+ # @option opts [Boolean] :embedded Use embedded input profile, if available
1738
+ # @option opts [String] :input_profile Filename to load input profile from
1739
+ # @option opts [Integer] :depth Output device space depth in bits
1740
+ # @return [Vips::Image] Output image
1741
+
1742
+ # @!method dE76(right, opts = {})
1743
+ # Calculate de76.
1744
+ # @param right [Vips::Image] Right-hand input image
1745
+ # @param opts [Hash] Set of options
1746
+ # @return [Vips::Image] Output image
1747
+
1748
+ # @!method dE00(right, opts = {})
1749
+ # Calculate de00.
1750
+ # @param right [Vips::Image] Right-hand input image
1751
+ # @param opts [Hash] Set of options
1752
+ # @return [Vips::Image] Output image
1753
+
1754
+ # @!method dECMC(right, opts = {})
1755
+ # Calculate decmc.
1756
+ # @param right [Vips::Image] Right-hand input image
1757
+ # @param opts [Hash] Set of options
1758
+ # @return [Vips::Image] Output image
1759
+
1760
+ # @!method sRGB2scRGB(opts = {})
1761
+ # Convert an srgb image to scrgb.
1762
+ # @param opts [Hash] Set of options
1763
+ # @return [Vips::Image] Output image
1764
+
1765
+ # @!method scRGB2BW(opts = {})
1766
+ # Convert scrgb to bw.
1767
+ # @param opts [Hash] Set of options
1768
+ # @option opts [Integer] :depth Output device space depth in bits
1769
+ # @return [Vips::Image] Output image
1770
+
1771
+ # @!method scRGB2sRGB(opts = {})
1772
+ # Convert an scrgb image to srgb.
1773
+ # @param opts [Hash] Set of options
1774
+ # @option opts [Integer] :depth Output device space depth in bits
1775
+ # @return [Vips::Image] Output image
1776
+
1777
+ # @!method maplut(lut, opts = {})
1778
+ # Map an image though a lut.
1779
+ # @param lut [Vips::Image] Look-up table image
1780
+ # @param opts [Hash] Set of options
1781
+ # @option opts [Integer] :band apply one-band lut to this band of in
1782
+ # @return [Vips::Image] Output image
1783
+
1784
+ # @!method percent(percent, opts = {})
1785
+ # Find threshold for percent of pixels.
1786
+ # @param percent [Float] Percent of pixels
1787
+ # @param opts [Hash] Set of options
1788
+ # @return [Integer] Threshold above which lie percent of pixels
1789
+
1790
+ # @!method stdif(width, height, opts = {})
1791
+ # Statistical difference.
1792
+ # @param width [Integer] Window width in pixels
1793
+ # @param height [Integer] Window height in pixels
1794
+ # @param opts [Hash] Set of options
1795
+ # @option opts [Float] :s0 New deviation
1796
+ # @option opts [Float] :b Weight of new deviation
1797
+ # @option opts [Float] :m0 New mean
1798
+ # @option opts [Float] :a Weight of new mean
1799
+ # @return [Vips::Image] Output image
1800
+
1801
+ # @!method hist_cum(opts = {})
1802
+ # Form cumulative histogram.
1803
+ # @param opts [Hash] Set of options
1804
+ # @return [Vips::Image] Output image
1805
+
1806
+ # @!method hist_match(ref, opts = {})
1807
+ # Match two histograms.
1808
+ # @param ref [Vips::Image] Reference histogram
1809
+ # @param opts [Hash] Set of options
1810
+ # @return [Vips::Image] Output image
1811
+
1812
+ # @!method hist_norm(opts = {})
1813
+ # Normalise histogram.
1814
+ # @param opts [Hash] Set of options
1815
+ # @return [Vips::Image] Output image
1816
+
1817
+ # @!method hist_equal(opts = {})
1818
+ # Histogram equalisation.
1819
+ # @param opts [Hash] Set of options
1820
+ # @option opts [Integer] :band Equalise with this band
1821
+ # @return [Vips::Image] Output image
1822
+
1823
+ # @!method hist_plot(opts = {})
1824
+ # Plot histogram.
1825
+ # @param opts [Hash] Set of options
1826
+ # @return [Vips::Image] Output image
1827
+
1828
+ # @!method hist_local(width, height, opts = {})
1829
+ # Local histogram equalisation.
1830
+ # @param width [Integer] Window width in pixels
1831
+ # @param height [Integer] Window height in pixels
1832
+ # @param opts [Hash] Set of options
1833
+ # @option opts [Integer] :max_slope Maximum slope (CLAHE)
1834
+ # @return [Vips::Image] Output image
1835
+
1836
+ # @!method hist_ismonotonic(opts = {})
1837
+ # Test for monotonicity.
1838
+ # @param opts [Hash] Set of options
1839
+ # @return [Boolean] true if in is monotonic
1840
+
1841
+ # @!method hist_entropy(opts = {})
1842
+ # Estimate image entropy.
1843
+ # @param opts [Hash] Set of options
1844
+ # @return [Float] Output value
1845
+
1846
+ # @!method conv(mask, opts = {})
1847
+ # Convolution operation.
1848
+ # @param mask [Vips::Image] Input matrix image
1849
+ # @param opts [Hash] Set of options
1850
+ # @option opts [Vips::Precision] :precision Convolve with this precision
1851
+ # @option opts [Integer] :layers Use this many layers in approximation
1852
+ # @option opts [Integer] :cluster Cluster lines closer than this in approximation
1853
+ # @return [Vips::Image] Output image
1854
+
1855
+ # @!method conva(mask, opts = {})
1856
+ # Approximate integer convolution.
1857
+ # @param mask [Vips::Image] Input matrix image
1858
+ # @param opts [Hash] Set of options
1859
+ # @option opts [Integer] :layers Use this many layers in approximation
1860
+ # @option opts [Integer] :cluster Cluster lines closer than this in approximation
1861
+ # @return [Vips::Image] Output image
1862
+
1863
+ # @!method convf(mask, opts = {})
1864
+ # Float convolution operation.
1865
+ # @param mask [Vips::Image] Input matrix image
1866
+ # @param opts [Hash] Set of options
1867
+ # @return [Vips::Image] Output image
1868
+
1869
+ # @!method convi(mask, opts = {})
1870
+ # Int convolution operation.
1871
+ # @param mask [Vips::Image] Input matrix image
1872
+ # @param opts [Hash] Set of options
1873
+ # @return [Vips::Image] Output image
1874
+
1875
+ # @!method compass(mask, opts = {})
1876
+ # Convolve with rotating mask.
1877
+ # @param mask [Vips::Image] Input matrix image
1878
+ # @param opts [Hash] Set of options
1879
+ # @option opts [Integer] :times Rotate and convolve this many times
1880
+ # @option opts [Vips::Angle45] :angle Rotate mask by this much between convolutions
1881
+ # @option opts [Vips::Combine] :combine Combine convolution results like this
1882
+ # @option opts [Vips::Precision] :precision Convolve with this precision
1883
+ # @option opts [Integer] :layers Use this many layers in approximation
1884
+ # @option opts [Integer] :cluster Cluster lines closer than this in approximation
1885
+ # @return [Vips::Image] Output image
1886
+
1887
+ # @!method convsep(mask, opts = {})
1888
+ # Seperable convolution operation.
1889
+ # @param mask [Vips::Image] Input matrix image
1890
+ # @param opts [Hash] Set of options
1891
+ # @option opts [Vips::Precision] :precision Convolve with this precision
1892
+ # @option opts [Integer] :layers Use this many layers in approximation
1893
+ # @option opts [Integer] :cluster Cluster lines closer than this in approximation
1894
+ # @return [Vips::Image] Output image
1895
+
1896
+ # @!method convasep(mask, opts = {})
1897
+ # Approximate separable integer convolution.
1898
+ # @param mask [Vips::Image] Input matrix image
1899
+ # @param opts [Hash] Set of options
1900
+ # @option opts [Integer] :layers Use this many layers in approximation
1901
+ # @return [Vips::Image] Output image
1902
+
1903
+ # @!method fastcor(ref, opts = {})
1904
+ # Fast correlation.
1905
+ # @param ref [Vips::Image] Input reference image
1906
+ # @param opts [Hash] Set of options
1907
+ # @return [Vips::Image] Output image
1908
+
1909
+ # @!method spcor(ref, opts = {})
1910
+ # Spatial correlation.
1911
+ # @param ref [Vips::Image] Input reference image
1912
+ # @param opts [Hash] Set of options
1913
+ # @return [Vips::Image] Output image
1914
+
1915
+ # @!method sharpen(opts = {})
1916
+ # Unsharp masking for print.
1917
+ # @param opts [Hash] Set of options
1918
+ # @option opts [Float] :sigma Sigma of Gaussian
1919
+ # @option opts [Float] :x1 Flat/jaggy threshold
1920
+ # @option opts [Float] :y2 Maximum brightening
1921
+ # @option opts [Float] :y3 Maximum darkening
1922
+ # @option opts [Float] :m1 Slope for flat areas
1923
+ # @option opts [Float] :m2 Slope for jaggy areas
1924
+ # @return [Vips::Image] Output image
1925
+
1926
+ # @!method gaussblur(sigma, opts = {})
1927
+ # Gaussian blur.
1928
+ # @param sigma [Float] Sigma of Gaussian
1929
+ # @param opts [Hash] Set of options
1930
+ # @option opts [Float] :min_ampl Minimum amplitude of Gaussian
1931
+ # @option opts [Vips::Precision] :precision Convolve with this precision
1932
+ # @return [Vips::Image] Output image
1933
+
1934
+ # @!method fwfft(opts = {})
1935
+ # Forward fft.
1936
+ # @param opts [Hash] Set of options
1937
+ # @return [Vips::Image] Output image
1938
+
1939
+ # @!method invfft(opts = {})
1940
+ # Inverse fft.
1941
+ # @param opts [Hash] Set of options
1942
+ # @option opts [Boolean] :real Output only the real part of the transform
1943
+ # @return [Vips::Image] Output image
1944
+
1945
+ # @!method freqmult(mask, opts = {})
1946
+ # Frequency-domain filtering.
1947
+ # @param mask [Vips::Image] Input mask image
1948
+ # @param opts [Hash] Set of options
1949
+ # @return [Vips::Image] Output image
1950
+
1951
+ # @!method spectrum(opts = {})
1952
+ # Make displayable power spectrum.
1953
+ # @param opts [Hash] Set of options
1954
+ # @return [Vips::Image] Output image
1955
+
1956
+ # @!method phasecor(in2, opts = {})
1957
+ # Calculate phase correlation.
1958
+ # @param in2 [Vips::Image] Second input image
1959
+ # @param opts [Hash] Set of options
1960
+ # @return [Vips::Image] Output image
1961
+
1962
+ # @!method morph(mask, morph, opts = {})
1963
+ # Morphology operation.
1964
+ # @param mask [Vips::Image] Input matrix image
1965
+ # @param morph [Vips::OperationMorphology] Morphological operation to perform
1966
+ # @param opts [Hash] Set of options
1967
+ # @return [Vips::Image] Output image
1968
+
1969
+ # @!method rank(width, height, index, opts = {})
1970
+ # Rank filter.
1971
+ # @param width [Integer] Window width in pixels
1972
+ # @param height [Integer] Window height in pixels
1973
+ # @param index [Integer] Select pixel at index
1974
+ # @param opts [Hash] Set of options
1975
+ # @return [Vips::Image] Output image
1976
+
1977
+ # @!method countlines(direction, opts = {})
1978
+ # Count lines in an image.
1979
+ # @param direction [Vips::Direction] Countlines left-right or up-down
1980
+ # @param opts [Hash] Set of options
1981
+ # @return [Float] Number of lines
1982
+
1983
+ # @!method labelregions(opts = {})
1984
+ # Label regions in an image.
1985
+ # @param opts [Hash] Set of options
1986
+ # @option opts [Integer] :segments Output Number of discrete contigious regions
1987
+ # @return [Vips::Image, Hash<Symbol => Object>] Mask of region labels, Hash of optional output items
1988
+
1989
+ # @!method fill_nearest(opts = {})
1990
+ # Fill image zeros with nearest non-zero pixel.
1991
+ # @param opts [Hash] Set of options
1992
+ # @option opts [Vips::Image] :distance Output Distance to nearest non-zero pixel
1993
+ # @return [Vips::Image, Hash<Symbol => Object>] Value of nearest non-zero pixel, Hash of optional output items
1994
+
1995
+ # @!method draw_rect(ink, left, top, width, height, opts = {})
1996
+ # Paint a rectangle on an image.
1997
+ # @param ink [Array<Double>] Color for pixels
1998
+ # @param left [Integer] Rect to fill
1999
+ # @param top [Integer] Rect to fill
2000
+ # @param width [Integer] Rect to fill
2001
+ # @param height [Integer] Rect to fill
2002
+ # @param opts [Hash] Set of options
2003
+ # @option opts [Boolean] :fill Draw a solid object
2004
+ # @return [Vips::Image] Image to draw on
2005
+
2006
+ # @!method draw_mask(ink, mask, x, y, opts = {})
2007
+ # Draw a mask on an image.
2008
+ # @param ink [Array<Double>] Color for pixels
2009
+ # @param mask [Vips::Image] Mask of pixels to draw
2010
+ # @param x [Integer] Draw mask here
2011
+ # @param y [Integer] Draw mask here
2012
+ # @param opts [Hash] Set of options
2013
+ # @return [Vips::Image] Image to draw on
2014
+
2015
+ # @!method draw_line(ink, x1, y1, x2, y2, opts = {})
2016
+ # Draw a line on an image.
2017
+ # @param ink [Array<Double>] Color for pixels
2018
+ # @param x1 [Integer] Start of draw_line
2019
+ # @param y1 [Integer] Start of draw_line
2020
+ # @param x2 [Integer] End of draw_line
2021
+ # @param y2 [Integer] End of draw_line
2022
+ # @param opts [Hash] Set of options
2023
+ # @return [Vips::Image] Image to draw on
2024
+
2025
+ # @!method draw_circle(ink, cx, cy, radius, opts = {})
2026
+ # Draw a circle on an image.
2027
+ # @param ink [Array<Double>] Color for pixels
2028
+ # @param cx [Integer] Centre of draw_circle
2029
+ # @param cy [Integer] Centre of draw_circle
2030
+ # @param radius [Integer] Radius in pixels
2031
+ # @param opts [Hash] Set of options
2032
+ # @option opts [Boolean] :fill Draw a solid object
2033
+ # @return [Vips::Image] Image to draw on
2034
+
2035
+ # @!method draw_flood(ink, x, y, opts = {})
2036
+ # Flood-fill an area.
2037
+ # @param ink [Array<Double>] Color for pixels
2038
+ # @param x [Integer] DrawFlood start point
2039
+ # @param y [Integer] DrawFlood start point
2040
+ # @param opts [Hash] Set of options
2041
+ # @option opts [Vips::Image] :test Test pixels in this image
2042
+ # @option opts [Boolean] :equal DrawFlood while equal to edge
2043
+ # @option opts [Integer] :left Output Left edge of modified area
2044
+ # @option opts [Integer] :top Output top edge of modified area
2045
+ # @option opts [Integer] :width Output width of modified area
2046
+ # @option opts [Integer] :height Output height of modified area
2047
+ # @return [Vips::Image, Hash<Symbol => Object>] Image to draw on, Hash of optional output items
2048
+
2049
+ # @!method draw_image(sub, x, y, opts = {})
2050
+ # Paint an image into another image.
2051
+ # @param sub [Vips::Image] Sub-image to insert into main image
2052
+ # @param x [Integer] Draw image here
2053
+ # @param y [Integer] Draw image here
2054
+ # @param opts [Hash] Set of options
2055
+ # @option opts [Vips::CombineMode] :mode Combining mode
2056
+ # @return [Vips::Image] Image to draw on
2057
+
2058
+ # @!method draw_smudge(left, top, width, height, opts = {})
2059
+ # Blur a rectangle on an image.
2060
+ # @param left [Integer] Rect to fill
2061
+ # @param top [Integer] Rect to fill
2062
+ # @param width [Integer] Rect to fill
2063
+ # @param height [Integer] Rect to fill
2064
+ # @param opts [Hash] Set of options
2065
+ # @return [Vips::Image] Image to draw on
2066
+
2067
+ # @!method merge(sec, direction, dx, dy, opts = {})
2068
+ # Merge two images.
2069
+ # @param sec [Vips::Image] Secondary image
2070
+ # @param direction [Vips::Direction] Horizontal or vertcial merge
2071
+ # @param dx [Integer] Horizontal displacement from sec to ref
2072
+ # @param dy [Integer] Vertical displacement from sec to ref
2073
+ # @param opts [Hash] Set of options
2074
+ # @option opts [Integer] :mblend Maximum blend size
2075
+ # @return [Vips::Image] Output image
2076
+
2077
+ # @!method mosaic(sec, direction, xref, yref, xsec, ysec, opts = {})
2078
+ # Mosaic two images.
2079
+ # @param sec [Vips::Image] Secondary image
2080
+ # @param direction [Vips::Direction] Horizontal or vertcial mosaic
2081
+ # @param xref [Integer] Position of reference tie-point
2082
+ # @param yref [Integer] Position of reference tie-point
2083
+ # @param xsec [Integer] Position of secondary tie-point
2084
+ # @param ysec [Integer] Position of secondary tie-point
2085
+ # @param opts [Hash] Set of options
2086
+ # @option opts [Integer] :hwindow Half window size
2087
+ # @option opts [Integer] :harea Half area size
2088
+ # @option opts [Integer] :mblend Maximum blend size
2089
+ # @option opts [Integer] :bandno Band to search for features on
2090
+ # @option opts [Integer] :dx0 Output Detected integer offset
2091
+ # @option opts [Integer] :dy0 Output Detected integer offset
2092
+ # @option opts [Float] :scale1 Output Detected scale
2093
+ # @option opts [Float] :angle1 Output Detected rotation
2094
+ # @option opts [Float] :dy1 Output Detected first-order displacement
2095
+ # @option opts [Float] :dx1 Output Detected first-order displacement
2096
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
2097
+
2098
+ # @!method mosaic1(sec, direction, xr1, yr1, xs1, ys1, xr2, yr2, xs2, ys2, opts = {})
2099
+ # First-order mosaic of two images.
2100
+ # @param sec [Vips::Image] Secondary image
2101
+ # @param direction [Vips::Direction] Horizontal or vertcial mosaic
2102
+ # @param xr1 [Integer] Position of first reference tie-point
2103
+ # @param yr1 [Integer] Position of first reference tie-point
2104
+ # @param xs1 [Integer] Position of first secondary tie-point
2105
+ # @param ys1 [Integer] Position of first secondary tie-point
2106
+ # @param xr2 [Integer] Position of second reference tie-point
2107
+ # @param yr2 [Integer] Position of second reference tie-point
2108
+ # @param xs2 [Integer] Position of second secondary tie-point
2109
+ # @param ys2 [Integer] Position of second secondary tie-point
2110
+ # @param opts [Hash] Set of options
2111
+ # @option opts [Integer] :hwindow Half window size
2112
+ # @option opts [Integer] :harea Half area size
2113
+ # @option opts [Boolean] :search Search to improve tie-points
2114
+ # @option opts [Vips::Interpolate] :interpolate Interpolate pixels with this
2115
+ # @option opts [Integer] :mblend Maximum blend size
2116
+ # @option opts [Integer] :bandno Band to search for features on
2117
+ # @return [Vips::Image] Output image
2118
+
2119
+ # @!method match(sec, xr1, yr1, xs1, ys1, xr2, yr2, xs2, ys2, opts = {})
2120
+ # First-order match of two images.
2121
+ # @param sec [Vips::Image] Secondary image
2122
+ # @param xr1 [Integer] Position of first reference tie-point
2123
+ # @param yr1 [Integer] Position of first reference tie-point
2124
+ # @param xs1 [Integer] Position of first secondary tie-point
2125
+ # @param ys1 [Integer] Position of first secondary tie-point
2126
+ # @param xr2 [Integer] Position of second reference tie-point
2127
+ # @param yr2 [Integer] Position of second reference tie-point
2128
+ # @param xs2 [Integer] Position of second secondary tie-point
2129
+ # @param ys2 [Integer] Position of second secondary tie-point
2130
+ # @param opts [Hash] Set of options
2131
+ # @option opts [Integer] :hwindow Half window size
2132
+ # @option opts [Integer] :harea Half area size
2133
+ # @option opts [Boolean] :search Search to improve tie-points
2134
+ # @option opts [Vips::Interpolate] :interpolate Interpolate pixels with this
2135
+ # @return [Vips::Image] Output image
2136
+
2137
+ # @!method globalbalance(opts = {})
2138
+ # Global balance an image mosaic.
2139
+ # @param opts [Hash] Set of options
2140
+ # @option opts [Float] :gamma Image gamma
2141
+ # @option opts [Boolean] :int_output Integer output
2142
+ # @return [Vips::Image] Output image
2143
+
2144
+ end
2145
+ end