vips 8.6.3

Sign up to get free protection for your applications and to get access to all the features.
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