google-cloud-vision 0.31.0 → 0.32.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -9
  3. data/LICENSE +1 -1
  4. data/README.md +94 -0
  5. data/lib/google/cloud/vision.rb +200 -535
  6. data/lib/google/cloud/vision/v1.rb +129 -55
  7. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/image_annotator.rb +9 -0
  8. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/product_search.rb +88 -0
  9. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/product_search_service.rb +539 -0
  10. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/text_annotation.rb +3 -3
  11. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/web_detection.rb +2 -1
  12. data/lib/google/cloud/vision/{version.rb → v1/doc/google/protobuf/empty.rb} +13 -6
  13. data/lib/google/cloud/vision/v1/doc/google/protobuf/field_mask.rb +230 -0
  14. data/lib/google/cloud/vision/v1/doc/google/protobuf/timestamp.rb +109 -0
  15. data/lib/google/cloud/vision/v1/geometry_pb.rb +1 -0
  16. data/lib/google/cloud/vision/v1/helpers.rb +972 -0
  17. data/lib/google/cloud/vision/v1/image_annotator_client.rb +4 -4
  18. data/lib/google/cloud/vision/v1/image_annotator_pb.rb +5 -0
  19. data/lib/google/cloud/vision/v1/image_annotator_services_pb.rb +2 -1
  20. data/lib/google/cloud/vision/v1/product_search_client.rb +1337 -0
  21. data/lib/google/cloud/vision/v1/product_search_client_config.json +116 -0
  22. data/lib/google/cloud/vision/v1/product_search_pb.rb +45 -0
  23. data/lib/google/cloud/vision/v1/product_search_service_pb.rb +191 -0
  24. data/lib/google/cloud/vision/v1/product_search_service_services_pb.rb +224 -0
  25. data/lib/google/cloud/vision/v1p3beta1.rb +233 -0
  26. data/lib/google/cloud/vision/v1p3beta1/credentials.rb +42 -0
  27. data/lib/google/cloud/vision/v1p3beta1/doc/google/cloud/vision/v1p3beta1/geometry.rb +72 -0
  28. data/lib/google/cloud/vision/v1p3beta1/doc/google/cloud/vision/v1p3beta1/image_annotator.rb +763 -0
  29. data/lib/google/cloud/vision/v1p3beta1/doc/google/cloud/vision/v1p3beta1/product_search.rb +154 -0
  30. data/lib/google/cloud/vision/v1p3beta1/doc/google/cloud/vision/v1p3beta1/product_search_service.rb +533 -0
  31. data/lib/google/cloud/vision/v1p3beta1/doc/google/cloud/vision/v1p3beta1/text_annotation.rb +254 -0
  32. data/lib/google/cloud/vision/v1p3beta1/doc/google/cloud/vision/v1p3beta1/web_detection.rb +101 -0
  33. data/lib/google/cloud/vision/v1p3beta1/doc/google/longrunning/operations.rb +93 -0
  34. data/lib/google/cloud/vision/v1p3beta1/doc/google/protobuf/any.rb +130 -0
  35. data/lib/google/cloud/vision/v1p3beta1/doc/google/protobuf/empty.rb +29 -0
  36. data/lib/google/cloud/vision/v1p3beta1/doc/google/protobuf/field_mask.rb +230 -0
  37. data/lib/google/cloud/vision/v1p3beta1/doc/google/protobuf/timestamp.rb +109 -0
  38. data/lib/google/cloud/vision/v1p3beta1/doc/google/protobuf/wrappers.rb +90 -0
  39. data/lib/google/cloud/vision/v1p3beta1/doc/google/rpc/status.rb +84 -0
  40. data/lib/google/cloud/vision/v1p3beta1/doc/google/type/color.rb +156 -0
  41. data/lib/google/cloud/vision/v1p3beta1/doc/google/type/latlng.rb +65 -0
  42. data/lib/google/cloud/vision/v1p3beta1/geometry_pb.rb +43 -0
  43. data/lib/google/cloud/vision/v1p3beta1/helpers.rb +972 -0
  44. data/lib/google/cloud/vision/v1p3beta1/image_annotator_client.rb +302 -0
  45. data/lib/google/cloud/vision/v1p3beta1/image_annotator_client_config.json +36 -0
  46. data/lib/google/cloud/vision/v1p3beta1/image_annotator_pb.rb +304 -0
  47. data/lib/google/cloud/vision/v1p3beta1/image_annotator_services_pb.rb +55 -0
  48. data/lib/google/cloud/vision/v1p3beta1/product_search_client.rb +1351 -0
  49. data/lib/google/cloud/vision/v1p3beta1/product_search_client_config.json +116 -0
  50. data/lib/google/cloud/vision/v1p3beta1/product_search_pb.rb +64 -0
  51. data/lib/google/cloud/vision/v1p3beta1/product_search_service_pb.rb +191 -0
  52. data/lib/google/cloud/vision/v1p3beta1/product_search_service_services_pb.rb +222 -0
  53. data/lib/google/cloud/vision/v1p3beta1/text_annotation_pb.rb +94 -0
  54. data/lib/google/cloud/vision/v1p3beta1/web_detection_pb.rb +51 -0
  55. metadata +53 -122
  56. data/AUTHENTICATION.md +0 -179
  57. data/CHANGELOG.md +0 -109
  58. data/CODE_OF_CONDUCT.md +0 -40
  59. data/CONTRIBUTING.md +0 -188
  60. data/LOGGING.md +0 -32
  61. data/OVERVIEW.md +0 -202
  62. data/TROUBLESHOOTING.md +0 -37
  63. data/lib/google-cloud-vision.rb +0 -146
  64. data/lib/google/cloud/vision/annotate.rb +0 -303
  65. data/lib/google/cloud/vision/annotation.rb +0 -553
  66. data/lib/google/cloud/vision/annotation/crop_hint.rb +0 -126
  67. data/lib/google/cloud/vision/annotation/entity.rb +0 -225
  68. data/lib/google/cloud/vision/annotation/face.rb +0 -1497
  69. data/lib/google/cloud/vision/annotation/normalized_vertex.rb +0 -76
  70. data/lib/google/cloud/vision/annotation/object_localization.rb +0 -115
  71. data/lib/google/cloud/vision/annotation/properties.rb +0 -220
  72. data/lib/google/cloud/vision/annotation/safe_search.rb +0 -153
  73. data/lib/google/cloud/vision/annotation/text.rb +0 -1015
  74. data/lib/google/cloud/vision/annotation/vertex.rb +0 -91
  75. data/lib/google/cloud/vision/annotation/web.rb +0 -420
  76. data/lib/google/cloud/vision/credentials.rb +0 -57
  77. data/lib/google/cloud/vision/image.rb +0 -832
  78. data/lib/google/cloud/vision/location.rb +0 -98
  79. data/lib/google/cloud/vision/project.rb +0 -367
  80. data/lib/google/cloud/vision/service.rb +0 -83
