vips 8.6.3.2 → 8.8.2

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