ruby-vips 2.0.13 → 2.1.0

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