ruby-vips 2.0.13 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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