@@ -0,0 +1,302 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # EDITING INSTRUCTIONS
16
+ # This file was generated from the file
17
+ # https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto,
18
+ # and updates to that file get reflected here through a refresh process.
19
+ # For the short term, the refresh process will only be runnable by Google
20
+ # engineers.
21
+
22
+
23
+ require "json"
24
+ require "pathname"
25
+
26
+ require "google/gax"
27
+ require "google/gax/operation"
28
+ require "google/longrunning/operations_client"
29
+
30
+ require "google/cloud/vision/v1p3beta1/image_annotator_pb"
31
+ require "google/cloud/vision/v1p3beta1/credentials"
32
+
33
+ module Google
34
+ module Cloud
35
+ module Vision
36
+ module V1p3beta1
37
+ # Service that performs Google Cloud Vision API detection tasks over client
38
+ # images, such as face, landmark, logo, label, and text detection. The
39
+ # ImageAnnotator service returns detected entities from the images.
40
+ #
41
+ # @!attribute [r] image_annotator_stub
42
+ # @return [Google::Cloud::Vision::V1p3beta1::ImageAnnotator::Stub]
43
+ class ImageAnnotatorClient
44
+ # @private
45
+ attr_reader :image_annotator_stub
46
+
47
+ # The default address of the service.
48
+ SERVICE_ADDRESS = "vision.googleapis.com".freeze
49
+
50
+ # The default port of the service.
51
+ DEFAULT_SERVICE_PORT = 443
52
+
53
+ # The default set of gRPC interceptors.
54
+ GRPC_INTERCEPTORS = []
55
+
56
+ DEFAULT_TIMEOUT = 30
57
+
58
+ # The scopes needed to make gRPC calls to all of the methods defined in
59
+ # this service.
60
+ ALL_SCOPES = [
61
+ "https://www.googleapis.com/auth/cloud-platform",
62
+ "https://www.googleapis.com/auth/cloud-vision"
63
+ ].freeze
64
+
65
+ # @private
66
+ class OperationsClient < Google::Longrunning::OperationsClient
67
+ self::SERVICE_ADDRESS = ImageAnnotatorClient::SERVICE_ADDRESS
68
+ self::GRPC_INTERCEPTORS = ImageAnnotatorClient::GRPC_INTERCEPTORS
69
+ end
70
+
71
+ # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
72
+ # Provides the means for authenticating requests made by the client. This parameter can
73
+ # be many types.
74
+ # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
75
+ # authenticating requests made by this client.
76
+ # A `String` will be treated as the path to the keyfile to be used for the construction of
77
+ # credentials for this client.
78
+ # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
79
+ # credentials for this client.
80
+ # A `GRPC::Core::Channel` will be used to make calls through.
81
+ # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
82
+ # should already be composed with a `GRPC::Core::CallCredentials` object.
83
+ # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
84
+ # metadata for requests, generally, to give OAuth credentials.
85
+ # @param scopes [Array<String>]
86
+ # The OAuth scopes for this service. This parameter is ignored if
87
+ # an updater_proc is supplied.
88
+ # @param client_config [Hash]
89
+ # A Hash for call options for each method. See
90
+ # Google::Gax#construct_settings for the structure of
91
+ # this data. Falls back to the default config if not specified
92
+ # or the specified config is missing data points.
93
+ # @param timeout [Numeric]
94
+ # The default timeout, in seconds, for calls made through this client.
95
+ # @param metadata [Hash]
96
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
97
+ # @param exception_transformer [Proc]
98
+ # An optional proc that intercepts any exceptions raised during an API call to inject
99
+ # custom error handling.
100
+ def initialize \
101
+ credentials: nil,
102
+ scopes: ALL_SCOPES,
103
+ client_config: {},
104
+ timeout: DEFAULT_TIMEOUT,
105
+ metadata: nil,
106
+ exception_transformer: nil,
107
+ lib_name: nil,
108
+ lib_version: ""
109
+ # These require statements are intentionally placed here to initialize
110
+ # the gRPC module only when it's required.
111
+ # See https://github.com/googleapis/toolkit/issues/446
112
+ require "google/gax/grpc"
113
+ require "google/cloud/vision/v1p3beta1/image_annotator_services_pb"
114
+
115
+ credentials ||= Google::Cloud::Vision::V1p3beta1::Credentials.default
116
+
117
+ @operations_client = OperationsClient.new(
118
+ credentials: credentials,
119
+ scopes: scopes,
120
+ client_config: client_config,
121
+ timeout: timeout,
122
+ lib_name: lib_name,
123
+ lib_version: lib_version,
124
+ )
125
+
126
+ if credentials.is_a?(String) || credentials.is_a?(Hash)
127
+ updater_proc = Google::Cloud::Vision::V1p3beta1::Credentials.new(credentials).updater_proc
128
+ end
129
+ if credentials.is_a?(GRPC::Core::Channel)
130
+ channel = credentials
131
+ end
132
+ if credentials.is_a?(GRPC::Core::ChannelCredentials)
133
+ chan_creds = credentials
134
+ end
135
+ if credentials.is_a?(Proc)
136
+ updater_proc = credentials
137
+ end
138
+ if credentials.is_a?(Google::Auth::Credentials)
139
+ updater_proc = credentials.updater_proc
140
+ end
141
+
142
+ package_version = Gem.loaded_specs['google-cloud-vision'].version.version
143
+
144
+ google_api_client = "gl-ruby/#{RUBY_VERSION}"
145
+ google_api_client << " #{lib_name}/#{lib_version}" if lib_name
146
+ google_api_client << " gapic/#{package_version} gax/#{Google::Gax::VERSION}"
147
+ google_api_client << " grpc/#{GRPC::VERSION}"
148
+ google_api_client.freeze
149
+
150
+ headers = { :"x-goog-api-client" => google_api_client }
151
+ headers.merge!(metadata) unless metadata.nil?
152
+ client_config_file = Pathname.new(__dir__).join(
153
+ "image_annotator_client_config.json"
154
+ )
155
+ defaults = client_config_file.open do |f|
156
+ Google::Gax.construct_settings(
157
+ "google.cloud.vision.v1p3beta1.ImageAnnotator",
158
+ JSON.parse(f.read),
159
+ client_config,
160
+ Google::Gax::Grpc::STATUS_CODE_NAMES,
161
+ timeout,
162
+ errors: Google::Gax::Grpc::API_ERRORS,
163
+ metadata: headers
164
+ )
165
+ end
166
+
167
+ # Allow overriding the service path/port in subclasses.
168
+ service_path = self.class::SERVICE_ADDRESS
169
+ port = self.class::DEFAULT_SERVICE_PORT
170
+ interceptors = self.class::GRPC_INTERCEPTORS
171
+ @image_annotator_stub = Google::Gax::Grpc.create_stub(
172
+ service_path,
173
+ port,
174
+ chan_creds: chan_creds,
175
+ channel: channel,
176
+ updater_proc: updater_proc,
177
+ scopes: scopes,
178
+ interceptors: interceptors,
179
+ &Google::Cloud::Vision::V1p3beta1::ImageAnnotator::Stub.method(:new)
180
+ )
181
+
182
+ @batch_annotate_images = Google::Gax.create_api_call(
183
+ @image_annotator_stub.method(:batch_annotate_images),
184
+ defaults["batch_annotate_images"],
185
+ exception_transformer: exception_transformer
186
+ )
187
+ @async_batch_annotate_files = Google::Gax.create_api_call(
188
+ @image_annotator_stub.method(:async_batch_annotate_files),
189
+ defaults["async_batch_annotate_files"],
190
+ exception_transformer: exception_transformer
191
+ )
192
+ end
193
+
194
+ # Service calls
195
+
196
+ # Run image detection and annotation for a batch of images.
197
+ #
198
+ # @param requests [Array<Google::Cloud::Vision::V1p3beta1::AnnotateImageRequest | Hash>]
199
+ # Individual image annotation requests for this batch.
200
+ # A hash of the same form as `Google::Cloud::Vision::V1p3beta1::AnnotateImageRequest`
201
+ # can also be provided.
202
+ # @param options [Google::Gax::CallOptions]
203
+ # Overrides the default settings for this call, e.g, timeout,
204
+ # retries, etc.
205
+ # @yield [result, operation] Access the result along with the RPC operation
206
+ # @yieldparam result [Google::Cloud::Vision::V1p3beta1::BatchAnnotateImagesResponse]
207
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
208
+ # @return [Google::Cloud::Vision::V1p3beta1::BatchAnnotateImagesResponse]
209
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
210
+ # @example
211
+ # require "google/cloud/vision"
212
+ #
213
+ # image_annotator_client = Google::Cloud::Vision::ImageAnnotator.new(version: :v1p3beta1)
214
+ #
215
+ # # TODO: Initialize `requests`:
216
+ # requests = []
217
+ # response = image_annotator_client.batch_annotate_images(requests)
218
+
219
+ def batch_annotate_images \
220
+ requests,
221
+ options: nil,
222
+ &block
223
+ req = {
224
+ requests: requests
225
+ }.delete_if { |_, v| v.nil? }
226
+ req = Google::Gax::to_proto(req, Google::Cloud::Vision::V1p3beta1::BatchAnnotateImagesRequest)
227
+ @batch_annotate_images.call(req, options, &block)
228
+ end
229
+
230
+ # Run asynchronous image detection and annotation for a list of generic
231
+ # files, such as PDF files, which may contain multiple pages and multiple
232
+ # images per page. Progress and results can be retrieved through the
233
+ # `google.longrunning.Operations` interface.
234
+ # `Operation.metadata` contains `OperationMetadata` (metadata).
235
+ # `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
236
+ #
237
+ # @param requests [Array<Google::Cloud::Vision::V1p3beta1::AsyncAnnotateFileRequest | Hash>]
238
+ # Individual async file annotation requests for this batch.
239
+ # A hash of the same form as `Google::Cloud::Vision::V1p3beta1::AsyncAnnotateFileRequest`
240
+ # can also be provided.
241
+ # @param options [Google::Gax::CallOptions]
242
+ # Overrides the default settings for this call, e.g, timeout,
243
+ # retries, etc.
244
+ # @return [Google::Gax::Operation]
245
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
246
+ # @example
247
+ # require "google/cloud/vision"
248
+ #
249
+ # image_annotator_client = Google::Cloud::Vision::ImageAnnotator.new(version: :v1p3beta1)
250
+ #
251
+ # # TODO: Initialize `requests`:
252
+ # requests = []
253
+ #
254
+ # # Register a callback during the method call.
255
+ # operation = image_annotator_client.async_batch_annotate_files(requests) do |op|
256
+ # raise op.results.message if op.error?
257
+ # op_results = op.results
258
+ # # Process the results.
259
+ #
260
+ # metadata = op.metadata
261
+ # # Process the metadata.
262
+ # end
263
+ #
264
+ # # Or use the return value to register a callback.
265
+ # operation.on_done do |op|
266
+ # raise op.results.message if op.error?
267
+ # op_results = op.results
268
+ # # Process the results.
269
+ #
270
+ # metadata = op.metadata
271
+ # # Process the metadata.
272
+ # end
273
+ #
274
+ # # Manually reload the operation.
275
+ # operation.reload!
276
+ #
277
+ # # Or block until the operation completes, triggering callbacks on
278
+ # # completion.
279
+ # operation.wait_until_done!
280
+
281
+ def async_batch_annotate_files \
282
+ requests,
283
+ options: nil
284
+ req = {
285
+ requests: requests
286
+ }.delete_if { |_, v| v.nil? }
287
+ req = Google::Gax::to_proto(req, Google::Cloud::Vision::V1p3beta1::AsyncBatchAnnotateFilesRequest)
288
+ operation = Google::Gax::Operation.new(
289
+ @async_batch_annotate_files.call(req, options),
290
+ @operations_client,
291
+ Google::Cloud::Vision::V1p3beta1::AsyncBatchAnnotateFilesResponse,
292
+ Google::Cloud::Vision::V1p3beta1::OperationMetadata,
293
+ call_options: options
294
+ )
295
+ operation.on_done { |operation| yield(operation) } if block_given?
296
+ operation
297
+ end
298
+ end
299
+ end
300
+ end
301
+ end
302
+ end
@@ -0,0 +1,36 @@
1
+ {
2
+ "interfaces": {
3
+ "google.cloud.vision.v1p3beta1.ImageAnnotator": {
4
+ "retry_codes": {
5
+ "idempotent": [
6
+ "DEADLINE_EXCEEDED",
7
+ "UNAVAILABLE"
8
+ ],
9
+ "non_idempotent": []
10
+ },
11
+ "retry_params": {
12
+ "default": {
13
+ "initial_retry_delay_millis": 100,
14
+ "retry_delay_multiplier": 1.3,
15
+ "max_retry_delay_millis": 60000,
16
+ "initial_rpc_timeout_millis": 60000,
17
+ "rpc_timeout_multiplier": 1.0,
18
+ "max_rpc_timeout_millis": 60000,
19
+ "total_timeout_millis": 600000
20
+ }
21
+ },
22
+ "methods": {
23
+ "BatchAnnotateImages": {
24
+ "timeout_millis": 60000,
25
+ "retry_codes_name": "idempotent",
26
+ "retry_params_name": "default"
27
+ },
28
+ "AsyncBatchAnnotateFiles": {
29
+ "timeout_millis": 60000,
30
+ "retry_codes_name": "non_idempotent",
31
+ "retry_params_name": "default"
32
+ }
33
+ }
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,304 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/vision/v1p3beta1/image_annotator.proto
3
+
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/cloud/vision/v1p3beta1/geometry_pb'
9
+ require 'google/cloud/vision/v1p3beta1/product_search_pb'
10
+ require 'google/cloud/vision/v1p3beta1/text_annotation_pb'
11
+ require 'google/cloud/vision/v1p3beta1/web_detection_pb'
12
+ require 'google/longrunning/operations_pb'
13
+ require 'google/protobuf/timestamp_pb'
14
+ require 'google/rpc/status_pb'
15
+ require 'google/type/color_pb'
16
+ require 'google/type/latlng_pb'
17
+ Google::Protobuf::DescriptorPool.generated_pool.build do
18
+ add_message "google.cloud.vision.v1p3beta1.Feature" do
19
+ optional :type, :enum, 1, "google.cloud.vision.v1p3beta1.Feature.Type"
20
+ optional :max_results, :int32, 2
21
+ optional :model, :string, 3
22
+ end
23
+ add_enum "google.cloud.vision.v1p3beta1.Feature.Type" do
24
+ value :TYPE_UNSPECIFIED, 0
25
+ value :FACE_DETECTION, 1
26
+ value :LANDMARK_DETECTION, 2
27
+ value :LOGO_DETECTION, 3
28
+ value :LABEL_DETECTION, 4
29
+ value :TEXT_DETECTION, 5
30
+ value :DOCUMENT_TEXT_DETECTION, 11
31
+ value :SAFE_SEARCH_DETECTION, 6
32
+ value :IMAGE_PROPERTIES, 7
33
+ value :CROP_HINTS, 9
34
+ value :WEB_DETECTION, 10
35
+ value :PRODUCT_SEARCH, 12
36
+ value :OBJECT_LOCALIZATION, 19
37
+ end
38
+ add_message "google.cloud.vision.v1p3beta1.ImageSource" do
39
+ optional :gcs_image_uri, :string, 1
40
+ optional :image_uri, :string, 2
41
+ end
42
+ add_message "google.cloud.vision.v1p3beta1.Image" do
43
+ optional :content, :bytes, 1
44
+ optional :source, :message, 2, "google.cloud.vision.v1p3beta1.ImageSource"
45
+ end
46
+ add_message "google.cloud.vision.v1p3beta1.FaceAnnotation" do
47
+ optional :bounding_poly, :message, 1, "google.cloud.vision.v1p3beta1.BoundingPoly"
48
+ optional :fd_bounding_poly, :message, 2, "google.cloud.vision.v1p3beta1.BoundingPoly"
49
+ repeated :landmarks, :message, 3, "google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark"
50
+ optional :roll_angle, :float, 4
51
+ optional :pan_angle, :float, 5
52
+ optional :tilt_angle, :float, 6
53
+ optional :detection_confidence, :float, 7
54
+ optional :landmarking_confidence, :float, 8
55
+ optional :joy_likelihood, :enum, 9, "google.cloud.vision.v1p3beta1.Likelihood"
56
+ optional :sorrow_likelihood, :enum, 10, "google.cloud.vision.v1p3beta1.Likelihood"
57
+ optional :anger_likelihood, :enum, 11, "google.cloud.vision.v1p3beta1.Likelihood"
58
+ optional :surprise_likelihood, :enum, 12, "google.cloud.vision.v1p3beta1.Likelihood"
59
+ optional :under_exposed_likelihood, :enum, 13, "google.cloud.vision.v1p3beta1.Likelihood"
60
+ optional :blurred_likelihood, :enum, 14, "google.cloud.vision.v1p3beta1.Likelihood"
61
+ optional :headwear_likelihood, :enum, 15, "google.cloud.vision.v1p3beta1.Likelihood"
62
+ end
63
+ add_message "google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark" do
64
+ optional :type, :enum, 3, "google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type"
65
+ optional :position, :message, 4, "google.cloud.vision.v1p3beta1.Position"
66
+ end
67
+ add_enum "google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type" do
68
+ value :UNKNOWN_LANDMARK, 0
69
+ value :LEFT_EYE, 1
70
+ value :RIGHT_EYE, 2
71
+ value :LEFT_OF_LEFT_EYEBROW, 3
72
+ value :RIGHT_OF_LEFT_EYEBROW, 4
73
+ value :LEFT_OF_RIGHT_EYEBROW, 5
74
+ value :RIGHT_OF_RIGHT_EYEBROW, 6
75
+ value :MIDPOINT_BETWEEN_EYES, 7
76
+ value :NOSE_TIP, 8
77
+ value :UPPER_LIP, 9
78
+ value :LOWER_LIP, 10
79
+ value :MOUTH_LEFT, 11
80
+ value :MOUTH_RIGHT, 12
81
+ value :MOUTH_CENTER, 13
82
+ value :NOSE_BOTTOM_RIGHT, 14
83
+ value :NOSE_BOTTOM_LEFT, 15
84
+ value :NOSE_BOTTOM_CENTER, 16
85
+ value :LEFT_EYE_TOP_BOUNDARY, 17
86
+ value :LEFT_EYE_RIGHT_CORNER, 18
87
+ value :LEFT_EYE_BOTTOM_BOUNDARY, 19
88
+ value :LEFT_EYE_LEFT_CORNER, 20
89
+ value :RIGHT_EYE_TOP_BOUNDARY, 21
90
+ value :RIGHT_EYE_RIGHT_CORNER, 22
91
+ value :RIGHT_EYE_BOTTOM_BOUNDARY, 23
92
+ value :RIGHT_EYE_LEFT_CORNER, 24
93
+ value :LEFT_EYEBROW_UPPER_MIDPOINT, 25
94
+ value :RIGHT_EYEBROW_UPPER_MIDPOINT, 26
95
+ value :LEFT_EAR_TRAGION, 27
96
+ value :RIGHT_EAR_TRAGION, 28
97
+ value :LEFT_EYE_PUPIL, 29
98
+ value :RIGHT_EYE_PUPIL, 30
99
+ value :FOREHEAD_GLABELLA, 31
100
+ value :CHIN_GNATHION, 32
101
+ value :CHIN_LEFT_GONION, 33
102
+ value :CHIN_RIGHT_GONION, 34
103
+ end
104
+ add_message "google.cloud.vision.v1p3beta1.LocationInfo" do
105
+ optional :lat_lng, :message, 1, "google.type.LatLng"
106
+ end
107
+ add_message "google.cloud.vision.v1p3beta1.Property" do
108
+ optional :name, :string, 1
109
+ optional :value, :string, 2
110
+ optional :uint64_value, :uint64, 3
111
+ end
112
+ add_message "google.cloud.vision.v1p3beta1.EntityAnnotation" do
113
+ optional :mid, :string, 1
114
+ optional :locale, :string, 2
115
+ optional :description, :string, 3
116
+ optional :score, :float, 4
117
+ optional :confidence, :float, 5
118
+ optional :topicality, :float, 6
119
+ optional :bounding_poly, :message, 7, "google.cloud.vision.v1p3beta1.BoundingPoly"
120
+ repeated :locations, :message, 8, "google.cloud.vision.v1p3beta1.LocationInfo"
121
+ repeated :properties, :message, 9, "google.cloud.vision.v1p3beta1.Property"
122
+ end
123
+ add_message "google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation" do
124
+ optional :mid, :string, 1
125
+ optional :language_code, :string, 2
126
+ optional :name, :string, 3
127
+ optional :score, :float, 4
128
+ optional :bounding_poly, :message, 5, "google.cloud.vision.v1p3beta1.BoundingPoly"
129
+ end
130
+ add_message "google.cloud.vision.v1p3beta1.SafeSearchAnnotation" do
131
+ optional :adult, :enum, 1, "google.cloud.vision.v1p3beta1.Likelihood"
132
+ optional :spoof, :enum, 2, "google.cloud.vision.v1p3beta1.Likelihood"
133
+ optional :medical, :enum, 3, "google.cloud.vision.v1p3beta1.Likelihood"
134
+ optional :violence, :enum, 4, "google.cloud.vision.v1p3beta1.Likelihood"
135
+ optional :racy, :enum, 9, "google.cloud.vision.v1p3beta1.Likelihood"
136
+ end
137
+ add_message "google.cloud.vision.v1p3beta1.LatLongRect" do
138
+ optional :min_lat_lng, :message, 1, "google.type.LatLng"
139
+ optional :max_lat_lng, :message, 2, "google.type.LatLng"
140
+ end
141
+ add_message "google.cloud.vision.v1p3beta1.ColorInfo" do
142
+ optional :color, :message, 1, "google.type.Color"
143
+ optional :score, :float, 2
144
+ optional :pixel_fraction, :float, 3
145
+ end
146
+ add_message "google.cloud.vision.v1p3beta1.DominantColorsAnnotation" do
147
+ repeated :colors, :message, 1, "google.cloud.vision.v1p3beta1.ColorInfo"
148
+ end
149
+ add_message "google.cloud.vision.v1p3beta1.ImageProperties" do
150
+ optional :dominant_colors, :message, 1, "google.cloud.vision.v1p3beta1.DominantColorsAnnotation"
151
+ end
152
+ add_message "google.cloud.vision.v1p3beta1.CropHint" do
153
+ optional :bounding_poly, :message, 1, "google.cloud.vision.v1p3beta1.BoundingPoly"
154
+ optional :confidence, :float, 2
155
+ optional :importance_fraction, :float, 3
156
+ end
157
+ add_message "google.cloud.vision.v1p3beta1.CropHintsAnnotation" do
158
+ repeated :crop_hints, :message, 1, "google.cloud.vision.v1p3beta1.CropHint"
159
+ end
160
+ add_message "google.cloud.vision.v1p3beta1.CropHintsParams" do
161
+ repeated :aspect_ratios, :float, 1
162
+ end
163
+ add_message "google.cloud.vision.v1p3beta1.WebDetectionParams" do
164
+ optional :include_geo_results, :bool, 2
165
+ end
166
+ add_message "google.cloud.vision.v1p3beta1.ImageContext" do
167
+ optional :lat_long_rect, :message, 1, "google.cloud.vision.v1p3beta1.LatLongRect"
168
+ repeated :language_hints, :string, 2
169
+ optional :crop_hints_params, :message, 4, "google.cloud.vision.v1p3beta1.CropHintsParams"
170
+ optional :product_search_params, :message, 5, "google.cloud.vision.v1p3beta1.ProductSearchParams"
171
+ optional :web_detection_params, :message, 6, "google.cloud.vision.v1p3beta1.WebDetectionParams"
172
+ end
173
+ add_message "google.cloud.vision.v1p3beta1.AnnotateImageRequest" do
174
+ optional :image, :message, 1, "google.cloud.vision.v1p3beta1.Image"
175
+ repeated :features, :message, 2, "google.cloud.vision.v1p3beta1.Feature"
176
+ optional :image_context, :message, 3, "google.cloud.vision.v1p3beta1.ImageContext"
177
+ end
178
+ add_message "google.cloud.vision.v1p3beta1.ImageAnnotationContext" do
179
+ optional :uri, :string, 1
180
+ optional :page_number, :int32, 2
181
+ end
182
+ add_message "google.cloud.vision.v1p3beta1.AnnotateImageResponse" do
183
+ repeated :face_annotations, :message, 1, "google.cloud.vision.v1p3beta1.FaceAnnotation"
184
+ repeated :landmark_annotations, :message, 2, "google.cloud.vision.v1p3beta1.EntityAnnotation"
185
+ repeated :logo_annotations, :message, 3, "google.cloud.vision.v1p3beta1.EntityAnnotation"
186
+ repeated :label_annotations, :message, 4, "google.cloud.vision.v1p3beta1.EntityAnnotation"
187
+ repeated :localized_object_annotations, :message, 22, "google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation"
188
+ repeated :text_annotations, :message, 5, "google.cloud.vision.v1p3beta1.EntityAnnotation"
189
+ optional :full_text_annotation, :message, 12, "google.cloud.vision.v1p3beta1.TextAnnotation"
190
+ optional :safe_search_annotation, :message, 6, "google.cloud.vision.v1p3beta1.SafeSearchAnnotation"
191
+ optional :image_properties_annotation, :message, 8, "google.cloud.vision.v1p3beta1.ImageProperties"
192
+ optional :crop_hints_annotation, :message, 11, "google.cloud.vision.v1p3beta1.CropHintsAnnotation"
193
+ optional :web_detection, :message, 13, "google.cloud.vision.v1p3beta1.WebDetection"
194
+ optional :product_search_results, :message, 14, "google.cloud.vision.v1p3beta1.ProductSearchResults"
195
+ optional :error, :message, 9, "google.rpc.Status"
196
+ optional :context, :message, 21, "google.cloud.vision.v1p3beta1.ImageAnnotationContext"
197
+ end
198
+ add_message "google.cloud.vision.v1p3beta1.AnnotateFileResponse" do
199
+ optional :input_config, :message, 1, "google.cloud.vision.v1p3beta1.InputConfig"
200
+ repeated :responses, :message, 2, "google.cloud.vision.v1p3beta1.AnnotateImageResponse"
201
+ end
202
+ add_message "google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest" do
203
+ repeated :requests, :message, 1, "google.cloud.vision.v1p3beta1.AnnotateImageRequest"
204
+ end
205
+ add_message "google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse" do
206
+ repeated :responses, :message, 1, "google.cloud.vision.v1p3beta1.AnnotateImageResponse"
207
+ end
208
+ add_message "google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest" do
209
+ optional :input_config, :message, 1, "google.cloud.vision.v1p3beta1.InputConfig"
210
+ repeated :features, :message, 2, "google.cloud.vision.v1p3beta1.Feature"
211
+ optional :image_context, :message, 3, "google.cloud.vision.v1p3beta1.ImageContext"
212
+ optional :output_config, :message, 4, "google.cloud.vision.v1p3beta1.OutputConfig"
213
+ end
214
+ add_message "google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse" do
215
+ optional :output_config, :message, 1, "google.cloud.vision.v1p3beta1.OutputConfig"
216
+ end
217
+ add_message "google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest" do
218
+ repeated :requests, :message, 1, "google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest"
219
+ end
220
+ add_message "google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse" do
221
+ repeated :responses, :message, 1, "google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse"
222
+ end
223
+ add_message "google.cloud.vision.v1p3beta1.InputConfig" do
224
+ optional :gcs_source, :message, 1, "google.cloud.vision.v1p3beta1.GcsSource"
225
+ optional :mime_type, :string, 2
226
+ end
227
+ add_message "google.cloud.vision.v1p3beta1.OutputConfig" do
228
+ optional :gcs_destination, :message, 1, "google.cloud.vision.v1p3beta1.GcsDestination"
229
+ optional :batch_size, :int32, 2
230
+ end
231
+ add_message "google.cloud.vision.v1p3beta1.GcsSource" do
232
+ optional :uri, :string, 1
233
+ end
234
+ add_message "google.cloud.vision.v1p3beta1.GcsDestination" do
235
+ optional :uri, :string, 1
236
+ end
237
+ add_message "google.cloud.vision.v1p3beta1.OperationMetadata" do
238
+ optional :state, :enum, 1, "google.cloud.vision.v1p3beta1.OperationMetadata.State"
239
+ optional :create_time, :message, 5, "google.protobuf.Timestamp"
240
+ optional :update_time, :message, 6, "google.protobuf.Timestamp"
241
+ end
242
+ add_enum "google.cloud.vision.v1p3beta1.OperationMetadata.State" do
243
+ value :STATE_UNSPECIFIED, 0
244
+ value :CREATED, 1
245
+ value :RUNNING, 2
246
+ value :DONE, 3
247
+ value :CANCELLED, 4
248
+ end
249
+ add_enum "google.cloud.vision.v1p3beta1.Likelihood" do
250
+ value :UNKNOWN, 0
251
+ value :VERY_UNLIKELY, 1
252
+ value :UNLIKELY, 2
253
+ value :POSSIBLE, 3
254
+ value :LIKELY, 4
255
+ value :VERY_LIKELY, 5
256
+ end
257
+ end
258
+
259
+ module Google
260
+ module Cloud
261
+ module Vision
262
+ module V1p3beta1
263
+ Feature = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.Feature").msgclass
264
+ Feature::Type = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.Feature.Type").enummodule
265
+ ImageSource = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.ImageSource").msgclass
266
+ Image = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.Image").msgclass
267
+ FaceAnnotation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.FaceAnnotation").msgclass
268
+ FaceAnnotation::Landmark = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark").msgclass
269
+ FaceAnnotation::Landmark::Type = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type").enummodule
270
+ LocationInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.LocationInfo").msgclass
271
+ Property = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.Property").msgclass
272
+ EntityAnnotation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.EntityAnnotation").msgclass
273
+ LocalizedObjectAnnotation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation").msgclass
274
+ SafeSearchAnnotation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.SafeSearchAnnotation").msgclass
275
+ LatLongRect = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.LatLongRect").msgclass
276
+ ColorInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.ColorInfo").msgclass
277
+ DominantColorsAnnotation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.DominantColorsAnnotation").msgclass
278
+ ImageProperties = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.ImageProperties").msgclass
279
+ CropHint = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.CropHint").msgclass
280
+ CropHintsAnnotation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.CropHintsAnnotation").msgclass
281
+ CropHintsParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.CropHintsParams").msgclass
282
+ WebDetectionParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.WebDetectionParams").msgclass
283
+ ImageContext = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.ImageContext").msgclass
284
+ AnnotateImageRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.AnnotateImageRequest").msgclass
285
+ ImageAnnotationContext = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.ImageAnnotationContext").msgclass
286
+ AnnotateImageResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.AnnotateImageResponse").msgclass
287
+ AnnotateFileResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.AnnotateFileResponse").msgclass
288
+ BatchAnnotateImagesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest").msgclass
289
+ BatchAnnotateImagesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse").msgclass
290
+ AsyncAnnotateFileRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest").msgclass
291
+ AsyncAnnotateFileResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse").msgclass
292
+ AsyncBatchAnnotateFilesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest").msgclass
293
+ AsyncBatchAnnotateFilesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse").msgclass
294
+ InputConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.InputConfig").msgclass
295
+ OutputConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.OutputConfig").msgclass
296
+ GcsSource = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.GcsSource").msgclass
297
+ GcsDestination = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.GcsDestination").msgclass
298
+ OperationMetadata = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.OperationMetadata").msgclass
299
+ OperationMetadata::State = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.OperationMetadata.State").enummodule
300
+ Likelihood = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vision.v1p3beta1.Likelihood").enummodule
301
+ end
302
+ end
303
+ end
304
+ end