| // This is a generated file (see the discoveryapis_generator project). |
| |
| // ignore_for_file: unused_import, unnecessary_cast |
| |
| library googleapis.vision.v1; |
| |
| import 'dart:core' as core; |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show ApiRequestError, DetailedApiRequestError; |
| |
| const core.String USER_AGENT = 'dart-api-client vision/v1'; |
| |
| /// Integrates Google Vision features, including image labeling, face, logo, and |
| /// landmark detection, optical character recognition (OCR), and detection of |
| /// explicit content, into applications. |
| class VisionApi { |
| /// View and manage your data across Google Cloud Platform services |
| static const CloudPlatformScope = |
| "https://www.googleapis.com/auth/cloud-platform"; |
| |
| /// Apply machine learning models to understand and label images |
| static const CloudVisionScope = |
| "https://www.googleapis.com/auth/cloud-vision"; |
| |
| final commons.ApiRequester _requester; |
| |
| FilesResourceApi get files => new FilesResourceApi(_requester); |
| ImagesResourceApi get images => new ImagesResourceApi(_requester); |
| LocationsResourceApi get locations => new LocationsResourceApi(_requester); |
| OperationsResourceApi get operations => new OperationsResourceApi(_requester); |
| ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); |
| |
| VisionApi(http.Client client, |
| {core.String rootUrl = "https://vision.googleapis.com/", |
| core.String servicePath = ""}) |
| : _requester = |
| new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
| } |
| |
| class FilesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| FilesResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Service that performs image detection and annotation for a batch of files. |
| /// Now only "application/pdf", "image/tiff" and "image/gif" are supported. |
| /// This service will extract at most 5 (customers can specify which 5 in |
| /// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each |
| /// file provided and perform detection and annotation for each image |
| /// extracted. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BatchAnnotateFilesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BatchAnnotateFilesResponse> annotate( |
| BatchAnnotateFilesRequest request, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/files:annotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new BatchAnnotateFilesResponse.fromJson(data)); |
| } |
| |
| /// Run asynchronous image detection and annotation for a list of generic |
| /// files, such as PDF files, which may contain multiple pages and multiple |
| /// images per page. Progress and results can be retrieved through the |
| /// `google.longrunning.Operations` interface. `Operation.metadata` contains |
| /// `OperationMetadata` (metadata). `Operation.response` contains |
| /// `AsyncBatchAnnotateFilesResponse` (results). |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> asyncBatchAnnotate( |
| AsyncBatchAnnotateFilesRequest request, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/files:asyncBatchAnnotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class ImagesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ImagesResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Run image detection and annotation for a batch of images. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BatchAnnotateImagesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BatchAnnotateImagesResponse> annotate( |
| BatchAnnotateImagesRequest request, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/images:annotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new BatchAnnotateImagesResponse.fromJson(data)); |
| } |
| |
| /// Run asynchronous image detection and annotation for a list of images. |
| /// Progress and results can be retrieved through the |
| /// `google.longrunning.Operations` interface. `Operation.metadata` contains |
| /// `OperationMetadata` (metadata). `Operation.response` contains |
| /// `AsyncBatchAnnotateImagesResponse` (results). This service will write |
| /// image annotation outputs to json files in customer GCS bucket, each json |
| /// file containing BatchAnnotateImagesResponse proto. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> asyncBatchAnnotate( |
| AsyncBatchAnnotateImagesRequest request, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/images:asyncBatchAnnotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class LocationsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| LocationsOperationsResourceApi get operations => |
| new LocationsOperationsResourceApi(_requester); |
| |
| LocationsResourceApi(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class LocationsOperationsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| LocationsOperationsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Gets the latest state of a long-running operation. Clients can use this |
| /// method to poll the operation result at intervals as recommended by the API |
| /// service. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource. |
| /// Value must have pattern "^locations/[^/]+/operations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> get(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class OperationsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| OperationsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Starts asynchronous cancellation on a long-running operation. The server |
| /// makes a best effort to cancel the operation, but success is not |
| /// guaranteed. If the server doesn't support this method, it returns |
| /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation |
| /// or other methods to check whether the cancellation succeeded or whether |
| /// the operation completed despite cancellation. On successful cancellation, |
| /// the operation is not deleted; instead, it becomes an operation with an |
| /// Operation.error value with a google.rpc.Status.code of 1, corresponding to |
| /// `Code.CANCELLED`. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource to be cancelled. |
| /// Value must have pattern "^operations/.*$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> cancel(CancelOperationRequest request, core.String name, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + ':cancel'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Deletes a long-running operation. This method indicates that the client is |
| /// no longer interested in the operation result. It does not cancel the |
| /// operation. If the server doesn't support this method, it returns |
| /// `google.rpc.Code.UNIMPLEMENTED`. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource to be deleted. |
| /// Value must have pattern "^operations/.*$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Gets the latest state of a long-running operation. Clients can use this |
| /// method to poll the operation result at intervals as recommended by the API |
| /// service. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource. |
| /// Value must have pattern "^operations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> get(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| |
| /// Lists operations that match the specified filter in the request. If the |
| /// server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the |
| /// `name` binding allows API services to override the binding to use |
| /// different resource name schemes, such as `users / * /operations`. To |
| /// override the binding, API services can add a binding such as |
| /// `"/v1/{name=users / * }/operations"` to their service configuration. For |
| /// backwards compatibility, the default name includes the operations |
| /// collection id, however overriding users must ensure the name binding is |
| /// the parent resource, without the operations collection id. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation's parent resource. |
| /// Value must have pattern "^operations$". |
| /// |
| /// [pageToken] - The standard list page token. |
| /// |
| /// [pageSize] - The standard list page size. |
| /// |
| /// [filter] - The standard list filter. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListOperationsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListOperationsResponse> list(core.String name, |
| {core.String pageToken, |
| core.int pageSize, |
| core.String filter, |
| core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if (filter != null) { |
| _queryParams["filter"] = [filter]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ListOperationsResponse.fromJson(data)); |
| } |
| } |
| |
| class ProjectsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsFilesResourceApi get files => |
| new ProjectsFilesResourceApi(_requester); |
| ProjectsImagesResourceApi get images => |
| new ProjectsImagesResourceApi(_requester); |
| ProjectsLocationsResourceApi get locations => |
| new ProjectsLocationsResourceApi(_requester); |
| ProjectsOperationsResourceApi get operations => |
| new ProjectsOperationsResourceApi(_requester); |
| |
| ProjectsResourceApi(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class ProjectsFilesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsFilesResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Service that performs image detection and annotation for a batch of files. |
| /// Now only "application/pdf", "image/tiff" and "image/gif" are supported. |
| /// This service will extract at most 5 (customers can specify which 5 in |
| /// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each |
| /// file provided and perform detection and annotation for each image |
| /// extracted. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| /// Value must have pattern "^projects/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BatchAnnotateFilesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BatchAnnotateFilesResponse> annotate( |
| BatchAnnotateFilesRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/files:annotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new BatchAnnotateFilesResponse.fromJson(data)); |
| } |
| |
| /// Run asynchronous image detection and annotation for a list of generic |
| /// files, such as PDF files, which may contain multiple pages and multiple |
| /// images per page. Progress and results can be retrieved through the |
| /// `google.longrunning.Operations` interface. `Operation.metadata` contains |
| /// `OperationMetadata` (metadata). `Operation.response` contains |
| /// `AsyncBatchAnnotateFilesResponse` (results). |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| /// Value must have pattern "^projects/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> asyncBatchAnnotate( |
| AsyncBatchAnnotateFilesRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/files:asyncBatchAnnotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class ProjectsImagesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsImagesResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Run image detection and annotation for a batch of images. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| /// Value must have pattern "^projects/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BatchAnnotateImagesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BatchAnnotateImagesResponse> annotate( |
| BatchAnnotateImagesRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/images:annotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new BatchAnnotateImagesResponse.fromJson(data)); |
| } |
| |
| /// Run asynchronous image detection and annotation for a list of images. |
| /// Progress and results can be retrieved through the |
| /// `google.longrunning.Operations` interface. `Operation.metadata` contains |
| /// `OperationMetadata` (metadata). `Operation.response` contains |
| /// `AsyncBatchAnnotateImagesResponse` (results). This service will write |
| /// image annotation outputs to json files in customer GCS bucket, each json |
| /// file containing BatchAnnotateImagesResponse proto. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| /// Value must have pattern "^projects/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> asyncBatchAnnotate( |
| AsyncBatchAnnotateImagesRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/images:asyncBatchAnnotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class ProjectsLocationsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsFilesResourceApi get files => |
| new ProjectsLocationsFilesResourceApi(_requester); |
| ProjectsLocationsImagesResourceApi get images => |
| new ProjectsLocationsImagesResourceApi(_requester); |
| ProjectsLocationsOperationsResourceApi get operations => |
| new ProjectsLocationsOperationsResourceApi(_requester); |
| ProjectsLocationsProductSetsResourceApi get productSets => |
| new ProjectsLocationsProductSetsResourceApi(_requester); |
| ProjectsLocationsProductsResourceApi get products => |
| new ProjectsLocationsProductsResourceApi(_requester); |
| |
| ProjectsLocationsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| } |
| |
| class ProjectsLocationsFilesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsFilesResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Service that performs image detection and annotation for a batch of files. |
| /// Now only "application/pdf", "image/tiff" and "image/gif" are supported. |
| /// This service will extract at most 5 (customers can specify which 5 in |
| /// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each |
| /// file provided and perform detection and annotation for each image |
| /// extracted. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BatchAnnotateFilesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BatchAnnotateFilesResponse> annotate( |
| BatchAnnotateFilesRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/files:annotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new BatchAnnotateFilesResponse.fromJson(data)); |
| } |
| |
| /// Run asynchronous image detection and annotation for a list of generic |
| /// files, such as PDF files, which may contain multiple pages and multiple |
| /// images per page. Progress and results can be retrieved through the |
| /// `google.longrunning.Operations` interface. `Operation.metadata` contains |
| /// `OperationMetadata` (metadata). `Operation.response` contains |
| /// `AsyncBatchAnnotateFilesResponse` (results). |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> asyncBatchAnnotate( |
| AsyncBatchAnnotateFilesRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/files:asyncBatchAnnotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class ProjectsLocationsImagesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsImagesResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Run image detection and annotation for a batch of images. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BatchAnnotateImagesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BatchAnnotateImagesResponse> annotate( |
| BatchAnnotateImagesRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/images:annotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new BatchAnnotateImagesResponse.fromJson(data)); |
| } |
| |
| /// Run asynchronous image detection and annotation for a list of images. |
| /// Progress and results can be retrieved through the |
| /// `google.longrunning.Operations` interface. `Operation.metadata` contains |
| /// `OperationMetadata` (metadata). `Operation.response` contains |
| /// `AsyncBatchAnnotateImagesResponse` (results). This service will write |
| /// image annotation outputs to json files in customer GCS bucket, each json |
| /// file containing BatchAnnotateImagesResponse proto. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> asyncBatchAnnotate( |
| AsyncBatchAnnotateImagesRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/images:asyncBatchAnnotate'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class ProjectsLocationsOperationsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsOperationsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Gets the latest state of a long-running operation. Clients can use this |
| /// method to poll the operation result at intervals as recommended by the API |
| /// service. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource. |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/operations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> get(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class ProjectsLocationsProductSetsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsProductSetsProductsResourceApi get products => |
| new ProjectsLocationsProductSetsProductsResourceApi(_requester); |
| |
| ProjectsLocationsProductSetsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Adds a Product to the specified ProductSet. If the Product is already |
| /// present, no change is made. One Product can be added to at most 100 |
| /// ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the |
| /// ProductSet doesn't exist. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The resource name for the ProductSet to modify. Format |
| /// is: `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> addProduct( |
| AddProductToProductSetRequest request, core.String name, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = |
| 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + ':addProduct'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Creates and returns a new ProductSet resource. Possible errors: * Returns |
| /// INVALID_ARGUMENT if display_name is missing, or is longer than 4096 |
| /// characters. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The project in which the ProductSet should be |
| /// created. Format is `projects/PROJECT_ID/locations/LOC_ID`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [productSetId] - A user-supplied resource id for this ProductSet. If set, |
| /// the server will attempt to use this value as the resource id. If it is |
| /// already in use, an error is returned with code ALREADY_EXISTS. Must be at |
| /// most 128 characters long. It cannot contain the character `/`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ProductSet]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ProductSet> create(ProductSet request, core.String parent, |
| {core.String productSetId, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (productSetId != null) { |
| _queryParams["productSetId"] = [productSetId]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/productSets'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ProductSet.fromJson(data)); |
| } |
| |
| /// Permanently deletes a ProductSet. Products and ReferenceImages in the |
| /// ProductSet are not deleted. The actual image files are not deleted from |
| /// Google Cloud Storage. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Resource name of the ProductSet to delete. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Gets information associated with a ProductSet. Possible errors: * Returns |
| /// NOT_FOUND if the ProductSet does not exist. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Resource name of the ProductSet to get. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ProductSet]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ProductSet> get(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ProductSet.fromJson(data)); |
| } |
| |
| /// Asynchronous API that imports a list of reference images to specified |
| /// product sets based on a list of image information. The |
| /// google.longrunning.Operation API can be used to keep track of the progress |
| /// and results of the request. `Operation.metadata` contains |
| /// `BatchOperationMetadata`. (progress) `Operation.response` contains |
| /// `ImportProductSetsResponse`. (results) The input source of this method is |
| /// a csv file on Google Cloud Storage. For the format of the csv file please |
| /// see ImportProductSetsGcsSource.csv_file_uri. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The project in which the ProductSets should be |
| /// imported. Format is `projects/PROJECT_ID/locations/LOC_ID`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> import( |
| ImportProductSetsRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/productSets:import'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| |
| /// Lists ProductSets in an unspecified order. Possible errors: * Returns |
| /// INVALID_ARGUMENT if page_size is greater than 100, or less than 1. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The project from which ProductSets should be listed. |
| /// Format is `projects/PROJECT_ID/locations/LOC_ID`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [pageSize] - The maximum number of items to return. Default 10, maximum |
| /// 100. |
| /// |
| /// [pageToken] - The next_page_token returned from a previous List request, |
| /// if any. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListProductSetsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListProductSetsResponse> list(core.String parent, |
| {core.int pageSize, core.String pageToken, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/productSets'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ListProductSetsResponse.fromJson(data)); |
| } |
| |
| /// Makes changes to a ProductSet resource. Only display_name can be updated |
| /// currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not |
| /// exist. * Returns INVALID_ARGUMENT if display_name is present in |
| /// update_mask but missing from the request or longer than 4096 characters. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The resource name of the ProductSet. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. This |
| /// field is ignored when creating a ProductSet. |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$". |
| /// |
| /// [updateMask] - The FieldMask that specifies which fields to update. If |
| /// update_mask isn't specified, all mutable fields are to be updated. Valid |
| /// mask path is `display_name`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ProductSet]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ProductSet> patch(ProductSet request, core.String name, |
| {core.String updateMask, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if (updateMask != null) { |
| _queryParams["updateMask"] = [updateMask]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "PATCH", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ProductSet.fromJson(data)); |
| } |
| |
| /// Removes a Product from the specified ProductSet. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The resource name for the ProductSet to modify. Format |
| /// is: `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> removeProduct( |
| RemoveProductFromProductSetRequest request, core.String name, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$name') + |
| ':removeProduct'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| } |
| |
| class ProjectsLocationsProductSetsProductsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsProductSetsProductsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Lists the Products in a ProductSet, in an unspecified order. If the |
| /// ProductSet does not exist, the products field of the response will be |
| /// empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater |
| /// than 100 or less than 1. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The ProductSet resource for which to retrieve Products. |
| /// Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$". |
| /// |
| /// [pageToken] - The next_page_token returned from a previous List request, |
| /// if any. |
| /// |
| /// [pageSize] - The maximum number of items to return. Default 10, maximum |
| /// 100. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListProductsInProductSetResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListProductsInProductSetResponse> list(core.String name, |
| {core.String pageToken, core.int pageSize, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/products'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new ListProductsInProductSetResponse.fromJson(data)); |
| } |
| } |
| |
| class ProjectsLocationsProductsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsProductsReferenceImagesResourceApi get referenceImages => |
| new ProjectsLocationsProductsReferenceImagesResourceApi(_requester); |
| |
| ProjectsLocationsProductsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Creates and returns a new product resource. Possible errors: * Returns |
| /// INVALID_ARGUMENT if display_name is missing or longer than 4096 |
| /// characters. * Returns INVALID_ARGUMENT if description is longer than 4096 |
| /// characters. * Returns INVALID_ARGUMENT if product_category is missing or |
| /// invalid. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The project in which the Product should be created. |
| /// Format is `projects/PROJECT_ID/locations/LOC_ID`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [productId] - A user-supplied resource id for this Product. If set, the |
| /// server will attempt to use this value as the resource id. If it is already |
| /// in use, an error is returned with code ALREADY_EXISTS. Must be at most 128 |
| /// characters long. It cannot contain the character `/`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Product]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Product> create(Product request, core.String parent, |
| {core.String productId, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (productId != null) { |
| _queryParams["productId"] = [productId]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = |
| 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/products'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Product.fromJson(data)); |
| } |
| |
| /// Permanently deletes a product and its reference images. Metadata of the |
| /// product and all its images will be deleted right away, but search queries |
| /// against ProductSets containing the product may still work until all |
| /// related caches are refreshed. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Resource name of product to delete. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+/products/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Gets information associated with a Product. Possible errors: * Returns |
| /// NOT_FOUND if the Product does not exist. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Resource name of the Product to get. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+/products/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Product]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Product> get(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Product.fromJson(data)); |
| } |
| |
| /// Lists products in an unspecified order. Possible errors: * Returns |
| /// INVALID_ARGUMENT if page_size is greater than 100 or less than 1. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The project OR ProductSet from which Products should |
| /// be listed. Format: `projects/PROJECT_ID/locations/LOC_ID` |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [pageToken] - The next_page_token returned from a previous List request, |
| /// if any. |
| /// |
| /// [pageSize] - The maximum number of items to return. Default 10, maximum |
| /// 100. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListProductsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListProductsResponse> list(core.String parent, |
| {core.String pageToken, core.int pageSize, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = |
| 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/products'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ListProductsResponse.fromJson(data)); |
| } |
| |
| /// Makes changes to a Product resource. Only the `display_name`, |
| /// `description`, and `labels` fields can be updated right now. If labels are |
| /// updated, the change will not be reflected in queries until the next index |
| /// time. Possible errors: * Returns NOT_FOUND if the Product does not exist. |
| /// * Returns INVALID_ARGUMENT if display_name is present in update_mask but |
| /// is missing from the request or longer than 4096 characters. * Returns |
| /// INVALID_ARGUMENT if description is present in update_mask but is longer |
| /// than 4096 characters. * Returns INVALID_ARGUMENT if product_category is |
| /// present in update_mask. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The resource name of the product. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is |
| /// ignored when creating a product. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+/products/[^/]+$". |
| /// |
| /// [updateMask] - The FieldMask that specifies which fields to update. If |
| /// update_mask isn't specified, all mutable fields are to be updated. Valid |
| /// mask paths include `product_labels`, `display_name`, and `description`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Product]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Product> patch(Product request, core.String name, |
| {core.String updateMask, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if (updateMask != null) { |
| _queryParams["updateMask"] = [updateMask]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "PATCH", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Product.fromJson(data)); |
| } |
| |
| /// Asynchronous API to delete all Products in a ProductSet or all Products |
| /// that are in no ProductSet. If a Product is a member of the specified |
| /// ProductSet in addition to other ProductSets, the Product will still be |
| /// deleted. It is recommended to not delete the specified ProductSet until |
| /// after this operation has completed. It is also recommended to not add any |
| /// of the Products involved in the batch delete to a new ProductSet while |
| /// this operation is running because those Products may still end up deleted. |
| /// It's not possible to undo the PurgeProducts operation. Therefore, it is |
| /// recommended to keep the csv files used in ImportProductSets (if that was |
| /// how you originally built the Product Set) before starting PurgeProducts, |
| /// in case you need to re-import the data after deletion. If the plan is to |
| /// purge all of the Products from a ProductSet and then re-use the empty |
| /// ProductSet to re-import new Products into the empty ProductSet, you must |
| /// wait until the PurgeProducts operation has finished for that ProductSet. |
| /// The google.longrunning.Operation API can be used to keep track of the |
| /// progress and results of the request. `Operation.metadata` contains |
| /// `BatchOperationMetadata`. (progress) |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The project and location in which the Products should |
| /// be deleted. Format is `projects/PROJECT_ID/locations/LOC_ID`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> purge( |
| PurgeProductsRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/products:purge'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| class ProjectsLocationsProductsReferenceImagesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsProductsReferenceImagesResourceApi( |
| commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Creates and returns a new ReferenceImage resource. The `bounding_poly` |
| /// field is optional. If `bounding_poly` is not specified, the system will |
| /// try to detect regions of interest in the image that are compatible with |
| /// the product_category on the parent product. If it is specified, detection |
| /// is ALWAYS skipped. The system converts polygons into non-rotated |
| /// rectangles. Note that the pipeline will resize the image if the image |
| /// resolution is too large to process (above 50MP). Possible errors: * |
| /// Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 |
| /// characters. * Returns INVALID_ARGUMENT if the product does not exist. * |
| /// Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing |
| /// compatible with the parent product's product_category is detected. * |
| /// Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. Resource name of the product in which to create the |
| /// reference image. Format is |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+/products/[^/]+$". |
| /// |
| /// [referenceImageId] - A user-supplied resource id for the ReferenceImage to |
| /// be added. If set, the server will attempt to use this value as the |
| /// resource id. If it is already in use, an error is returned with code |
| /// ALREADY_EXISTS. Must be at most 128 characters long. It cannot contain the |
| /// character `/`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ReferenceImage]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ReferenceImage> create( |
| ReferenceImage request, core.String parent, |
| {core.String referenceImageId, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (referenceImageId != null) { |
| _queryParams["referenceImageId"] = [referenceImageId]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/referenceImages'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ReferenceImage.fromJson(data)); |
| } |
| |
| /// Permanently deletes a reference image. The image metadata will be deleted |
| /// right away, but search queries against ProductSets containing the image |
| /// may still work until all related caches are refreshed. The actual image |
| /// files are not deleted from Google Cloud Storage. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The resource name of the reference image to delete. |
| /// Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Gets information associated with a ReferenceImage. Possible errors: * |
| /// Returns NOT_FOUND if the specified image does not exist. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The resource name of the ReferenceImage to get. Format |
| /// is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. |
| /// Value must have pattern |
| /// "^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ReferenceImage]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ReferenceImage> get(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ReferenceImage.fromJson(data)); |
| } |
| |
| /// Lists reference images. Possible errors: * Returns NOT_FOUND if the parent |
| /// product does not exist. * Returns INVALID_ARGUMENT if the page_size is |
| /// greater than 100, or less than 1. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. Resource name of the product containing the reference |
| /// images. Format is |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. |
| /// Value must have pattern "^projects/[^/]+/locations/[^/]+/products/[^/]+$". |
| /// |
| /// [pageToken] - A token identifying a page of results to be returned. This |
| /// is the value of `nextPageToken` returned in a previous reference image |
| /// list request. Defaults to the first page if not specified. |
| /// |
| /// [pageSize] - The maximum number of items to return. Default 10, maximum |
| /// 100. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListReferenceImagesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListReferenceImagesResponse> list(core.String parent, |
| {core.String pageToken, core.int pageSize, core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/referenceImages'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new ListReferenceImagesResponse.fromJson(data)); |
| } |
| } |
| |
| class ProjectsOperationsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsOperationsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Gets the latest state of a long-running operation. Clients can use this |
| /// method to poll the operation result at intervals as recommended by the API |
| /// service. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource. |
| /// Value must have pattern "^projects/[^/]+/operations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> get(core.String name, {core.String $fields}) { |
| var _url; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia; |
| var _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| } |
| |
| /// Request message for the `AddProductToProductSet` method. |
| class AddProductToProductSetRequest { |
| /// Required. The resource name for the Product to be added to this |
| /// ProductSet. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` |
| core.String product; |
| |
| AddProductToProductSetRequest(); |
| |
| AddProductToProductSetRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("product")) { |
| product = _json["product"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (product != null) { |
| _json["product"] = product; |
| } |
| return _json; |
| } |
| } |
| |
| /// A request to annotate one single file, e.g. a PDF, TIFF or GIF file. |
| class AnnotateFileRequest { |
| /// Required. Requested features. |
| core.List<Feature> features; |
| |
| /// Additional context that may accompany the image(s) in the file. |
| ImageContext imageContext; |
| |
| /// Required. Information about the input file. |
| InputConfig inputConfig; |
| |
| /// Pages of the file to perform image annotation. Pages starts from 1, we |
| /// assume the first page of the file is page 1. At most 5 pages are supported |
| /// per request. Pages can be negative. Page 1 means the first page. Page 2 |
| /// means the second page. Page -1 means the last page. Page -2 means the |
| /// second to the last page. If the file is GIF instead of PDF or TIFF, page |
| /// refers to GIF frames. If this field is empty, by default the service |
| /// performs image annotation for the first 5 pages of the file. |
| core.List<core.int> pages; |
| |
| AnnotateFileRequest(); |
| |
| AnnotateFileRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("features")) { |
| features = (_json["features"] as core.List) |
| .map<Feature>((value) => new Feature.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("imageContext")) { |
| imageContext = new ImageContext.fromJson(_json["imageContext"]); |
| } |
| if (_json.containsKey("inputConfig")) { |
| inputConfig = new InputConfig.fromJson(_json["inputConfig"]); |
| } |
| if (_json.containsKey("pages")) { |
| pages = (_json["pages"] as core.List).cast<core.int>(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (features != null) { |
| _json["features"] = features.map((value) => (value).toJson()).toList(); |
| } |
| if (imageContext != null) { |
| _json["imageContext"] = (imageContext).toJson(); |
| } |
| if (inputConfig != null) { |
| _json["inputConfig"] = (inputConfig).toJson(); |
| } |
| if (pages != null) { |
| _json["pages"] = pages; |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to a single file annotation request. A file may contain one or more |
| /// images, which individually have their own responses. |
| class AnnotateFileResponse { |
| /// If set, represents the error message for the failed request. The |
| /// `responses` field will not be set in this case. |
| Status error; |
| |
| /// Information about the file for which this response is generated. |
| InputConfig inputConfig; |
| |
| /// Individual responses to images found within the file. This field will be |
| /// empty if the `error` field is set. |
| core.List<AnnotateImageResponse> responses; |
| |
| /// This field gives the total number of pages in the file. |
| core.int totalPages; |
| |
| AnnotateFileResponse(); |
| |
| AnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("inputConfig")) { |
| inputConfig = new InputConfig.fromJson(_json["inputConfig"]); |
| } |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<AnnotateImageResponse>( |
| (value) => new AnnotateImageResponse.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("totalPages")) { |
| totalPages = _json["totalPages"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (inputConfig != null) { |
| _json["inputConfig"] = (inputConfig).toJson(); |
| } |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| if (totalPages != null) { |
| _json["totalPages"] = totalPages; |
| } |
| return _json; |
| } |
| } |
| |
| /// Request for performing Google Cloud Vision API tasks over a user-provided |
| /// image, with user-requested features, and with context information. |
| class AnnotateImageRequest { |
| /// Requested features. |
| core.List<Feature> features; |
| |
| /// The image to be processed. |
| Image image; |
| |
| /// Additional context that may accompany the image. |
| ImageContext imageContext; |
| |
| AnnotateImageRequest(); |
| |
| AnnotateImageRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("features")) { |
| features = (_json["features"] as core.List) |
| .map<Feature>((value) => new Feature.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("image")) { |
| image = new Image.fromJson(_json["image"]); |
| } |
| if (_json.containsKey("imageContext")) { |
| imageContext = new ImageContext.fromJson(_json["imageContext"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (features != null) { |
| _json["features"] = features.map((value) => (value).toJson()).toList(); |
| } |
| if (image != null) { |
| _json["image"] = (image).toJson(); |
| } |
| if (imageContext != null) { |
| _json["imageContext"] = (imageContext).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an image annotation request. |
| class AnnotateImageResponse { |
| /// If present, contextual information is needed to understand where this |
| /// image comes from. |
| ImageAnnotationContext context; |
| |
| /// If present, crop hints have completed successfully. |
| CropHintsAnnotation cropHintsAnnotation; |
| |
| /// If set, represents the error message for the operation. Note that |
| /// filled-in image annotations are guaranteed to be correct, even when |
| /// `error` is set. |
| Status error; |
| |
| /// If present, face detection has completed successfully. |
| core.List<FaceAnnotation> faceAnnotations; |
| |
| /// If present, text (OCR) detection or document (OCR) text detection has |
| /// completed successfully. This annotation provides the structural hierarchy |
| /// for the OCR detected text. |
| TextAnnotation fullTextAnnotation; |
| |
| /// If present, image properties were extracted successfully. |
| ImageProperties imagePropertiesAnnotation; |
| |
| /// If present, label detection has completed successfully. |
| core.List<EntityAnnotation> labelAnnotations; |
| |
| /// If present, landmark detection has completed successfully. |
| core.List<EntityAnnotation> landmarkAnnotations; |
| |
| /// If present, localized object detection has completed successfully. This |
| /// will be sorted descending by confidence score. |
| core.List<LocalizedObjectAnnotation> localizedObjectAnnotations; |
| |
| /// If present, logo detection has completed successfully. |
| core.List<EntityAnnotation> logoAnnotations; |
| |
| /// If present, product search has completed successfully. |
| ProductSearchResults productSearchResults; |
| |
| /// If present, safe-search annotation has completed successfully. |
| SafeSearchAnnotation safeSearchAnnotation; |
| |
| /// If present, text (OCR) detection has completed successfully. |
| core.List<EntityAnnotation> textAnnotations; |
| |
| /// If present, web detection has completed successfully. |
| WebDetection webDetection; |
| |
| AnnotateImageResponse(); |
| |
| AnnotateImageResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("context")) { |
| context = new ImageAnnotationContext.fromJson(_json["context"]); |
| } |
| if (_json.containsKey("cropHintsAnnotation")) { |
| cropHintsAnnotation = |
| new CropHintsAnnotation.fromJson(_json["cropHintsAnnotation"]); |
| } |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("faceAnnotations")) { |
| faceAnnotations = (_json["faceAnnotations"] as core.List) |
| .map<FaceAnnotation>((value) => new FaceAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullTextAnnotation")) { |
| fullTextAnnotation = |
| new TextAnnotation.fromJson(_json["fullTextAnnotation"]); |
| } |
| if (_json.containsKey("imagePropertiesAnnotation")) { |
| imagePropertiesAnnotation = |
| new ImageProperties.fromJson(_json["imagePropertiesAnnotation"]); |
| } |
| if (_json.containsKey("labelAnnotations")) { |
| labelAnnotations = (_json["labelAnnotations"] as core.List) |
| .map<EntityAnnotation>( |
| (value) => new EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("landmarkAnnotations")) { |
| landmarkAnnotations = (_json["landmarkAnnotations"] as core.List) |
| .map<EntityAnnotation>( |
| (value) => new EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("localizedObjectAnnotations")) { |
| localizedObjectAnnotations = |
| (_json["localizedObjectAnnotations"] as core.List) |
| .map<LocalizedObjectAnnotation>( |
| (value) => new LocalizedObjectAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("logoAnnotations")) { |
| logoAnnotations = (_json["logoAnnotations"] as core.List) |
| .map<EntityAnnotation>( |
| (value) => new EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("productSearchResults")) { |
| productSearchResults = |
| new ProductSearchResults.fromJson(_json["productSearchResults"]); |
| } |
| if (_json.containsKey("safeSearchAnnotation")) { |
| safeSearchAnnotation = |
| new SafeSearchAnnotation.fromJson(_json["safeSearchAnnotation"]); |
| } |
| if (_json.containsKey("textAnnotations")) { |
| textAnnotations = (_json["textAnnotations"] as core.List) |
| .map<EntityAnnotation>( |
| (value) => new EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("webDetection")) { |
| webDetection = new WebDetection.fromJson(_json["webDetection"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (context != null) { |
| _json["context"] = (context).toJson(); |
| } |
| if (cropHintsAnnotation != null) { |
| _json["cropHintsAnnotation"] = (cropHintsAnnotation).toJson(); |
| } |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (faceAnnotations != null) { |
| _json["faceAnnotations"] = |
| faceAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (fullTextAnnotation != null) { |
| _json["fullTextAnnotation"] = (fullTextAnnotation).toJson(); |
| } |
| if (imagePropertiesAnnotation != null) { |
| _json["imagePropertiesAnnotation"] = (imagePropertiesAnnotation).toJson(); |
| } |
| if (labelAnnotations != null) { |
| _json["labelAnnotations"] = |
| labelAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (landmarkAnnotations != null) { |
| _json["landmarkAnnotations"] = |
| landmarkAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (localizedObjectAnnotations != null) { |
| _json["localizedObjectAnnotations"] = |
| localizedObjectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (logoAnnotations != null) { |
| _json["logoAnnotations"] = |
| logoAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (productSearchResults != null) { |
| _json["productSearchResults"] = (productSearchResults).toJson(); |
| } |
| if (safeSearchAnnotation != null) { |
| _json["safeSearchAnnotation"] = (safeSearchAnnotation).toJson(); |
| } |
| if (textAnnotations != null) { |
| _json["textAnnotations"] = |
| textAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (webDetection != null) { |
| _json["webDetection"] = (webDetection).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// An offline file annotation request. |
| class AsyncAnnotateFileRequest { |
| /// Required. Requested features. |
| core.List<Feature> features; |
| |
| /// Additional context that may accompany the image(s) in the file. |
| ImageContext imageContext; |
| |
| /// Required. Information about the input file. |
| InputConfig inputConfig; |
| |
| /// Required. The desired output location and metadata (e.g. format). |
| OutputConfig outputConfig; |
| |
| AsyncAnnotateFileRequest(); |
| |
| AsyncAnnotateFileRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("features")) { |
| features = (_json["features"] as core.List) |
| .map<Feature>((value) => new Feature.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("imageContext")) { |
| imageContext = new ImageContext.fromJson(_json["imageContext"]); |
| } |
| if (_json.containsKey("inputConfig")) { |
| inputConfig = new InputConfig.fromJson(_json["inputConfig"]); |
| } |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new OutputConfig.fromJson(_json["outputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (features != null) { |
| _json["features"] = features.map((value) => (value).toJson()).toList(); |
| } |
| if (imageContext != null) { |
| _json["imageContext"] = (imageContext).toJson(); |
| } |
| if (inputConfig != null) { |
| _json["inputConfig"] = (inputConfig).toJson(); |
| } |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for a single offline file annotation request. |
| class AsyncAnnotateFileResponse { |
| /// The output location and metadata from AsyncAnnotateFileRequest. |
| OutputConfig outputConfig; |
| |
| AsyncAnnotateFileResponse(); |
| |
| AsyncAnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new OutputConfig.fromJson(_json["outputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Multiple async file annotation requests are batched into a single service |
| /// call. |
| class AsyncBatchAnnotateFilesRequest { |
| /// Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| core.String parent; |
| |
| /// Required. Individual async file annotation requests for this batch. |
| core.List<AsyncAnnotateFileRequest> requests; |
| |
| AsyncBatchAnnotateFilesRequest(); |
| |
| AsyncBatchAnnotateFilesRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("parent")) { |
| parent = _json["parent"]; |
| } |
| if (_json.containsKey("requests")) { |
| requests = (_json["requests"] as core.List) |
| .map<AsyncAnnotateFileRequest>( |
| (value) => new AsyncAnnotateFileRequest.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (parent != null) { |
| _json["parent"] = parent; |
| } |
| if (requests != null) { |
| _json["requests"] = requests.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an async batch file annotation request. |
| class AsyncBatchAnnotateFilesResponse { |
| /// The list of file annotation responses, one for each request in |
| /// AsyncBatchAnnotateFilesRequest. |
| core.List<AsyncAnnotateFileResponse> responses; |
| |
| AsyncBatchAnnotateFilesResponse(); |
| |
| AsyncBatchAnnotateFilesResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<AsyncAnnotateFileResponse>( |
| (value) => new AsyncAnnotateFileResponse.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Request for async image annotation for a list of images. |
| class AsyncBatchAnnotateImagesRequest { |
| /// Required. The desired output location and metadata (e.g. format). |
| OutputConfig outputConfig; |
| |
| /// Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| core.String parent; |
| |
| /// Required. Individual image annotation requests for this batch. |
| core.List<AnnotateImageRequest> requests; |
| |
| AsyncBatchAnnotateImagesRequest(); |
| |
| AsyncBatchAnnotateImagesRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new OutputConfig.fromJson(_json["outputConfig"]); |
| } |
| if (_json.containsKey("parent")) { |
| parent = _json["parent"]; |
| } |
| if (_json.containsKey("requests")) { |
| requests = (_json["requests"] as core.List) |
| .map<AnnotateImageRequest>( |
| (value) => new AnnotateImageRequest.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| if (parent != null) { |
| _json["parent"] = parent; |
| } |
| if (requests != null) { |
| _json["requests"] = requests.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an async batch image annotation request. |
| class AsyncBatchAnnotateImagesResponse { |
| /// The output location and metadata from AsyncBatchAnnotateImagesRequest. |
| OutputConfig outputConfig; |
| |
| AsyncBatchAnnotateImagesResponse(); |
| |
| AsyncBatchAnnotateImagesResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new OutputConfig.fromJson(_json["outputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of requests to annotate files using the BatchAnnotateFiles API. |
| class BatchAnnotateFilesRequest { |
| /// Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| core.String parent; |
| |
| /// Required. The list of file annotation requests. Right now we support only |
| /// one AnnotateFileRequest in BatchAnnotateFilesRequest. |
| core.List<AnnotateFileRequest> requests; |
| |
| BatchAnnotateFilesRequest(); |
| |
| BatchAnnotateFilesRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("parent")) { |
| parent = _json["parent"]; |
| } |
| if (_json.containsKey("requests")) { |
| requests = (_json["requests"] as core.List) |
| .map<AnnotateFileRequest>( |
| (value) => new AnnotateFileRequest.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (parent != null) { |
| _json["parent"] = parent; |
| } |
| if (requests != null) { |
| _json["requests"] = requests.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of file annotation responses. |
| class BatchAnnotateFilesResponse { |
| /// The list of file annotation responses, each response corresponding to each |
| /// AnnotateFileRequest in BatchAnnotateFilesRequest. |
| core.List<AnnotateFileResponse> responses; |
| |
| BatchAnnotateFilesResponse(); |
| |
| BatchAnnotateFilesResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<AnnotateFileResponse>( |
| (value) => new AnnotateFileResponse.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Multiple image annotation requests are batched into a single service call. |
| class BatchAnnotateImagesRequest { |
| /// Optional. Target project and location to make a call. Format: |
| /// `projects/{project-id}/locations/{location-id}`. If no parent is |
| /// specified, a region will be chosen automatically. Supported location-ids: |
| /// `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: |
| /// The European Union. Example: `projects/project-A/locations/eu`. |
| core.String parent; |
| |
| /// Required. Individual image annotation requests for this batch. |
| core.List<AnnotateImageRequest> requests; |
| |
| BatchAnnotateImagesRequest(); |
| |
| BatchAnnotateImagesRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("parent")) { |
| parent = _json["parent"]; |
| } |
| if (_json.containsKey("requests")) { |
| requests = (_json["requests"] as core.List) |
| .map<AnnotateImageRequest>( |
| (value) => new AnnotateImageRequest.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (parent != null) { |
| _json["parent"] = parent; |
| } |
| if (requests != null) { |
| _json["requests"] = requests.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to a batch image annotation request. |
| class BatchAnnotateImagesResponse { |
| /// Individual responses to image annotation requests within the batch. |
| core.List<AnnotateImageResponse> responses; |
| |
| BatchAnnotateImagesResponse(); |
| |
| BatchAnnotateImagesResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<AnnotateImageResponse>( |
| (value) => new AnnotateImageResponse.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for the batch operations such as the current state. This is |
| /// included in the `metadata` field of the `Operation` returned by the |
| /// `GetOperation` call of the `google::longrunning::Operations` service. |
| class BatchOperationMetadata { |
| /// The time when the batch request is finished and |
| /// google.longrunning.Operation.done is set to true. |
| core.String endTime; |
| |
| /// The current state of the batch operation. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Invalid. |
| /// - "PROCESSING" : Request is actively being processed. |
| /// - "SUCCESSFUL" : The request is done and at least one item has been |
| /// successfully processed. |
| /// - "FAILED" : The request is done and no item has been successfully |
| /// processed. |
| /// - "CANCELLED" : The request is done after the |
| /// longrunning.Operations.CancelOperation has been called by the user. Any |
| /// records that were processed before the cancel command are output as |
| /// specified in the request. |
| core.String state; |
| |
| /// The time when the batch request was submitted to the server. |
| core.String submitTime; |
| |
| BatchOperationMetadata(); |
| |
| BatchOperationMetadata.fromJson(core.Map _json) { |
| if (_json.containsKey("endTime")) { |
| endTime = _json["endTime"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| if (_json.containsKey("submitTime")) { |
| submitTime = _json["submitTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (endTime != null) { |
| _json["endTime"] = endTime; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| if (submitTime != null) { |
| _json["submitTime"] = submitTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// Logical element on the page. |
| class Block { |
| /// Detected block type (text, image etc) for this block. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown block type. |
| /// - "TEXT" : Regular text block. |
| /// - "TABLE" : Table block. |
| /// - "PICTURE" : Image block. |
| /// - "RULER" : Horizontal/vertical line box. |
| /// - "BARCODE" : Barcode block. |
| core.String blockType; |
| |
| /// The bounding box for the block. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results on the block. Range [0, 1]. |
| core.double confidence; |
| |
| /// List of paragraphs in this block (if this blocks is of type text). |
| core.List<Paragraph> paragraphs; |
| |
| /// Additional information detected for the block. |
| TextProperty property; |
| |
| Block(); |
| |
| Block.fromJson(core.Map _json) { |
| if (_json.containsKey("blockType")) { |
| blockType = _json["blockType"]; |
| } |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new BoundingPoly.fromJson(_json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("paragraphs")) { |
| paragraphs = (_json["paragraphs"] as core.List) |
| .map<Paragraph>((value) => new Paragraph.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("property")) { |
| property = new TextProperty.fromJson(_json["property"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blockType != null) { |
| _json["blockType"] = blockType; |
| } |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (paragraphs != null) { |
| _json["paragraphs"] = |
| paragraphs.map((value) => (value).toJson()).toList(); |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A bounding polygon for the detected image annotation. |
| class BoundingPoly { |
| /// The bounding polygon normalized vertices. |
| core.List<NormalizedVertex> normalizedVertices; |
| |
| /// The bounding polygon vertices. |
| core.List<Vertex> vertices; |
| |
| BoundingPoly(); |
| |
| BoundingPoly.fromJson(core.Map _json) { |
| if (_json.containsKey("normalizedVertices")) { |
| normalizedVertices = (_json["normalizedVertices"] as core.List) |
| .map<NormalizedVertex>( |
| (value) => new NormalizedVertex.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("vertices")) { |
| vertices = (_json["vertices"] as core.List) |
| .map<Vertex>((value) => new Vertex.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (normalizedVertices != null) { |
| _json["normalizedVertices"] = |
| normalizedVertices.map((value) => (value).toJson()).toList(); |
| } |
| if (vertices != null) { |
| _json["vertices"] = vertices.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The request message for Operations.CancelOperation. |
| class CancelOperationRequest { |
| CancelOperationRequest(); |
| |
| CancelOperationRequest.fromJson(core.Map _json) {} |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| return _json; |
| } |
| } |
| |
| /// Represents a color in the RGBA color space. This representation is designed |
| /// for simplicity of conversion to/from color representations in various |
| /// languages over compactness; for example, the fields of this representation |
| /// can be trivially provided to the constructor of "java.awt.Color" in Java; it |
| /// can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" |
| /// method in iOS; and, with just a little work, it can be easily formatted into |
| /// a CSS "rgba()" string in JavaScript, as well. Note: this proto does not |
| /// carry information about the absolute color space that should be used to |
| /// interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By |
| /// default, applications SHOULD assume the sRGB color space. Note: when color |
| /// equality needs to be decided, implementations, unless documented otherwise, |
| /// will treat two colors to be equal if all their red, green, blue and alpha |
| /// values each differ by at most 1e-5. Example (Java): import |
| /// com.google.type.Color; // ... public static java.awt.Color fromProto(Color |
| /// protocolor) { float alpha = protocolor.hasAlpha() ? |
| /// protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( |
| /// protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } |
| /// public static Color toProto(java.awt.Color color) { float red = (float) |
| /// color.getRed(); float green = (float) color.getGreen(); float blue = (float) |
| /// color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = |
| /// Color .newBuilder() .setRed(red / denominator) .setGreen(green / |
| /// denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if |
| /// (alpha != 255) { result.setAlpha( FloatValue .newBuilder() |
| /// .setValue(((float) alpha) / denominator) .build()); } return |
| /// resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static |
| /// UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float |
| /// green = [protocolor green]; float blue = [protocolor blue]; FloatValue* |
| /// alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != |
| /// nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red |
| /// green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) |
| /// { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green |
| /// blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] |
| /// init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; |
| /// if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } |
| /// [result autorelease]; return result; } // ... Example (JavaScript): // ... |
| /// var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || |
| /// 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue |
| /// || 0.0; var red = Math.floor(redFrac * 255); var green = |
| /// Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if |
| /// (!('alpha' in rgb_color)) { return rgbToCssColor_(red, green, blue); } var |
| /// alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, |
| /// blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); |
| /// }; var rgbToCssColor_ = function(red, green, blue) { var rgbNumber = new |
| /// Number((red << 16) | (green << 8) | blue); var hexString = |
| /// rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var |
| /// resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { |
| /// resultBuilder.push('0'); } resultBuilder.push(hexString); return |
| /// resultBuilder.join(''); }; // ... |
| class Color { |
| /// The fraction of this color that should be applied to the pixel. That is, |
| /// the final pixel color is defined by the equation: pixel color = alpha * |
| /// (this color) + (1.0 - alpha) * (background color) This means that a value |
| /// of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to |
| /// a completely transparent color. This uses a wrapper message rather than a |
| /// simple float scalar so that it is possible to distinguish between a |
| /// default value and the value being unset. If omitted, this color object is |
| /// to be rendered as a solid color (as if the alpha value had been explicitly |
| /// given with a value of 1.0). |
| core.double alpha; |
| |
| /// The amount of blue in the color as a value in the interval [0, 1]. |
| core.double blue; |
| |
| /// The amount of green in the color as a value in the interval [0, 1]. |
| core.double green; |
| |
| /// The amount of red in the color as a value in the interval [0, 1]. |
| core.double red; |
| |
| Color(); |
| |
| Color.fromJson(core.Map _json) { |
| if (_json.containsKey("alpha")) { |
| alpha = _json["alpha"].toDouble(); |
| } |
| if (_json.containsKey("blue")) { |
| blue = _json["blue"].toDouble(); |
| } |
| if (_json.containsKey("green")) { |
| green = _json["green"].toDouble(); |
| } |
| if (_json.containsKey("red")) { |
| red = _json["red"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (alpha != null) { |
| _json["alpha"] = alpha; |
| } |
| if (blue != null) { |
| _json["blue"] = blue; |
| } |
| if (green != null) { |
| _json["green"] = green; |
| } |
| if (red != null) { |
| _json["red"] = red; |
| } |
| return _json; |
| } |
| } |
| |
| /// Color information consists of RGB channels, score, and the fraction of the |
| /// image that the color occupies in the image. |
| class ColorInfo { |
| /// RGB components of the color. |
| Color color; |
| |
| /// The fraction of pixels the color occupies in the image. Value in range [0, |
| /// 1]. |
| core.double pixelFraction; |
| |
| /// Image-specific score for this color. Value in range [0, 1]. |
| core.double score; |
| |
| ColorInfo(); |
| |
| ColorInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("color")) { |
| color = new Color.fromJson(_json["color"]); |
| } |
| if (_json.containsKey("pixelFraction")) { |
| pixelFraction = _json["pixelFraction"].toDouble(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (color != null) { |
| _json["color"] = (color).toJson(); |
| } |
| if (pixelFraction != null) { |
| _json["pixelFraction"] = pixelFraction; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Single crop hint that is used to generate a new crop when serving an image. |
| class CropHint { |
| /// The bounding polygon for the crop region. The coordinates of the bounding |
| /// box are in the original image's scale. |
| BoundingPoly boundingPoly; |
| |
| /// Confidence of this being a salient region. Range [0, 1]. |
| core.double confidence; |
| |
| /// Fraction of importance of this salient region with respect to the original |
| /// image. |
| core.double importanceFraction; |
| |
| CropHint(); |
| |
| CropHint.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new BoundingPoly.fromJson(_json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("importanceFraction")) { |
| importanceFraction = _json["importanceFraction"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (importanceFraction != null) { |
| _json["importanceFraction"] = importanceFraction; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of crop hints that are used to generate new crops when serving images. |
| class CropHintsAnnotation { |
| /// Crop hint results. |
| core.List<CropHint> cropHints; |
| |
| CropHintsAnnotation(); |
| |
| CropHintsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("cropHints")) { |
| cropHints = (_json["cropHints"] as core.List) |
| .map<CropHint>((value) => new CropHint.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (cropHints != null) { |
| _json["cropHints"] = cropHints.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Parameters for crop hints annotation request. |
| class CropHintsParams { |
| /// Aspect ratios in floats, representing the ratio of the width to the height |
| /// of the image. For example, if the desired aspect ratio is 4/3, the |
| /// corresponding float value should be 1.33333. If not specified, the best |
| /// possible crop is returned. The number of provided aspect ratios is limited |
| /// to a maximum of 16; any aspect ratios provided after the 16th are ignored. |
| core.List<core.double> aspectRatios; |
| |
| CropHintsParams(); |
| |
| CropHintsParams.fromJson(core.Map _json) { |
| if (_json.containsKey("aspectRatios")) { |
| aspectRatios = (_json["aspectRatios"] as core.List) |
| .map<core.double>((value) => value.toDouble()) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (aspectRatios != null) { |
| _json["aspectRatios"] = aspectRatios; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected start or end of a structural component. |
| class DetectedBreak { |
| /// True if break prepends the element. |
| core.bool isPrefix; |
| |
| /// Detected break type. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown break label type. |
| /// - "SPACE" : Regular space. |
| /// - "SURE_SPACE" : Sure space (very wide). |
| /// - "EOL_SURE_SPACE" : Line-wrapping break. |
| /// - "HYPHEN" : End-line hyphen that is not present in text; does not |
| /// co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. |
| /// - "LINE_BREAK" : Line break that ends a paragraph. |
| core.String type; |
| |
| DetectedBreak(); |
| |
| DetectedBreak.fromJson(core.Map _json) { |
| if (_json.containsKey("isPrefix")) { |
| isPrefix = _json["isPrefix"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (isPrefix != null) { |
| _json["isPrefix"] = isPrefix; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected language for a structural component. |
| class DetectedLanguage { |
| /// Confidence of detected language. Range [0, 1]. |
| core.double confidence; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| DetectedLanguage(); |
| |
| DetectedLanguage.fromJson(core.Map _json) { |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of dominant colors and their corresponding scores. |
| class DominantColorsAnnotation { |
| /// RGB color values with their score and pixel fraction. |
| core.List<ColorInfo> colors; |
| |
| DominantColorsAnnotation(); |
| |
| DominantColorsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("colors")) { |
| colors = (_json["colors"] as core.List) |
| .map<ColorInfo>((value) => new ColorInfo.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (colors != null) { |
| _json["colors"] = colors.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A generic empty message that you can re-use to avoid defining duplicated |
| /// empty messages in your APIs. A typical example is to use it as the request |
| /// or the response type of an API method. For instance: service Foo { rpc |
| /// Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON |
| /// representation for `Empty` is empty JSON object `{}`. |
| class Empty { |
| Empty(); |
| |
| Empty.fromJson(core.Map _json) {} |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| return _json; |
| } |
| } |
| |
| /// Set of detected entity features. |
| class EntityAnnotation { |
| /// Image region to which this entity belongs. Not produced for |
| /// `LABEL_DETECTION` features. |
| BoundingPoly boundingPoly; |
| |
| /// **Deprecated. Use `score` instead.** The accuracy of the entity detection |
| /// in an image. For example, for an image in which the "Eiffel Tower" entity |
| /// is detected, this field represents the confidence that there is a tower in |
| /// the query image. Range [0, 1]. |
| core.double confidence; |
| |
| /// Entity textual description, expressed in its `locale` language. |
| core.String description; |
| |
| /// The language code for the locale in which the entity textual `description` |
| /// is expressed. |
| core.String locale; |
| |
| /// The location information for the detected entity. Multiple `LocationInfo` |
| /// elements can be present because one location may indicate the location of |
| /// the scene in the image, and another location may indicate the location of |
| /// the place where the image was taken. Location information is usually |
| /// present for landmarks. |
| core.List<LocationInfo> locations; |
| |
| /// Opaque entity ID. Some IDs may be available in [Google Knowledge Graph |
| /// Search API](https://developers.google.com/knowledge-graph/). |
| core.String mid; |
| |
| /// Some entities may have optional user-supplied `Property` (name/value) |
| /// fields, such a score or string that qualifies the entity. |
| core.List<Property> properties; |
| |
| /// Overall score of the result. Range [0, 1]. |
| core.double score; |
| |
| /// The relevancy of the ICA (Image Content Annotation) label to the image. |
| /// For example, the relevancy of "tower" is likely higher to an image |
| /// containing the detected "Eiffel Tower" than to an image containing a |
| /// detected distant towering building, even though the confidence that there |
| /// is a tower in each image may be the same. Range [0, 1]. |
| core.double topicality; |
| |
| EntityAnnotation(); |
| |
| EntityAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new BoundingPoly.fromJson(_json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("locale")) { |
| locale = _json["locale"]; |
| } |
| if (_json.containsKey("locations")) { |
| locations = (_json["locations"] as core.List) |
| .map<LocationInfo>((value) => new LocationInfo.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("properties")) { |
| properties = (_json["properties"] as core.List) |
| .map<Property>((value) => new Property.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("topicality")) { |
| topicality = _json["topicality"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (locale != null) { |
| _json["locale"] = locale; |
| } |
| if (locations != null) { |
| _json["locations"] = locations.map((value) => (value).toJson()).toList(); |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (properties != null) { |
| _json["properties"] = |
| properties.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (topicality != null) { |
| _json["topicality"] = topicality; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face annotation object contains the results of face detection. |
| class FaceAnnotation { |
| /// Anger likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String angerLikelihood; |
| |
| /// Blurred likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String blurredLikelihood; |
| |
| /// The bounding polygon around the face. The coordinates of the bounding box |
| /// are in the original image's scale. The bounding box is computed to "frame" |
| /// the face in accordance with human expectations. It is based on the |
| /// landmarker results. Note that one or more x and/or y coordinates may not |
| /// be generated in the `BoundingPoly` (the polygon will be unbounded) if only |
| /// a partial face appears in the image to be annotated. |
| BoundingPoly boundingPoly; |
| |
| /// Detection confidence. Range [0, 1]. |
| core.double detectionConfidence; |
| |
| /// The `fd_bounding_poly` bounding polygon is tighter than the |
| /// `boundingPoly`, and encloses only the skin part of the face. Typically, it |
| /// is used to eliminate the face from any image analysis that detects the |
| /// "amount of skin" visible in an image. It is not based on the landmarker |
| /// results, only on the initial face detection, hence the fd (face detection) |
| /// prefix. |
| BoundingPoly fdBoundingPoly; |
| |
| /// Headwear likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String headwearLikelihood; |
| |
| /// Joy likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String joyLikelihood; |
| |
| /// Face landmarking confidence. Range [0, 1]. |
| core.double landmarkingConfidence; |
| |
| /// Detected face landmarks. |
| core.List<Landmark> landmarks; |
| |
| /// Yaw angle, which indicates the leftward/rightward angle that the face is |
| /// pointing relative to the vertical plane perpendicular to the image. Range |
| /// [-180,180]. |
| core.double panAngle; |
| |
| /// Roll angle, which indicates the amount of clockwise/anti-clockwise |
| /// rotation of the face relative to the image vertical about the axis |
| /// perpendicular to the face. Range [-180,180]. |
| core.double rollAngle; |
| |
| /// Sorrow likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String sorrowLikelihood; |
| |
| /// Surprise likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String surpriseLikelihood; |
| |
| /// Pitch angle, which indicates the upwards/downwards angle that the face is |
| /// pointing relative to the image's horizontal plane. Range [-180,180]. |
| core.double tiltAngle; |
| |
| /// Under-exposed likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String underExposedLikelihood; |
| |
| FaceAnnotation(); |
| |
| FaceAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("angerLikelihood")) { |
| angerLikelihood = _json["angerLikelihood"]; |
| } |
| if (_json.containsKey("blurredLikelihood")) { |
| blurredLikelihood = _json["blurredLikelihood"]; |
| } |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new BoundingPoly.fromJson(_json["boundingPoly"]); |
| } |
| if (_json.containsKey("detectionConfidence")) { |
| detectionConfidence = _json["detectionConfidence"].toDouble(); |
| } |
| if (_json.containsKey("fdBoundingPoly")) { |
| fdBoundingPoly = new BoundingPoly.fromJson(_json["fdBoundingPoly"]); |
| } |
| if (_json.containsKey("headwearLikelihood")) { |
| headwearLikelihood = _json["headwearLikelihood"]; |
| } |
| if (_json.containsKey("joyLikelihood")) { |
| joyLikelihood = _json["joyLikelihood"]; |
| } |
| if (_json.containsKey("landmarkingConfidence")) { |
| landmarkingConfidence = _json["landmarkingConfidence"].toDouble(); |
| } |
| if (_json.containsKey("landmarks")) { |
| landmarks = (_json["landmarks"] as core.List) |
| .map<Landmark>((value) => new Landmark.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("panAngle")) { |
| panAngle = _json["panAngle"].toDouble(); |
| } |
| if (_json.containsKey("rollAngle")) { |
| rollAngle = _json["rollAngle"].toDouble(); |
| } |
| if (_json.containsKey("sorrowLikelihood")) { |
| sorrowLikelihood = _json["sorrowLikelihood"]; |
| } |
| if (_json.containsKey("surpriseLikelihood")) { |
| surpriseLikelihood = _json["surpriseLikelihood"]; |
| } |
| if (_json.containsKey("tiltAngle")) { |
| tiltAngle = _json["tiltAngle"].toDouble(); |
| } |
| if (_json.containsKey("underExposedLikelihood")) { |
| underExposedLikelihood = _json["underExposedLikelihood"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (angerLikelihood != null) { |
| _json["angerLikelihood"] = angerLikelihood; |
| } |
| if (blurredLikelihood != null) { |
| _json["blurredLikelihood"] = blurredLikelihood; |
| } |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (detectionConfidence != null) { |
| _json["detectionConfidence"] = detectionConfidence; |
| } |
| if (fdBoundingPoly != null) { |
| _json["fdBoundingPoly"] = (fdBoundingPoly).toJson(); |
| } |
| if (headwearLikelihood != null) { |
| _json["headwearLikelihood"] = headwearLikelihood; |
| } |
| if (joyLikelihood != null) { |
| _json["joyLikelihood"] = joyLikelihood; |
| } |
| if (landmarkingConfidence != null) { |
| _json["landmarkingConfidence"] = landmarkingConfidence; |
| } |
| if (landmarks != null) { |
| _json["landmarks"] = landmarks.map((value) => (value).toJson()).toList(); |
| } |
| if (panAngle != null) { |
| _json["panAngle"] = panAngle; |
| } |
| if (rollAngle != null) { |
| _json["rollAngle"] = rollAngle; |
| } |
| if (sorrowLikelihood != null) { |
| _json["sorrowLikelihood"] = sorrowLikelihood; |
| } |
| if (surpriseLikelihood != null) { |
| _json["surpriseLikelihood"] = surpriseLikelihood; |
| } |
| if (tiltAngle != null) { |
| _json["tiltAngle"] = tiltAngle; |
| } |
| if (underExposedLikelihood != null) { |
| _json["underExposedLikelihood"] = underExposedLikelihood; |
| } |
| return _json; |
| } |
| } |
| |
| /// The type of Google Cloud Vision API detection to perform, and the maximum |
| /// number of results to return for that type. Multiple `Feature` objects can be |
| /// specified in the `features` list. |
| class Feature { |
| /// Maximum number of results of this type. Does not apply to |
| /// `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. |
| core.int maxResults; |
| |
| /// Model to use for the feature. Supported values: "builtin/stable" (the |
| /// default if unset) and "builtin/latest". |
| core.String model; |
| |
| /// The feature type. |
| /// Possible string values are: |
| /// - "TYPE_UNSPECIFIED" : Unspecified feature type. |
| /// - "FACE_DETECTION" : Run face detection. |
| /// - "LANDMARK_DETECTION" : Run landmark detection. |
| /// - "LOGO_DETECTION" : Run logo detection. |
| /// - "LABEL_DETECTION" : Run label detection. |
| /// - "TEXT_DETECTION" : Run text detection / optical character recognition |
| /// (OCR). Text detection is optimized for areas of text within a larger |
| /// image; if the image is a document, use `DOCUMENT_TEXT_DETECTION` instead. |
| /// - "DOCUMENT_TEXT_DETECTION" : Run dense text document OCR. Takes |
| /// precedence when both `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are |
| /// present. |
| /// - "SAFE_SEARCH_DETECTION" : Run Safe Search to detect potentially unsafe |
| /// or undesirable content. |
| /// - "IMAGE_PROPERTIES" : Compute a set of image properties, such as the |
| /// image's dominant colors. |
| /// - "CROP_HINTS" : Run crop hints. |
| /// - "WEB_DETECTION" : Run web detection. |
| /// - "PRODUCT_SEARCH" : Run Product Search. |
| /// - "OBJECT_LOCALIZATION" : Run localizer for object detection. |
| core.String type; |
| |
| Feature(); |
| |
| Feature.fromJson(core.Map _json) { |
| if (_json.containsKey("maxResults")) { |
| maxResults = _json["maxResults"]; |
| } |
| if (_json.containsKey("model")) { |
| model = _json["model"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (maxResults != null) { |
| _json["maxResults"] = maxResults; |
| } |
| if (model != null) { |
| _json["model"] = model; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the output will be written to. |
| class GcsDestination { |
| /// Google Cloud Storage URI prefix where the results will be stored. Results |
| /// will be in JSON format and preceded by its corresponding input URI prefix. |
| /// This field can either represent a gcs file prefix or gcs directory. In |
| /// either case, the uri should be unique because in order to get all of the |
| /// output files, you will need to do a wildcard gcs search on the uri prefix |
| /// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix |
| /// The output files will be created in gs://bucket-name/here/ and the names |
| /// of the output files will begin with "filenameprefix". * Directory Prefix: |
| /// gs://bucket-name/some/location/ The output files will be created in |
| /// gs://bucket-name/some/location/ and the names of the output files could be |
| /// anything because there was no filename prefix specified. If multiple |
| /// outputs, each response is still AnnotateFileResponse, each of which |
| /// contains some subset of the full list of AnnotateImageResponse. Multiple |
| /// outputs can happen if, for example, the output JSON is too large and |
| /// overflows into multiple sharded files. |
| core.String uri; |
| |
| GcsDestination(); |
| |
| GcsDestination.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the input will be read from. |
| class GcsSource { |
| /// Google Cloud Storage URI for the input file. This must only be a Google |
| /// Cloud Storage object. Wildcards are not currently supported. |
| core.String uri; |
| |
| GcsSource(); |
| |
| GcsSource.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to a single file annotation request. A file may contain one or more |
| /// images, which individually have their own responses. |
| class GoogleCloudVisionV1p1beta1AnnotateFileResponse { |
| /// If set, represents the error message for the failed request. The |
| /// `responses` field will not be set in this case. |
| Status error; |
| |
| /// Information about the file for which this response is generated. |
| GoogleCloudVisionV1p1beta1InputConfig inputConfig; |
| |
| /// Individual responses to images found within the file. This field will be |
| /// empty if the `error` field is set. |
| core.List<GoogleCloudVisionV1p1beta1AnnotateImageResponse> responses; |
| |
| /// This field gives the total number of pages in the file. |
| core.int totalPages; |
| |
| GoogleCloudVisionV1p1beta1AnnotateFileResponse(); |
| |
| GoogleCloudVisionV1p1beta1AnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("inputConfig")) { |
| inputConfig = new GoogleCloudVisionV1p1beta1InputConfig.fromJson( |
| _json["inputConfig"]); |
| } |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1AnnotateImageResponse>((value) => |
| new GoogleCloudVisionV1p1beta1AnnotateImageResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("totalPages")) { |
| totalPages = _json["totalPages"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (inputConfig != null) { |
| _json["inputConfig"] = (inputConfig).toJson(); |
| } |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| if (totalPages != null) { |
| _json["totalPages"] = totalPages; |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an image annotation request. |
| class GoogleCloudVisionV1p1beta1AnnotateImageResponse { |
| /// If present, contextual information is needed to understand where this |
| /// image comes from. |
| GoogleCloudVisionV1p1beta1ImageAnnotationContext context; |
| |
| /// If present, crop hints have completed successfully. |
| GoogleCloudVisionV1p1beta1CropHintsAnnotation cropHintsAnnotation; |
| |
| /// If set, represents the error message for the operation. Note that |
| /// filled-in image annotations are guaranteed to be correct, even when |
| /// `error` is set. |
| Status error; |
| |
| /// If present, face detection has completed successfully. |
| core.List<GoogleCloudVisionV1p1beta1FaceAnnotation> faceAnnotations; |
| |
| /// If present, text (OCR) detection or document (OCR) text detection has |
| /// completed successfully. This annotation provides the structural hierarchy |
| /// for the OCR detected text. |
| GoogleCloudVisionV1p1beta1TextAnnotation fullTextAnnotation; |
| |
| /// If present, image properties were extracted successfully. |
| GoogleCloudVisionV1p1beta1ImageProperties imagePropertiesAnnotation; |
| |
| /// If present, label detection has completed successfully. |
| core.List<GoogleCloudVisionV1p1beta1EntityAnnotation> labelAnnotations; |
| |
| /// If present, landmark detection has completed successfully. |
| core.List<GoogleCloudVisionV1p1beta1EntityAnnotation> landmarkAnnotations; |
| |
| /// If present, localized object detection has completed successfully. This |
| /// will be sorted descending by confidence score. |
| core.List<GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation> |
| localizedObjectAnnotations; |
| |
| /// If present, logo detection has completed successfully. |
| core.List<GoogleCloudVisionV1p1beta1EntityAnnotation> logoAnnotations; |
| |
| /// If present, product search has completed successfully. |
| GoogleCloudVisionV1p1beta1ProductSearchResults productSearchResults; |
| |
| /// If present, safe-search annotation has completed successfully. |
| GoogleCloudVisionV1p1beta1SafeSearchAnnotation safeSearchAnnotation; |
| |
| /// If present, text (OCR) detection has completed successfully. |
| core.List<GoogleCloudVisionV1p1beta1EntityAnnotation> textAnnotations; |
| |
| /// If present, web detection has completed successfully. |
| GoogleCloudVisionV1p1beta1WebDetection webDetection; |
| |
| GoogleCloudVisionV1p1beta1AnnotateImageResponse(); |
| |
| GoogleCloudVisionV1p1beta1AnnotateImageResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("context")) { |
| context = new GoogleCloudVisionV1p1beta1ImageAnnotationContext.fromJson( |
| _json["context"]); |
| } |
| if (_json.containsKey("cropHintsAnnotation")) { |
| cropHintsAnnotation = |
| new GoogleCloudVisionV1p1beta1CropHintsAnnotation.fromJson( |
| _json["cropHintsAnnotation"]); |
| } |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("faceAnnotations")) { |
| faceAnnotations = (_json["faceAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1FaceAnnotation>((value) => |
| new GoogleCloudVisionV1p1beta1FaceAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullTextAnnotation")) { |
| fullTextAnnotation = |
| new GoogleCloudVisionV1p1beta1TextAnnotation.fromJson( |
| _json["fullTextAnnotation"]); |
| } |
| if (_json.containsKey("imagePropertiesAnnotation")) { |
| imagePropertiesAnnotation = |
| new GoogleCloudVisionV1p1beta1ImageProperties.fromJson( |
| _json["imagePropertiesAnnotation"]); |
| } |
| if (_json.containsKey("labelAnnotations")) { |
| labelAnnotations = (_json["labelAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p1beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("landmarkAnnotations")) { |
| landmarkAnnotations = (_json["landmarkAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p1beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("localizedObjectAnnotations")) { |
| localizedObjectAnnotations = (_json["localizedObjectAnnotations"] |
| as core.List) |
| .map<GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation>((value) => |
| new GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("logoAnnotations")) { |
| logoAnnotations = (_json["logoAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p1beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("productSearchResults")) { |
| productSearchResults = |
| new GoogleCloudVisionV1p1beta1ProductSearchResults.fromJson( |
| _json["productSearchResults"]); |
| } |
| if (_json.containsKey("safeSearchAnnotation")) { |
| safeSearchAnnotation = |
| new GoogleCloudVisionV1p1beta1SafeSearchAnnotation.fromJson( |
| _json["safeSearchAnnotation"]); |
| } |
| if (_json.containsKey("textAnnotations")) { |
| textAnnotations = (_json["textAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p1beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("webDetection")) { |
| webDetection = new GoogleCloudVisionV1p1beta1WebDetection.fromJson( |
| _json["webDetection"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (context != null) { |
| _json["context"] = (context).toJson(); |
| } |
| if (cropHintsAnnotation != null) { |
| _json["cropHintsAnnotation"] = (cropHintsAnnotation).toJson(); |
| } |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (faceAnnotations != null) { |
| _json["faceAnnotations"] = |
| faceAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (fullTextAnnotation != null) { |
| _json["fullTextAnnotation"] = (fullTextAnnotation).toJson(); |
| } |
| if (imagePropertiesAnnotation != null) { |
| _json["imagePropertiesAnnotation"] = (imagePropertiesAnnotation).toJson(); |
| } |
| if (labelAnnotations != null) { |
| _json["labelAnnotations"] = |
| labelAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (landmarkAnnotations != null) { |
| _json["landmarkAnnotations"] = |
| landmarkAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (localizedObjectAnnotations != null) { |
| _json["localizedObjectAnnotations"] = |
| localizedObjectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (logoAnnotations != null) { |
| _json["logoAnnotations"] = |
| logoAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (productSearchResults != null) { |
| _json["productSearchResults"] = (productSearchResults).toJson(); |
| } |
| if (safeSearchAnnotation != null) { |
| _json["safeSearchAnnotation"] = (safeSearchAnnotation).toJson(); |
| } |
| if (textAnnotations != null) { |
| _json["textAnnotations"] = |
| textAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (webDetection != null) { |
| _json["webDetection"] = (webDetection).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for a single offline file annotation request. |
| class GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse { |
| /// The output location and metadata from AsyncAnnotateFileRequest. |
| GoogleCloudVisionV1p1beta1OutputConfig outputConfig; |
| |
| GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse(); |
| |
| GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new GoogleCloudVisionV1p1beta1OutputConfig.fromJson( |
| _json["outputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an async batch file annotation request. |
| class GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse { |
| /// The list of file annotation responses, one for each request in |
| /// AsyncBatchAnnotateFilesRequest. |
| core.List<GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse> responses; |
| |
| GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse(); |
| |
| GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse>((value) => |
| new GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Logical element on the page. |
| class GoogleCloudVisionV1p1beta1Block { |
| /// Detected block type (text, image etc) for this block. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown block type. |
| /// - "TEXT" : Regular text block. |
| /// - "TABLE" : Table block. |
| /// - "PICTURE" : Image block. |
| /// - "RULER" : Horizontal/vertical line box. |
| /// - "BARCODE" : Barcode block. |
| core.String blockType; |
| |
| /// The bounding box for the block. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results on the block. Range [0, 1]. |
| core.double confidence; |
| |
| /// List of paragraphs in this block (if this blocks is of type text). |
| core.List<GoogleCloudVisionV1p1beta1Paragraph> paragraphs; |
| |
| /// Additional information detected for the block. |
| GoogleCloudVisionV1p1beta1TextAnnotationTextProperty property; |
| |
| GoogleCloudVisionV1p1beta1Block(); |
| |
| GoogleCloudVisionV1p1beta1Block.fromJson(core.Map _json) { |
| if (_json.containsKey("blockType")) { |
| blockType = _json["blockType"]; |
| } |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("paragraphs")) { |
| paragraphs = (_json["paragraphs"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1Paragraph>((value) => |
| new GoogleCloudVisionV1p1beta1Paragraph.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p1beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blockType != null) { |
| _json["blockType"] = blockType; |
| } |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (paragraphs != null) { |
| _json["paragraphs"] = |
| paragraphs.map((value) => (value).toJson()).toList(); |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A bounding polygon for the detected image annotation. |
| class GoogleCloudVisionV1p1beta1BoundingPoly { |
| /// The bounding polygon normalized vertices. |
| core.List<GoogleCloudVisionV1p1beta1NormalizedVertex> normalizedVertices; |
| |
| /// The bounding polygon vertices. |
| core.List<GoogleCloudVisionV1p1beta1Vertex> vertices; |
| |
| GoogleCloudVisionV1p1beta1BoundingPoly(); |
| |
| GoogleCloudVisionV1p1beta1BoundingPoly.fromJson(core.Map _json) { |
| if (_json.containsKey("normalizedVertices")) { |
| normalizedVertices = (_json["normalizedVertices"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1NormalizedVertex>((value) => |
| new GoogleCloudVisionV1p1beta1NormalizedVertex.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("vertices")) { |
| vertices = (_json["vertices"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1Vertex>( |
| (value) => new GoogleCloudVisionV1p1beta1Vertex.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (normalizedVertices != null) { |
| _json["normalizedVertices"] = |
| normalizedVertices.map((value) => (value).toJson()).toList(); |
| } |
| if (vertices != null) { |
| _json["vertices"] = vertices.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Color information consists of RGB channels, score, and the fraction of the |
| /// image that the color occupies in the image. |
| class GoogleCloudVisionV1p1beta1ColorInfo { |
| /// RGB components of the color. |
| Color color; |
| |
| /// The fraction of pixels the color occupies in the image. Value in range [0, |
| /// 1]. |
| core.double pixelFraction; |
| |
| /// Image-specific score for this color. Value in range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p1beta1ColorInfo(); |
| |
| GoogleCloudVisionV1p1beta1ColorInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("color")) { |
| color = new Color.fromJson(_json["color"]); |
| } |
| if (_json.containsKey("pixelFraction")) { |
| pixelFraction = _json["pixelFraction"].toDouble(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (color != null) { |
| _json["color"] = (color).toJson(); |
| } |
| if (pixelFraction != null) { |
| _json["pixelFraction"] = pixelFraction; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Single crop hint that is used to generate a new crop when serving an image. |
| class GoogleCloudVisionV1p1beta1CropHint { |
| /// The bounding polygon for the crop region. The coordinates of the bounding |
| /// box are in the original image's scale. |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingPoly; |
| |
| /// Confidence of this being a salient region. Range [0, 1]. |
| core.double confidence; |
| |
| /// Fraction of importance of this salient region with respect to the original |
| /// image. |
| core.double importanceFraction; |
| |
| GoogleCloudVisionV1p1beta1CropHint(); |
| |
| GoogleCloudVisionV1p1beta1CropHint.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("importanceFraction")) { |
| importanceFraction = _json["importanceFraction"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (importanceFraction != null) { |
| _json["importanceFraction"] = importanceFraction; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of crop hints that are used to generate new crops when serving images. |
| class GoogleCloudVisionV1p1beta1CropHintsAnnotation { |
| /// Crop hint results. |
| core.List<GoogleCloudVisionV1p1beta1CropHint> cropHints; |
| |
| GoogleCloudVisionV1p1beta1CropHintsAnnotation(); |
| |
| GoogleCloudVisionV1p1beta1CropHintsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("cropHints")) { |
| cropHints = (_json["cropHints"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1CropHint>( |
| (value) => new GoogleCloudVisionV1p1beta1CropHint.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (cropHints != null) { |
| _json["cropHints"] = cropHints.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of dominant colors and their corresponding scores. |
| class GoogleCloudVisionV1p1beta1DominantColorsAnnotation { |
| /// RGB color values with their score and pixel fraction. |
| core.List<GoogleCloudVisionV1p1beta1ColorInfo> colors; |
| |
| GoogleCloudVisionV1p1beta1DominantColorsAnnotation(); |
| |
| GoogleCloudVisionV1p1beta1DominantColorsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("colors")) { |
| colors = (_json["colors"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1ColorInfo>((value) => |
| new GoogleCloudVisionV1p1beta1ColorInfo.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (colors != null) { |
| _json["colors"] = colors.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected entity features. |
| class GoogleCloudVisionV1p1beta1EntityAnnotation { |
| /// Image region to which this entity belongs. Not produced for |
| /// `LABEL_DETECTION` features. |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingPoly; |
| |
| /// **Deprecated. Use `score` instead.** The accuracy of the entity detection |
| /// in an image. For example, for an image in which the "Eiffel Tower" entity |
| /// is detected, this field represents the confidence that there is a tower in |
| /// the query image. Range [0, 1]. |
| core.double confidence; |
| |
| /// Entity textual description, expressed in its `locale` language. |
| core.String description; |
| |
| /// The language code for the locale in which the entity textual `description` |
| /// is expressed. |
| core.String locale; |
| |
| /// The location information for the detected entity. Multiple `LocationInfo` |
| /// elements can be present because one location may indicate the location of |
| /// the scene in the image, and another location may indicate the location of |
| /// the place where the image was taken. Location information is usually |
| /// present for landmarks. |
| core.List<GoogleCloudVisionV1p1beta1LocationInfo> locations; |
| |
| /// Opaque entity ID. Some IDs may be available in [Google Knowledge Graph |
| /// Search API](https://developers.google.com/knowledge-graph/). |
| core.String mid; |
| |
| /// Some entities may have optional user-supplied `Property` (name/value) |
| /// fields, such a score or string that qualifies the entity. |
| core.List<GoogleCloudVisionV1p1beta1Property> properties; |
| |
| /// Overall score of the result. Range [0, 1]. |
| core.double score; |
| |
| /// The relevancy of the ICA (Image Content Annotation) label to the image. |
| /// For example, the relevancy of "tower" is likely higher to an image |
| /// containing the detected "Eiffel Tower" than to an image containing a |
| /// detected distant towering building, even though the confidence that there |
| /// is a tower in each image may be the same. Range [0, 1]. |
| core.double topicality; |
| |
| GoogleCloudVisionV1p1beta1EntityAnnotation(); |
| |
| GoogleCloudVisionV1p1beta1EntityAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("locale")) { |
| locale = _json["locale"]; |
| } |
| if (_json.containsKey("locations")) { |
| locations = (_json["locations"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1LocationInfo>((value) => |
| new GoogleCloudVisionV1p1beta1LocationInfo.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("properties")) { |
| properties = (_json["properties"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1Property>( |
| (value) => new GoogleCloudVisionV1p1beta1Property.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("topicality")) { |
| topicality = _json["topicality"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (locale != null) { |
| _json["locale"] = locale; |
| } |
| if (locations != null) { |
| _json["locations"] = locations.map((value) => (value).toJson()).toList(); |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (properties != null) { |
| _json["properties"] = |
| properties.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (topicality != null) { |
| _json["topicality"] = topicality; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face annotation object contains the results of face detection. |
| class GoogleCloudVisionV1p1beta1FaceAnnotation { |
| /// Anger likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String angerLikelihood; |
| |
| /// Blurred likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String blurredLikelihood; |
| |
| /// The bounding polygon around the face. The coordinates of the bounding box |
| /// are in the original image's scale. The bounding box is computed to "frame" |
| /// the face in accordance with human expectations. It is based on the |
| /// landmarker results. Note that one or more x and/or y coordinates may not |
| /// be generated in the `BoundingPoly` (the polygon will be unbounded) if only |
| /// a partial face appears in the image to be annotated. |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingPoly; |
| |
| /// Detection confidence. Range [0, 1]. |
| core.double detectionConfidence; |
| |
| /// The `fd_bounding_poly` bounding polygon is tighter than the |
| /// `boundingPoly`, and encloses only the skin part of the face. Typically, it |
| /// is used to eliminate the face from any image analysis that detects the |
| /// "amount of skin" visible in an image. It is not based on the landmarker |
| /// results, only on the initial face detection, hence the fd (face detection) |
| /// prefix. |
| GoogleCloudVisionV1p1beta1BoundingPoly fdBoundingPoly; |
| |
| /// Headwear likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String headwearLikelihood; |
| |
| /// Joy likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String joyLikelihood; |
| |
| /// Face landmarking confidence. Range [0, 1]. |
| core.double landmarkingConfidence; |
| |
| /// Detected face landmarks. |
| core.List<GoogleCloudVisionV1p1beta1FaceAnnotationLandmark> landmarks; |
| |
| /// Yaw angle, which indicates the leftward/rightward angle that the face is |
| /// pointing relative to the vertical plane perpendicular to the image. Range |
| /// [-180,180]. |
| core.double panAngle; |
| |
| /// Roll angle, which indicates the amount of clockwise/anti-clockwise |
| /// rotation of the face relative to the image vertical about the axis |
| /// perpendicular to the face. Range [-180,180]. |
| core.double rollAngle; |
| |
| /// Sorrow likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String sorrowLikelihood; |
| |
| /// Surprise likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String surpriseLikelihood; |
| |
| /// Pitch angle, which indicates the upwards/downwards angle that the face is |
| /// pointing relative to the image's horizontal plane. Range [-180,180]. |
| core.double tiltAngle; |
| |
| /// Under-exposed likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String underExposedLikelihood; |
| |
| GoogleCloudVisionV1p1beta1FaceAnnotation(); |
| |
| GoogleCloudVisionV1p1beta1FaceAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("angerLikelihood")) { |
| angerLikelihood = _json["angerLikelihood"]; |
| } |
| if (_json.containsKey("blurredLikelihood")) { |
| blurredLikelihood = _json["blurredLikelihood"]; |
| } |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("detectionConfidence")) { |
| detectionConfidence = _json["detectionConfidence"].toDouble(); |
| } |
| if (_json.containsKey("fdBoundingPoly")) { |
| fdBoundingPoly = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["fdBoundingPoly"]); |
| } |
| if (_json.containsKey("headwearLikelihood")) { |
| headwearLikelihood = _json["headwearLikelihood"]; |
| } |
| if (_json.containsKey("joyLikelihood")) { |
| joyLikelihood = _json["joyLikelihood"]; |
| } |
| if (_json.containsKey("landmarkingConfidence")) { |
| landmarkingConfidence = _json["landmarkingConfidence"].toDouble(); |
| } |
| if (_json.containsKey("landmarks")) { |
| landmarks = (_json["landmarks"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1FaceAnnotationLandmark>((value) => |
| new GoogleCloudVisionV1p1beta1FaceAnnotationLandmark.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("panAngle")) { |
| panAngle = _json["panAngle"].toDouble(); |
| } |
| if (_json.containsKey("rollAngle")) { |
| rollAngle = _json["rollAngle"].toDouble(); |
| } |
| if (_json.containsKey("sorrowLikelihood")) { |
| sorrowLikelihood = _json["sorrowLikelihood"]; |
| } |
| if (_json.containsKey("surpriseLikelihood")) { |
| surpriseLikelihood = _json["surpriseLikelihood"]; |
| } |
| if (_json.containsKey("tiltAngle")) { |
| tiltAngle = _json["tiltAngle"].toDouble(); |
| } |
| if (_json.containsKey("underExposedLikelihood")) { |
| underExposedLikelihood = _json["underExposedLikelihood"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (angerLikelihood != null) { |
| _json["angerLikelihood"] = angerLikelihood; |
| } |
| if (blurredLikelihood != null) { |
| _json["blurredLikelihood"] = blurredLikelihood; |
| } |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (detectionConfidence != null) { |
| _json["detectionConfidence"] = detectionConfidence; |
| } |
| if (fdBoundingPoly != null) { |
| _json["fdBoundingPoly"] = (fdBoundingPoly).toJson(); |
| } |
| if (headwearLikelihood != null) { |
| _json["headwearLikelihood"] = headwearLikelihood; |
| } |
| if (joyLikelihood != null) { |
| _json["joyLikelihood"] = joyLikelihood; |
| } |
| if (landmarkingConfidence != null) { |
| _json["landmarkingConfidence"] = landmarkingConfidence; |
| } |
| if (landmarks != null) { |
| _json["landmarks"] = landmarks.map((value) => (value).toJson()).toList(); |
| } |
| if (panAngle != null) { |
| _json["panAngle"] = panAngle; |
| } |
| if (rollAngle != null) { |
| _json["rollAngle"] = rollAngle; |
| } |
| if (sorrowLikelihood != null) { |
| _json["sorrowLikelihood"] = sorrowLikelihood; |
| } |
| if (surpriseLikelihood != null) { |
| _json["surpriseLikelihood"] = surpriseLikelihood; |
| } |
| if (tiltAngle != null) { |
| _json["tiltAngle"] = tiltAngle; |
| } |
| if (underExposedLikelihood != null) { |
| _json["underExposedLikelihood"] = underExposedLikelihood; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face-specific landmark (for example, a face feature). |
| class GoogleCloudVisionV1p1beta1FaceAnnotationLandmark { |
| /// Face landmark position. |
| GoogleCloudVisionV1p1beta1Position position; |
| |
| /// Face landmark type. |
| /// Possible string values are: |
| /// - "UNKNOWN_LANDMARK" : Unknown face landmark detected. Should not be |
| /// filled. |
| /// - "LEFT_EYE" : Left eye. |
| /// - "RIGHT_EYE" : Right eye. |
| /// - "LEFT_OF_LEFT_EYEBROW" : Left of left eyebrow. |
| /// - "RIGHT_OF_LEFT_EYEBROW" : Right of left eyebrow. |
| /// - "LEFT_OF_RIGHT_EYEBROW" : Left of right eyebrow. |
| /// - "RIGHT_OF_RIGHT_EYEBROW" : Right of right eyebrow. |
| /// - "MIDPOINT_BETWEEN_EYES" : Midpoint between eyes. |
| /// - "NOSE_TIP" : Nose tip. |
| /// - "UPPER_LIP" : Upper lip. |
| /// - "LOWER_LIP" : Lower lip. |
| /// - "MOUTH_LEFT" : Mouth left. |
| /// - "MOUTH_RIGHT" : Mouth right. |
| /// - "MOUTH_CENTER" : Mouth center. |
| /// - "NOSE_BOTTOM_RIGHT" : Nose, bottom right. |
| /// - "NOSE_BOTTOM_LEFT" : Nose, bottom left. |
| /// - "NOSE_BOTTOM_CENTER" : Nose, bottom center. |
| /// - "LEFT_EYE_TOP_BOUNDARY" : Left eye, top boundary. |
| /// - "LEFT_EYE_RIGHT_CORNER" : Left eye, right corner. |
| /// - "LEFT_EYE_BOTTOM_BOUNDARY" : Left eye, bottom boundary. |
| /// - "LEFT_EYE_LEFT_CORNER" : Left eye, left corner. |
| /// - "RIGHT_EYE_TOP_BOUNDARY" : Right eye, top boundary. |
| /// - "RIGHT_EYE_RIGHT_CORNER" : Right eye, right corner. |
| /// - "RIGHT_EYE_BOTTOM_BOUNDARY" : Right eye, bottom boundary. |
| /// - "RIGHT_EYE_LEFT_CORNER" : Right eye, left corner. |
| /// - "LEFT_EYEBROW_UPPER_MIDPOINT" : Left eyebrow, upper midpoint. |
| /// - "RIGHT_EYEBROW_UPPER_MIDPOINT" : Right eyebrow, upper midpoint. |
| /// - "LEFT_EAR_TRAGION" : Left ear tragion. |
| /// - "RIGHT_EAR_TRAGION" : Right ear tragion. |
| /// - "LEFT_EYE_PUPIL" : Left eye pupil. |
| /// - "RIGHT_EYE_PUPIL" : Right eye pupil. |
| /// - "FOREHEAD_GLABELLA" : Forehead glabella. |
| /// - "CHIN_GNATHION" : Chin gnathion. |
| /// - "CHIN_LEFT_GONION" : Chin left gonion. |
| /// - "CHIN_RIGHT_GONION" : Chin right gonion. |
| /// - "LEFT_CHEEK_CENTER" : Left cheek center. |
| /// - "RIGHT_CHEEK_CENTER" : Right cheek center. |
| core.String type; |
| |
| GoogleCloudVisionV1p1beta1FaceAnnotationLandmark(); |
| |
| GoogleCloudVisionV1p1beta1FaceAnnotationLandmark.fromJson(core.Map _json) { |
| if (_json.containsKey("position")) { |
| position = |
| new GoogleCloudVisionV1p1beta1Position.fromJson(_json["position"]); |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (position != null) { |
| _json["position"] = (position).toJson(); |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the output will be written to. |
| class GoogleCloudVisionV1p1beta1GcsDestination { |
| /// Google Cloud Storage URI prefix where the results will be stored. Results |
| /// will be in JSON format and preceded by its corresponding input URI prefix. |
| /// This field can either represent a gcs file prefix or gcs directory. In |
| /// either case, the uri should be unique because in order to get all of the |
| /// output files, you will need to do a wildcard gcs search on the uri prefix |
| /// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix |
| /// The output files will be created in gs://bucket-name/here/ and the names |
| /// of the output files will begin with "filenameprefix". * Directory Prefix: |
| /// gs://bucket-name/some/location/ The output files will be created in |
| /// gs://bucket-name/some/location/ and the names of the output files could be |
| /// anything because there was no filename prefix specified. If multiple |
| /// outputs, each response is still AnnotateFileResponse, each of which |
| /// contains some subset of the full list of AnnotateImageResponse. Multiple |
| /// outputs can happen if, for example, the output JSON is too large and |
| /// overflows into multiple sharded files. |
| core.String uri; |
| |
| GoogleCloudVisionV1p1beta1GcsDestination(); |
| |
| GoogleCloudVisionV1p1beta1GcsDestination.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the input will be read from. |
| class GoogleCloudVisionV1p1beta1GcsSource { |
| /// Google Cloud Storage URI for the input file. This must only be a Google |
| /// Cloud Storage object. Wildcards are not currently supported. |
| core.String uri; |
| |
| GoogleCloudVisionV1p1beta1GcsSource(); |
| |
| GoogleCloudVisionV1p1beta1GcsSource.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// If an image was produced from a file (e.g. a PDF), this message gives |
| /// information about the source of that image. |
| class GoogleCloudVisionV1p1beta1ImageAnnotationContext { |
| /// If the file was a PDF or TIFF, this field gives the page number within the |
| /// file used to produce the image. |
| core.int pageNumber; |
| |
| /// The URI of the file used to produce the image. |
| core.String uri; |
| |
| GoogleCloudVisionV1p1beta1ImageAnnotationContext(); |
| |
| GoogleCloudVisionV1p1beta1ImageAnnotationContext.fromJson(core.Map _json) { |
| if (_json.containsKey("pageNumber")) { |
| pageNumber = _json["pageNumber"]; |
| } |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pageNumber != null) { |
| _json["pageNumber"] = pageNumber; |
| } |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Stores image properties, such as dominant colors. |
| class GoogleCloudVisionV1p1beta1ImageProperties { |
| /// If present, dominant colors completed successfully. |
| GoogleCloudVisionV1p1beta1DominantColorsAnnotation dominantColors; |
| |
| GoogleCloudVisionV1p1beta1ImageProperties(); |
| |
| GoogleCloudVisionV1p1beta1ImageProperties.fromJson(core.Map _json) { |
| if (_json.containsKey("dominantColors")) { |
| dominantColors = |
| new GoogleCloudVisionV1p1beta1DominantColorsAnnotation.fromJson( |
| _json["dominantColors"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (dominantColors != null) { |
| _json["dominantColors"] = (dominantColors).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired input location and metadata. |
| class GoogleCloudVisionV1p1beta1InputConfig { |
| /// File content, represented as a stream of bytes. Note: As with all `bytes` |
| /// fields, protobuffers use a pure binary representation, whereas JSON |
| /// representations use base64. Currently, this field only works for |
| /// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles |
| /// requests. |
| core.String content; |
| core.List<core.int> get contentAsBytes { |
| return convert.base64.decode(content); |
| } |
| |
| set contentAsBytes(core.List<core.int> _bytes) { |
| content = |
| convert.base64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// The Google Cloud Storage location to read the input from. |
| GoogleCloudVisionV1p1beta1GcsSource gcsSource; |
| |
| /// The type of the file. Currently only "application/pdf", "image/tiff" and |
| /// "image/gif" are supported. Wildcards are not supported. |
| core.String mimeType; |
| |
| GoogleCloudVisionV1p1beta1InputConfig(); |
| |
| GoogleCloudVisionV1p1beta1InputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("content")) { |
| content = _json["content"]; |
| } |
| if (_json.containsKey("gcsSource")) { |
| gcsSource = |
| new GoogleCloudVisionV1p1beta1GcsSource.fromJson(_json["gcsSource"]); |
| } |
| if (_json.containsKey("mimeType")) { |
| mimeType = _json["mimeType"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (content != null) { |
| _json["content"] = content; |
| } |
| if (gcsSource != null) { |
| _json["gcsSource"] = (gcsSource).toJson(); |
| } |
| if (mimeType != null) { |
| _json["mimeType"] = mimeType; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected objects with bounding boxes. |
| class GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation { |
| /// Image region to which this object belongs. This must be populated. |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingPoly; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation(); |
| |
| GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected entity location information. |
| class GoogleCloudVisionV1p1beta1LocationInfo { |
| /// lat/long location coordinates. |
| LatLng latLng; |
| |
| GoogleCloudVisionV1p1beta1LocationInfo(); |
| |
| GoogleCloudVisionV1p1beta1LocationInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("latLng")) { |
| latLng = new LatLng.fromJson(_json["latLng"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (latLng != null) { |
| _json["latLng"] = (latLng).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the normalized vertex |
| /// coordinates are relative to the original image and range from 0 to 1. |
| class GoogleCloudVisionV1p1beta1NormalizedVertex { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| GoogleCloudVisionV1p1beta1NormalizedVertex(); |
| |
| GoogleCloudVisionV1p1beta1NormalizedVertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Contains metadata for the BatchAnnotateImages operation. |
| class GoogleCloudVisionV1p1beta1OperationMetadata { |
| /// The time when the batch request was received. |
| core.String createTime; |
| |
| /// Current state of the batch operation. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Invalid. |
| /// - "CREATED" : Request is received. |
| /// - "RUNNING" : Request is actively being processed. |
| /// - "DONE" : The batch processing is done. |
| /// - "CANCELLED" : The batch processing was cancelled. |
| core.String state; |
| |
| /// The time when the operation result was last updated. |
| core.String updateTime; |
| |
| GoogleCloudVisionV1p1beta1OperationMetadata(); |
| |
| GoogleCloudVisionV1p1beta1OperationMetadata.fromJson(core.Map _json) { |
| if (_json.containsKey("createTime")) { |
| createTime = _json["createTime"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| if (_json.containsKey("updateTime")) { |
| updateTime = _json["updateTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (createTime != null) { |
| _json["createTime"] = createTime; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| if (updateTime != null) { |
| _json["updateTime"] = updateTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired output location and metadata. |
| class GoogleCloudVisionV1p1beta1OutputConfig { |
| /// The max number of response protos to put into each output JSON file on |
| /// Google Cloud Storage. The valid range is [1, 100]. If not specified, the |
| /// default value is 20. For example, for one pdf file with 100 pages, 100 |
| /// response protos will be generated. If `batch_size` = 20, then 5 json files |
| /// each containing 20 response protos will be written under the prefix |
| /// `gcs_destination`.`uri`. Currently, batch_size only applies to |
| /// GcsDestination, with potential future support for other output |
| /// configurations. |
| core.int batchSize; |
| |
| /// The Google Cloud Storage location to write the output(s) to. |
| GoogleCloudVisionV1p1beta1GcsDestination gcsDestination; |
| |
| GoogleCloudVisionV1p1beta1OutputConfig(); |
| |
| GoogleCloudVisionV1p1beta1OutputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("batchSize")) { |
| batchSize = _json["batchSize"]; |
| } |
| if (_json.containsKey("gcsDestination")) { |
| gcsDestination = new GoogleCloudVisionV1p1beta1GcsDestination.fromJson( |
| _json["gcsDestination"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (batchSize != null) { |
| _json["batchSize"] = batchSize; |
| } |
| if (gcsDestination != null) { |
| _json["gcsDestination"] = (gcsDestination).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected page from OCR. |
| class GoogleCloudVisionV1p1beta1Page { |
| /// List of blocks of text, images etc on this page. |
| core.List<GoogleCloudVisionV1p1beta1Block> blocks; |
| |
| /// Confidence of the OCR results on the page. Range [0, 1]. |
| core.double confidence; |
| |
| /// Page height. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int height; |
| |
| /// Additional information detected on the page. |
| GoogleCloudVisionV1p1beta1TextAnnotationTextProperty property; |
| |
| /// Page width. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int width; |
| |
| GoogleCloudVisionV1p1beta1Page(); |
| |
| GoogleCloudVisionV1p1beta1Page.fromJson(core.Map _json) { |
| if (_json.containsKey("blocks")) { |
| blocks = (_json["blocks"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1Block>( |
| (value) => new GoogleCloudVisionV1p1beta1Block.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("height")) { |
| height = _json["height"]; |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p1beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("width")) { |
| width = _json["width"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blocks != null) { |
| _json["blocks"] = blocks.map((value) => (value).toJson()).toList(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (height != null) { |
| _json["height"] = height; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (width != null) { |
| _json["width"] = width; |
| } |
| return _json; |
| } |
| } |
| |
| /// Structural unit of text representing a number of words in certain order. |
| class GoogleCloudVisionV1p1beta1Paragraph { |
| /// The bounding box for the paragraph. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the paragraph. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the paragraph. |
| GoogleCloudVisionV1p1beta1TextAnnotationTextProperty property; |
| |
| /// List of all words in this paragraph. |
| core.List<GoogleCloudVisionV1p1beta1Word> words; |
| |
| GoogleCloudVisionV1p1beta1Paragraph(); |
| |
| GoogleCloudVisionV1p1beta1Paragraph.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p1beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("words")) { |
| words = (_json["words"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1Word>( |
| (value) => new GoogleCloudVisionV1p1beta1Word.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (words != null) { |
| _json["words"] = words.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A 3D position in the image, used primarily for Face detection landmarks. A |
| /// valid Position must have both x and y coordinates. The position coordinates |
| /// are in the same scale as the original image. |
| class GoogleCloudVisionV1p1beta1Position { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| /// Z coordinate (or depth). |
| core.double z; |
| |
| GoogleCloudVisionV1p1beta1Position(); |
| |
| GoogleCloudVisionV1p1beta1Position.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| if (_json.containsKey("z")) { |
| z = _json["z"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| if (z != null) { |
| _json["z"] = z; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Product contains ReferenceImages. |
| class GoogleCloudVisionV1p1beta1Product { |
| /// User-provided metadata to be stored with this product. Must be at most |
| /// 4096 characters long. |
| core.String description; |
| |
| /// The user-provided name for this Product. Must not be empty. Must be at |
| /// most 4096 characters long. |
| core.String displayName; |
| |
| /// The resource name of the product. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is |
| /// ignored when creating a product. |
| core.String name; |
| |
| /// Immutable. The category for the product identified by the reference image. |
| /// This should be one of "homegoods-v2", "apparel-v2", "toys-v2", |
| /// "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", |
| /// "apparel", and "toys" are still supported, but these should not be used |
| /// for new products. |
| core.String productCategory; |
| |
| /// Key-value pairs that can be attached to a product. At query time, |
| /// constraints can be specified based on the product_labels. Note that |
| /// integer values can be provided as strings, e.g. "1199". Only strings with |
| /// integer values can match a range-based restriction which is to be |
| /// supported soon. Multiple values can be assigned to the same key. One |
| /// product may have up to 500 product_labels. Notice that the total number of |
| /// distinct product_labels over all products in one ProductSet cannot exceed |
| /// 1M, otherwise the product search pipeline will refuse to work for that |
| /// ProductSet. |
| core.List<GoogleCloudVisionV1p1beta1ProductKeyValue> productLabels; |
| |
| GoogleCloudVisionV1p1beta1Product(); |
| |
| GoogleCloudVisionV1p1beta1Product.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("productCategory")) { |
| productCategory = _json["productCategory"]; |
| } |
| if (_json.containsKey("productLabels")) { |
| productLabels = (_json["productLabels"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1ProductKeyValue>((value) => |
| new GoogleCloudVisionV1p1beta1ProductKeyValue.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (productCategory != null) { |
| _json["productCategory"] = productCategory; |
| } |
| if (productLabels != null) { |
| _json["productLabels"] = |
| productLabels.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A product label represented as a key-value pair. |
| class GoogleCloudVisionV1p1beta1ProductKeyValue { |
| /// The key of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String key; |
| |
| /// The value of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String value; |
| |
| GoogleCloudVisionV1p1beta1ProductKeyValue(); |
| |
| GoogleCloudVisionV1p1beta1ProductKeyValue.fromJson(core.Map _json) { |
| if (_json.containsKey("key")) { |
| key = _json["key"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (key != null) { |
| _json["key"] = key; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// Results for a product search request. |
| class GoogleCloudVisionV1p1beta1ProductSearchResults { |
| /// Timestamp of the index which provided these results. Products added to the |
| /// product set and products removed from the product set after this time are |
| /// not reflected in the current results. |
| core.String indexTime; |
| |
| /// List of results grouped by products detected in the query image. Each |
| /// entry corresponds to one bounding polygon in the query image, and contains |
| /// the matching products specific to that region. There may be duplicate |
| /// product matches in the union of all the per-product results. |
| core.List<GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult> |
| productGroupedResults; |
| |
| /// List of results, one for each product match. |
| core.List<GoogleCloudVisionV1p1beta1ProductSearchResultsResult> results; |
| |
| GoogleCloudVisionV1p1beta1ProductSearchResults(); |
| |
| GoogleCloudVisionV1p1beta1ProductSearchResults.fromJson(core.Map _json) { |
| if (_json.containsKey("indexTime")) { |
| indexTime = _json["indexTime"]; |
| } |
| if (_json.containsKey("productGroupedResults")) { |
| productGroupedResults = (_json["productGroupedResults"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult>( |
| (value) => |
| new GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult |
| .fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1ProductSearchResultsResult>((value) => |
| new GoogleCloudVisionV1p1beta1ProductSearchResultsResult.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (indexTime != null) { |
| _json["indexTime"] = indexTime; |
| } |
| if (productGroupedResults != null) { |
| _json["productGroupedResults"] = |
| productGroupedResults.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about the products similar to a single product in a query image. |
| class GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult { |
| /// The bounding polygon around the product detected in the query image. |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingPoly; |
| |
| /// List of generic predictions for the object in the bounding box. |
| core.List<GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation> |
| objectAnnotations; |
| |
| /// List of results, one for each product match. |
| core.List<GoogleCloudVisionV1p1beta1ProductSearchResultsResult> results; |
| |
| GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult(); |
| |
| GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("objectAnnotations")) { |
| objectAnnotations = (_json["objectAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation>( |
| (value) => |
| new GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation |
| .fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1ProductSearchResultsResult>((value) => |
| new GoogleCloudVisionV1p1beta1ProductSearchResultsResult.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (objectAnnotations != null) { |
| _json["objectAnnotations"] = |
| objectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Prediction for what the object in the bounding box is. |
| class GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation { |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation(); |
| |
| GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about a product. |
| class GoogleCloudVisionV1p1beta1ProductSearchResultsResult { |
| /// The resource name of the image from the product that is the closest match |
| /// to the query. |
| core.String image; |
| |
| /// The Product. |
| GoogleCloudVisionV1p1beta1Product product; |
| |
| /// A confidence level on the match, ranging from 0 (no confidence) to 1 (full |
| /// confidence). |
| core.double score; |
| |
| GoogleCloudVisionV1p1beta1ProductSearchResultsResult(); |
| |
| GoogleCloudVisionV1p1beta1ProductSearchResultsResult.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("image")) { |
| image = _json["image"]; |
| } |
| if (_json.containsKey("product")) { |
| product = |
| new GoogleCloudVisionV1p1beta1Product.fromJson(_json["product"]); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (image != null) { |
| _json["image"] = image; |
| } |
| if (product != null) { |
| _json["product"] = (product).toJson(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// A `Property` consists of a user-supplied name/value pair. |
| class GoogleCloudVisionV1p1beta1Property { |
| /// Name of the property. |
| core.String name; |
| |
| /// Value of numeric properties. |
| core.String uint64Value; |
| |
| /// Value of the property. |
| core.String value; |
| |
| GoogleCloudVisionV1p1beta1Property(); |
| |
| GoogleCloudVisionV1p1beta1Property.fromJson(core.Map _json) { |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("uint64Value")) { |
| uint64Value = _json["uint64Value"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (uint64Value != null) { |
| _json["uint64Value"] = uint64Value; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of features pertaining to the image, computed by computer vision methods |
| /// over safe-search verticals (for example, adult, spoof, medical, violence). |
| class GoogleCloudVisionV1p1beta1SafeSearchAnnotation { |
| /// Represents the adult content likelihood for the image. Adult content may |
| /// contain elements such as nudity, pornographic images or cartoons, or |
| /// sexual activities. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String adult; |
| |
| /// Likelihood that this is a medical image. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String medical; |
| |
| /// Likelihood that the request image contains racy content. Racy content may |
| /// include (but is not limited to) skimpy or sheer clothing, strategically |
| /// covered nudity, lewd or provocative poses, or close-ups of sensitive body |
| /// areas. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String racy; |
| |
| /// Spoof likelihood. The likelihood that an modification was made to the |
| /// image's canonical version to make it appear funny or offensive. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String spoof; |
| |
| /// Likelihood that this image contains violent content. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String violence; |
| |
| GoogleCloudVisionV1p1beta1SafeSearchAnnotation(); |
| |
| GoogleCloudVisionV1p1beta1SafeSearchAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("adult")) { |
| adult = _json["adult"]; |
| } |
| if (_json.containsKey("medical")) { |
| medical = _json["medical"]; |
| } |
| if (_json.containsKey("racy")) { |
| racy = _json["racy"]; |
| } |
| if (_json.containsKey("spoof")) { |
| spoof = _json["spoof"]; |
| } |
| if (_json.containsKey("violence")) { |
| violence = _json["violence"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (adult != null) { |
| _json["adult"] = adult; |
| } |
| if (medical != null) { |
| _json["medical"] = medical; |
| } |
| if (racy != null) { |
| _json["racy"] = racy; |
| } |
| if (spoof != null) { |
| _json["spoof"] = spoof; |
| } |
| if (violence != null) { |
| _json["violence"] = violence; |
| } |
| return _json; |
| } |
| } |
| |
| /// A single symbol representation. |
| class GoogleCloudVisionV1p1beta1Symbol { |
| /// The bounding box for the symbol. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the symbol. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the symbol. |
| GoogleCloudVisionV1p1beta1TextAnnotationTextProperty property; |
| |
| /// The actual UTF-8 representation of the symbol. |
| core.String text; |
| |
| GoogleCloudVisionV1p1beta1Symbol(); |
| |
| GoogleCloudVisionV1p1beta1Symbol.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p1beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// TextAnnotation contains a structured representation of OCR extracted text. |
| /// The hierarchy of an OCR extracted text structure is like this: |
| /// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Each |
| /// structural component, starting from Page, may further have their own |
| /// properties. Properties describe detected languages, breaks etc.. Please |
| /// refer to the TextAnnotation.TextProperty message definition below for more |
| /// detail. |
| class GoogleCloudVisionV1p1beta1TextAnnotation { |
| /// List of pages detected by OCR. |
| core.List<GoogleCloudVisionV1p1beta1Page> pages; |
| |
| /// UTF-8 text detected on the pages. |
| core.String text; |
| |
| GoogleCloudVisionV1p1beta1TextAnnotation(); |
| |
| GoogleCloudVisionV1p1beta1TextAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("pages")) { |
| pages = (_json["pages"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1Page>( |
| (value) => new GoogleCloudVisionV1p1beta1Page.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pages != null) { |
| _json["pages"] = pages.map((value) => (value).toJson()).toList(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected start or end of a structural component. |
| class GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak { |
| /// True if break prepends the element. |
| core.bool isPrefix; |
| |
| /// Detected break type. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown break label type. |
| /// - "SPACE" : Regular space. |
| /// - "SURE_SPACE" : Sure space (very wide). |
| /// - "EOL_SURE_SPACE" : Line-wrapping break. |
| /// - "HYPHEN" : End-line hyphen that is not present in text; does not |
| /// co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. |
| /// - "LINE_BREAK" : Line break that ends a paragraph. |
| core.String type; |
| |
| GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak(); |
| |
| GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("isPrefix")) { |
| isPrefix = _json["isPrefix"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (isPrefix != null) { |
| _json["isPrefix"] = isPrefix; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected language for a structural component. |
| class GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage { |
| /// Confidence of detected language. Range [0, 1]. |
| core.double confidence; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage(); |
| |
| GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Additional information detected on the structural component. |
| class GoogleCloudVisionV1p1beta1TextAnnotationTextProperty { |
| /// Detected start or end of a text segment. |
| GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak detectedBreak; |
| |
| /// A list of detected languages together with confidence. |
| core.List<GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage> |
| detectedLanguages; |
| |
| GoogleCloudVisionV1p1beta1TextAnnotationTextProperty(); |
| |
| GoogleCloudVisionV1p1beta1TextAnnotationTextProperty.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("detectedBreak")) { |
| detectedBreak = |
| new GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak.fromJson( |
| _json["detectedBreak"]); |
| } |
| if (_json.containsKey("detectedLanguages")) { |
| detectedLanguages = (_json["detectedLanguages"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage>( |
| (value) => |
| new GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage |
| .fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (detectedBreak != null) { |
| _json["detectedBreak"] = (detectedBreak).toJson(); |
| } |
| if (detectedLanguages != null) { |
| _json["detectedLanguages"] = |
| detectedLanguages.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the vertex coordinates |
| /// are in the same scale as the original image. |
| class GoogleCloudVisionV1p1beta1Vertex { |
| /// X coordinate. |
| core.int x; |
| |
| /// Y coordinate. |
| core.int y; |
| |
| GoogleCloudVisionV1p1beta1Vertex(); |
| |
| GoogleCloudVisionV1p1beta1Vertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"]; |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Relevant information for the image from the Internet. |
| class GoogleCloudVisionV1p1beta1WebDetection { |
| /// The service's best guess as to the topic of the request image. Inferred |
| /// from similar images on the open web. |
| core.List<GoogleCloudVisionV1p1beta1WebDetectionWebLabel> bestGuessLabels; |
| |
| /// Fully matching images from the Internet. Can include resized copies of the |
| /// query image. |
| core.List<GoogleCloudVisionV1p1beta1WebDetectionWebImage> fullMatchingImages; |
| |
| /// Web pages containing the matching images from the Internet. |
| core.List<GoogleCloudVisionV1p1beta1WebDetectionWebPage> |
| pagesWithMatchingImages; |
| |
| /// Partial matching images from the Internet. Those images are similar enough |
| /// to share some key-point features. For example an original image will |
| /// likely have partial matching for its crops. |
| core.List<GoogleCloudVisionV1p1beta1WebDetectionWebImage> |
| partialMatchingImages; |
| |
| /// The visually similar image results. |
| core.List<GoogleCloudVisionV1p1beta1WebDetectionWebImage> |
| visuallySimilarImages; |
| |
| /// Deduced entities from similar images on the Internet. |
| core.List<GoogleCloudVisionV1p1beta1WebDetectionWebEntity> webEntities; |
| |
| GoogleCloudVisionV1p1beta1WebDetection(); |
| |
| GoogleCloudVisionV1p1beta1WebDetection.fromJson(core.Map _json) { |
| if (_json.containsKey("bestGuessLabels")) { |
| bestGuessLabels = (_json["bestGuessLabels"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1WebDetectionWebLabel>((value) => |
| new GoogleCloudVisionV1p1beta1WebDetectionWebLabel.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p1beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("pagesWithMatchingImages")) { |
| pagesWithMatchingImages = (_json["pagesWithMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1WebDetectionWebPage>((value) => |
| new GoogleCloudVisionV1p1beta1WebDetectionWebPage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p1beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("visuallySimilarImages")) { |
| visuallySimilarImages = (_json["visuallySimilarImages"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p1beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("webEntities")) { |
| webEntities = (_json["webEntities"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1WebDetectionWebEntity>((value) => |
| new GoogleCloudVisionV1p1beta1WebDetectionWebEntity.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (bestGuessLabels != null) { |
| _json["bestGuessLabels"] = |
| bestGuessLabels.map((value) => (value).toJson()).toList(); |
| } |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pagesWithMatchingImages != null) { |
| _json["pagesWithMatchingImages"] = |
| pagesWithMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (visuallySimilarImages != null) { |
| _json["visuallySimilarImages"] = |
| visuallySimilarImages.map((value) => (value).toJson()).toList(); |
| } |
| if (webEntities != null) { |
| _json["webEntities"] = |
| webEntities.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Entity deduced from similar images on the Internet. |
| class GoogleCloudVisionV1p1beta1WebDetectionWebEntity { |
| /// Canonical description of the entity, in English. |
| core.String description; |
| |
| /// Opaque entity ID. |
| core.String entityId; |
| |
| /// Overall relevancy score for the entity. Not normalized and not comparable |
| /// across different image queries. |
| core.double score; |
| |
| GoogleCloudVisionV1p1beta1WebDetectionWebEntity(); |
| |
| GoogleCloudVisionV1p1beta1WebDetectionWebEntity.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("entityId")) { |
| entityId = _json["entityId"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (entityId != null) { |
| _json["entityId"] = entityId; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for online images. |
| class GoogleCloudVisionV1p1beta1WebDetectionWebImage { |
| /// (Deprecated) Overall relevancy score for the image. |
| core.double score; |
| |
| /// The result image URL. |
| core.String url; |
| |
| GoogleCloudVisionV1p1beta1WebDetectionWebImage(); |
| |
| GoogleCloudVisionV1p1beta1WebDetectionWebImage.fromJson(core.Map _json) { |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// Label to provide extra metadata for the web detection. |
| class GoogleCloudVisionV1p1beta1WebDetectionWebLabel { |
| /// Label for extra metadata. |
| core.String label; |
| |
| /// The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". For |
| /// more information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| GoogleCloudVisionV1p1beta1WebDetectionWebLabel(); |
| |
| GoogleCloudVisionV1p1beta1WebDetectionWebLabel.fromJson(core.Map _json) { |
| if (_json.containsKey("label")) { |
| label = _json["label"]; |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (label != null) { |
| _json["label"] = label; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for web pages. |
| class GoogleCloudVisionV1p1beta1WebDetectionWebPage { |
| /// Fully matching images on the page. Can include resized copies of the query |
| /// image. |
| core.List<GoogleCloudVisionV1p1beta1WebDetectionWebImage> fullMatchingImages; |
| |
| /// Title for the web page, may contain HTML markups. |
| core.String pageTitle; |
| |
| /// Partial matching images on the page. Those images are similar enough to |
| /// share some key-point features. For example an original image will likely |
| /// have partial matching for its crops. |
| core.List<GoogleCloudVisionV1p1beta1WebDetectionWebImage> |
| partialMatchingImages; |
| |
| /// (Deprecated) Overall relevancy score for the web page. |
| core.double score; |
| |
| /// The result web page URL. |
| core.String url; |
| |
| GoogleCloudVisionV1p1beta1WebDetectionWebPage(); |
| |
| GoogleCloudVisionV1p1beta1WebDetectionWebPage.fromJson(core.Map _json) { |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p1beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("pageTitle")) { |
| pageTitle = _json["pageTitle"]; |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p1beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pageTitle != null) { |
| _json["pageTitle"] = pageTitle; |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// A word representation. |
| class GoogleCloudVisionV1p1beta1Word { |
| /// The bounding box for the word. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p1beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the word. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the word. |
| GoogleCloudVisionV1p1beta1TextAnnotationTextProperty property; |
| |
| /// List of symbols in the word. The order of the symbols follows the natural |
| /// reading order. |
| core.List<GoogleCloudVisionV1p1beta1Symbol> symbols; |
| |
| GoogleCloudVisionV1p1beta1Word(); |
| |
| GoogleCloudVisionV1p1beta1Word.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p1beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p1beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("symbols")) { |
| symbols = (_json["symbols"] as core.List) |
| .map<GoogleCloudVisionV1p1beta1Symbol>( |
| (value) => new GoogleCloudVisionV1p1beta1Symbol.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (symbols != null) { |
| _json["symbols"] = symbols.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to a single file annotation request. A file may contain one or more |
| /// images, which individually have their own responses. |
| class GoogleCloudVisionV1p2beta1AnnotateFileResponse { |
| /// If set, represents the error message for the failed request. The |
| /// `responses` field will not be set in this case. |
| Status error; |
| |
| /// Information about the file for which this response is generated. |
| GoogleCloudVisionV1p2beta1InputConfig inputConfig; |
| |
| /// Individual responses to images found within the file. This field will be |
| /// empty if the `error` field is set. |
| core.List<GoogleCloudVisionV1p2beta1AnnotateImageResponse> responses; |
| |
| /// This field gives the total number of pages in the file. |
| core.int totalPages; |
| |
| GoogleCloudVisionV1p2beta1AnnotateFileResponse(); |
| |
| GoogleCloudVisionV1p2beta1AnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("inputConfig")) { |
| inputConfig = new GoogleCloudVisionV1p2beta1InputConfig.fromJson( |
| _json["inputConfig"]); |
| } |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1AnnotateImageResponse>((value) => |
| new GoogleCloudVisionV1p2beta1AnnotateImageResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("totalPages")) { |
| totalPages = _json["totalPages"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (inputConfig != null) { |
| _json["inputConfig"] = (inputConfig).toJson(); |
| } |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| if (totalPages != null) { |
| _json["totalPages"] = totalPages; |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an image annotation request. |
| class GoogleCloudVisionV1p2beta1AnnotateImageResponse { |
| /// If present, contextual information is needed to understand where this |
| /// image comes from. |
| GoogleCloudVisionV1p2beta1ImageAnnotationContext context; |
| |
| /// If present, crop hints have completed successfully. |
| GoogleCloudVisionV1p2beta1CropHintsAnnotation cropHintsAnnotation; |
| |
| /// If set, represents the error message for the operation. Note that |
| /// filled-in image annotations are guaranteed to be correct, even when |
| /// `error` is set. |
| Status error; |
| |
| /// If present, face detection has completed successfully. |
| core.List<GoogleCloudVisionV1p2beta1FaceAnnotation> faceAnnotations; |
| |
| /// If present, text (OCR) detection or document (OCR) text detection has |
| /// completed successfully. This annotation provides the structural hierarchy |
| /// for the OCR detected text. |
| GoogleCloudVisionV1p2beta1TextAnnotation fullTextAnnotation; |
| |
| /// If present, image properties were extracted successfully. |
| GoogleCloudVisionV1p2beta1ImageProperties imagePropertiesAnnotation; |
| |
| /// If present, label detection has completed successfully. |
| core.List<GoogleCloudVisionV1p2beta1EntityAnnotation> labelAnnotations; |
| |
| /// If present, landmark detection has completed successfully. |
| core.List<GoogleCloudVisionV1p2beta1EntityAnnotation> landmarkAnnotations; |
| |
| /// If present, localized object detection has completed successfully. This |
| /// will be sorted descending by confidence score. |
| core.List<GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation> |
| localizedObjectAnnotations; |
| |
| /// If present, logo detection has completed successfully. |
| core.List<GoogleCloudVisionV1p2beta1EntityAnnotation> logoAnnotations; |
| |
| /// If present, product search has completed successfully. |
| GoogleCloudVisionV1p2beta1ProductSearchResults productSearchResults; |
| |
| /// If present, safe-search annotation has completed successfully. |
| GoogleCloudVisionV1p2beta1SafeSearchAnnotation safeSearchAnnotation; |
| |
| /// If present, text (OCR) detection has completed successfully. |
| core.List<GoogleCloudVisionV1p2beta1EntityAnnotation> textAnnotations; |
| |
| /// If present, web detection has completed successfully. |
| GoogleCloudVisionV1p2beta1WebDetection webDetection; |
| |
| GoogleCloudVisionV1p2beta1AnnotateImageResponse(); |
| |
| GoogleCloudVisionV1p2beta1AnnotateImageResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("context")) { |
| context = new GoogleCloudVisionV1p2beta1ImageAnnotationContext.fromJson( |
| _json["context"]); |
| } |
| if (_json.containsKey("cropHintsAnnotation")) { |
| cropHintsAnnotation = |
| new GoogleCloudVisionV1p2beta1CropHintsAnnotation.fromJson( |
| _json["cropHintsAnnotation"]); |
| } |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("faceAnnotations")) { |
| faceAnnotations = (_json["faceAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1FaceAnnotation>((value) => |
| new GoogleCloudVisionV1p2beta1FaceAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullTextAnnotation")) { |
| fullTextAnnotation = |
| new GoogleCloudVisionV1p2beta1TextAnnotation.fromJson( |
| _json["fullTextAnnotation"]); |
| } |
| if (_json.containsKey("imagePropertiesAnnotation")) { |
| imagePropertiesAnnotation = |
| new GoogleCloudVisionV1p2beta1ImageProperties.fromJson( |
| _json["imagePropertiesAnnotation"]); |
| } |
| if (_json.containsKey("labelAnnotations")) { |
| labelAnnotations = (_json["labelAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p2beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("landmarkAnnotations")) { |
| landmarkAnnotations = (_json["landmarkAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p2beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("localizedObjectAnnotations")) { |
| localizedObjectAnnotations = (_json["localizedObjectAnnotations"] |
| as core.List) |
| .map<GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation>((value) => |
| new GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("logoAnnotations")) { |
| logoAnnotations = (_json["logoAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p2beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("productSearchResults")) { |
| productSearchResults = |
| new GoogleCloudVisionV1p2beta1ProductSearchResults.fromJson( |
| _json["productSearchResults"]); |
| } |
| if (_json.containsKey("safeSearchAnnotation")) { |
| safeSearchAnnotation = |
| new GoogleCloudVisionV1p2beta1SafeSearchAnnotation.fromJson( |
| _json["safeSearchAnnotation"]); |
| } |
| if (_json.containsKey("textAnnotations")) { |
| textAnnotations = (_json["textAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p2beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("webDetection")) { |
| webDetection = new GoogleCloudVisionV1p2beta1WebDetection.fromJson( |
| _json["webDetection"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (context != null) { |
| _json["context"] = (context).toJson(); |
| } |
| if (cropHintsAnnotation != null) { |
| _json["cropHintsAnnotation"] = (cropHintsAnnotation).toJson(); |
| } |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (faceAnnotations != null) { |
| _json["faceAnnotations"] = |
| faceAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (fullTextAnnotation != null) { |
| _json["fullTextAnnotation"] = (fullTextAnnotation).toJson(); |
| } |
| if (imagePropertiesAnnotation != null) { |
| _json["imagePropertiesAnnotation"] = (imagePropertiesAnnotation).toJson(); |
| } |
| if (labelAnnotations != null) { |
| _json["labelAnnotations"] = |
| labelAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (landmarkAnnotations != null) { |
| _json["landmarkAnnotations"] = |
| landmarkAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (localizedObjectAnnotations != null) { |
| _json["localizedObjectAnnotations"] = |
| localizedObjectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (logoAnnotations != null) { |
| _json["logoAnnotations"] = |
| logoAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (productSearchResults != null) { |
| _json["productSearchResults"] = (productSearchResults).toJson(); |
| } |
| if (safeSearchAnnotation != null) { |
| _json["safeSearchAnnotation"] = (safeSearchAnnotation).toJson(); |
| } |
| if (textAnnotations != null) { |
| _json["textAnnotations"] = |
| textAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (webDetection != null) { |
| _json["webDetection"] = (webDetection).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for a single offline file annotation request. |
| class GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse { |
| /// The output location and metadata from AsyncAnnotateFileRequest. |
| GoogleCloudVisionV1p2beta1OutputConfig outputConfig; |
| |
| GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse(); |
| |
| GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new GoogleCloudVisionV1p2beta1OutputConfig.fromJson( |
| _json["outputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an async batch file annotation request. |
| class GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse { |
| /// The list of file annotation responses, one for each request in |
| /// AsyncBatchAnnotateFilesRequest. |
| core.List<GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse> responses; |
| |
| GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse(); |
| |
| GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse>((value) => |
| new GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Logical element on the page. |
| class GoogleCloudVisionV1p2beta1Block { |
| /// Detected block type (text, image etc) for this block. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown block type. |
| /// - "TEXT" : Regular text block. |
| /// - "TABLE" : Table block. |
| /// - "PICTURE" : Image block. |
| /// - "RULER" : Horizontal/vertical line box. |
| /// - "BARCODE" : Barcode block. |
| core.String blockType; |
| |
| /// The bounding box for the block. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results on the block. Range [0, 1]. |
| core.double confidence; |
| |
| /// List of paragraphs in this block (if this blocks is of type text). |
| core.List<GoogleCloudVisionV1p2beta1Paragraph> paragraphs; |
| |
| /// Additional information detected for the block. |
| GoogleCloudVisionV1p2beta1TextAnnotationTextProperty property; |
| |
| GoogleCloudVisionV1p2beta1Block(); |
| |
| GoogleCloudVisionV1p2beta1Block.fromJson(core.Map _json) { |
| if (_json.containsKey("blockType")) { |
| blockType = _json["blockType"]; |
| } |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("paragraphs")) { |
| paragraphs = (_json["paragraphs"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1Paragraph>((value) => |
| new GoogleCloudVisionV1p2beta1Paragraph.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p2beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blockType != null) { |
| _json["blockType"] = blockType; |
| } |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (paragraphs != null) { |
| _json["paragraphs"] = |
| paragraphs.map((value) => (value).toJson()).toList(); |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A bounding polygon for the detected image annotation. |
| class GoogleCloudVisionV1p2beta1BoundingPoly { |
| /// The bounding polygon normalized vertices. |
| core.List<GoogleCloudVisionV1p2beta1NormalizedVertex> normalizedVertices; |
| |
| /// The bounding polygon vertices. |
| core.List<GoogleCloudVisionV1p2beta1Vertex> vertices; |
| |
| GoogleCloudVisionV1p2beta1BoundingPoly(); |
| |
| GoogleCloudVisionV1p2beta1BoundingPoly.fromJson(core.Map _json) { |
| if (_json.containsKey("normalizedVertices")) { |
| normalizedVertices = (_json["normalizedVertices"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1NormalizedVertex>((value) => |
| new GoogleCloudVisionV1p2beta1NormalizedVertex.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("vertices")) { |
| vertices = (_json["vertices"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1Vertex>( |
| (value) => new GoogleCloudVisionV1p2beta1Vertex.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (normalizedVertices != null) { |
| _json["normalizedVertices"] = |
| normalizedVertices.map((value) => (value).toJson()).toList(); |
| } |
| if (vertices != null) { |
| _json["vertices"] = vertices.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Color information consists of RGB channels, score, and the fraction of the |
| /// image that the color occupies in the image. |
| class GoogleCloudVisionV1p2beta1ColorInfo { |
| /// RGB components of the color. |
| Color color; |
| |
| /// The fraction of pixels the color occupies in the image. Value in range [0, |
| /// 1]. |
| core.double pixelFraction; |
| |
| /// Image-specific score for this color. Value in range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p2beta1ColorInfo(); |
| |
| GoogleCloudVisionV1p2beta1ColorInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("color")) { |
| color = new Color.fromJson(_json["color"]); |
| } |
| if (_json.containsKey("pixelFraction")) { |
| pixelFraction = _json["pixelFraction"].toDouble(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (color != null) { |
| _json["color"] = (color).toJson(); |
| } |
| if (pixelFraction != null) { |
| _json["pixelFraction"] = pixelFraction; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Single crop hint that is used to generate a new crop when serving an image. |
| class GoogleCloudVisionV1p2beta1CropHint { |
| /// The bounding polygon for the crop region. The coordinates of the bounding |
| /// box are in the original image's scale. |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingPoly; |
| |
| /// Confidence of this being a salient region. Range [0, 1]. |
| core.double confidence; |
| |
| /// Fraction of importance of this salient region with respect to the original |
| /// image. |
| core.double importanceFraction; |
| |
| GoogleCloudVisionV1p2beta1CropHint(); |
| |
| GoogleCloudVisionV1p2beta1CropHint.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("importanceFraction")) { |
| importanceFraction = _json["importanceFraction"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (importanceFraction != null) { |
| _json["importanceFraction"] = importanceFraction; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of crop hints that are used to generate new crops when serving images. |
| class GoogleCloudVisionV1p2beta1CropHintsAnnotation { |
| /// Crop hint results. |
| core.List<GoogleCloudVisionV1p2beta1CropHint> cropHints; |
| |
| GoogleCloudVisionV1p2beta1CropHintsAnnotation(); |
| |
| GoogleCloudVisionV1p2beta1CropHintsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("cropHints")) { |
| cropHints = (_json["cropHints"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1CropHint>( |
| (value) => new GoogleCloudVisionV1p2beta1CropHint.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (cropHints != null) { |
| _json["cropHints"] = cropHints.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of dominant colors and their corresponding scores. |
| class GoogleCloudVisionV1p2beta1DominantColorsAnnotation { |
| /// RGB color values with their score and pixel fraction. |
| core.List<GoogleCloudVisionV1p2beta1ColorInfo> colors; |
| |
| GoogleCloudVisionV1p2beta1DominantColorsAnnotation(); |
| |
| GoogleCloudVisionV1p2beta1DominantColorsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("colors")) { |
| colors = (_json["colors"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1ColorInfo>((value) => |
| new GoogleCloudVisionV1p2beta1ColorInfo.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (colors != null) { |
| _json["colors"] = colors.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected entity features. |
| class GoogleCloudVisionV1p2beta1EntityAnnotation { |
| /// Image region to which this entity belongs. Not produced for |
| /// `LABEL_DETECTION` features. |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingPoly; |
| |
| /// **Deprecated. Use `score` instead.** The accuracy of the entity detection |
| /// in an image. For example, for an image in which the "Eiffel Tower" entity |
| /// is detected, this field represents the confidence that there is a tower in |
| /// the query image. Range [0, 1]. |
| core.double confidence; |
| |
| /// Entity textual description, expressed in its `locale` language. |
| core.String description; |
| |
| /// The language code for the locale in which the entity textual `description` |
| /// is expressed. |
| core.String locale; |
| |
| /// The location information for the detected entity. Multiple `LocationInfo` |
| /// elements can be present because one location may indicate the location of |
| /// the scene in the image, and another location may indicate the location of |
| /// the place where the image was taken. Location information is usually |
| /// present for landmarks. |
| core.List<GoogleCloudVisionV1p2beta1LocationInfo> locations; |
| |
| /// Opaque entity ID. Some IDs may be available in [Google Knowledge Graph |
| /// Search API](https://developers.google.com/knowledge-graph/). |
| core.String mid; |
| |
| /// Some entities may have optional user-supplied `Property` (name/value) |
| /// fields, such a score or string that qualifies the entity. |
| core.List<GoogleCloudVisionV1p2beta1Property> properties; |
| |
| /// Overall score of the result. Range [0, 1]. |
| core.double score; |
| |
| /// The relevancy of the ICA (Image Content Annotation) label to the image. |
| /// For example, the relevancy of "tower" is likely higher to an image |
| /// containing the detected "Eiffel Tower" than to an image containing a |
| /// detected distant towering building, even though the confidence that there |
| /// is a tower in each image may be the same. Range [0, 1]. |
| core.double topicality; |
| |
| GoogleCloudVisionV1p2beta1EntityAnnotation(); |
| |
| GoogleCloudVisionV1p2beta1EntityAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("locale")) { |
| locale = _json["locale"]; |
| } |
| if (_json.containsKey("locations")) { |
| locations = (_json["locations"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1LocationInfo>((value) => |
| new GoogleCloudVisionV1p2beta1LocationInfo.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("properties")) { |
| properties = (_json["properties"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1Property>( |
| (value) => new GoogleCloudVisionV1p2beta1Property.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("topicality")) { |
| topicality = _json["topicality"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (locale != null) { |
| _json["locale"] = locale; |
| } |
| if (locations != null) { |
| _json["locations"] = locations.map((value) => (value).toJson()).toList(); |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (properties != null) { |
| _json["properties"] = |
| properties.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (topicality != null) { |
| _json["topicality"] = topicality; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face annotation object contains the results of face detection. |
| class GoogleCloudVisionV1p2beta1FaceAnnotation { |
| /// Anger likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String angerLikelihood; |
| |
| /// Blurred likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String blurredLikelihood; |
| |
| /// The bounding polygon around the face. The coordinates of the bounding box |
| /// are in the original image's scale. The bounding box is computed to "frame" |
| /// the face in accordance with human expectations. It is based on the |
| /// landmarker results. Note that one or more x and/or y coordinates may not |
| /// be generated in the `BoundingPoly` (the polygon will be unbounded) if only |
| /// a partial face appears in the image to be annotated. |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingPoly; |
| |
| /// Detection confidence. Range [0, 1]. |
| core.double detectionConfidence; |
| |
| /// The `fd_bounding_poly` bounding polygon is tighter than the |
| /// `boundingPoly`, and encloses only the skin part of the face. Typically, it |
| /// is used to eliminate the face from any image analysis that detects the |
| /// "amount of skin" visible in an image. It is not based on the landmarker |
| /// results, only on the initial face detection, hence the fd (face detection) |
| /// prefix. |
| GoogleCloudVisionV1p2beta1BoundingPoly fdBoundingPoly; |
| |
| /// Headwear likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String headwearLikelihood; |
| |
| /// Joy likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String joyLikelihood; |
| |
| /// Face landmarking confidence. Range [0, 1]. |
| core.double landmarkingConfidence; |
| |
| /// Detected face landmarks. |
| core.List<GoogleCloudVisionV1p2beta1FaceAnnotationLandmark> landmarks; |
| |
| /// Yaw angle, which indicates the leftward/rightward angle that the face is |
| /// pointing relative to the vertical plane perpendicular to the image. Range |
| /// [-180,180]. |
| core.double panAngle; |
| |
| /// Roll angle, which indicates the amount of clockwise/anti-clockwise |
| /// rotation of the face relative to the image vertical about the axis |
| /// perpendicular to the face. Range [-180,180]. |
| core.double rollAngle; |
| |
| /// Sorrow likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String sorrowLikelihood; |
| |
| /// Surprise likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String surpriseLikelihood; |
| |
| /// Pitch angle, which indicates the upwards/downwards angle that the face is |
| /// pointing relative to the image's horizontal plane. Range [-180,180]. |
| core.double tiltAngle; |
| |
| /// Under-exposed likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String underExposedLikelihood; |
| |
| GoogleCloudVisionV1p2beta1FaceAnnotation(); |
| |
| GoogleCloudVisionV1p2beta1FaceAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("angerLikelihood")) { |
| angerLikelihood = _json["angerLikelihood"]; |
| } |
| if (_json.containsKey("blurredLikelihood")) { |
| blurredLikelihood = _json["blurredLikelihood"]; |
| } |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("detectionConfidence")) { |
| detectionConfidence = _json["detectionConfidence"].toDouble(); |
| } |
| if (_json.containsKey("fdBoundingPoly")) { |
| fdBoundingPoly = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["fdBoundingPoly"]); |
| } |
| if (_json.containsKey("headwearLikelihood")) { |
| headwearLikelihood = _json["headwearLikelihood"]; |
| } |
| if (_json.containsKey("joyLikelihood")) { |
| joyLikelihood = _json["joyLikelihood"]; |
| } |
| if (_json.containsKey("landmarkingConfidence")) { |
| landmarkingConfidence = _json["landmarkingConfidence"].toDouble(); |
| } |
| if (_json.containsKey("landmarks")) { |
| landmarks = (_json["landmarks"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1FaceAnnotationLandmark>((value) => |
| new GoogleCloudVisionV1p2beta1FaceAnnotationLandmark.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("panAngle")) { |
| panAngle = _json["panAngle"].toDouble(); |
| } |
| if (_json.containsKey("rollAngle")) { |
| rollAngle = _json["rollAngle"].toDouble(); |
| } |
| if (_json.containsKey("sorrowLikelihood")) { |
| sorrowLikelihood = _json["sorrowLikelihood"]; |
| } |
| if (_json.containsKey("surpriseLikelihood")) { |
| surpriseLikelihood = _json["surpriseLikelihood"]; |
| } |
| if (_json.containsKey("tiltAngle")) { |
| tiltAngle = _json["tiltAngle"].toDouble(); |
| } |
| if (_json.containsKey("underExposedLikelihood")) { |
| underExposedLikelihood = _json["underExposedLikelihood"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (angerLikelihood != null) { |
| _json["angerLikelihood"] = angerLikelihood; |
| } |
| if (blurredLikelihood != null) { |
| _json["blurredLikelihood"] = blurredLikelihood; |
| } |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (detectionConfidence != null) { |
| _json["detectionConfidence"] = detectionConfidence; |
| } |
| if (fdBoundingPoly != null) { |
| _json["fdBoundingPoly"] = (fdBoundingPoly).toJson(); |
| } |
| if (headwearLikelihood != null) { |
| _json["headwearLikelihood"] = headwearLikelihood; |
| } |
| if (joyLikelihood != null) { |
| _json["joyLikelihood"] = joyLikelihood; |
| } |
| if (landmarkingConfidence != null) { |
| _json["landmarkingConfidence"] = landmarkingConfidence; |
| } |
| if (landmarks != null) { |
| _json["landmarks"] = landmarks.map((value) => (value).toJson()).toList(); |
| } |
| if (panAngle != null) { |
| _json["panAngle"] = panAngle; |
| } |
| if (rollAngle != null) { |
| _json["rollAngle"] = rollAngle; |
| } |
| if (sorrowLikelihood != null) { |
| _json["sorrowLikelihood"] = sorrowLikelihood; |
| } |
| if (surpriseLikelihood != null) { |
| _json["surpriseLikelihood"] = surpriseLikelihood; |
| } |
| if (tiltAngle != null) { |
| _json["tiltAngle"] = tiltAngle; |
| } |
| if (underExposedLikelihood != null) { |
| _json["underExposedLikelihood"] = underExposedLikelihood; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face-specific landmark (for example, a face feature). |
| class GoogleCloudVisionV1p2beta1FaceAnnotationLandmark { |
| /// Face landmark position. |
| GoogleCloudVisionV1p2beta1Position position; |
| |
| /// Face landmark type. |
| /// Possible string values are: |
| /// - "UNKNOWN_LANDMARK" : Unknown face landmark detected. Should not be |
| /// filled. |
| /// - "LEFT_EYE" : Left eye. |
| /// - "RIGHT_EYE" : Right eye. |
| /// - "LEFT_OF_LEFT_EYEBROW" : Left of left eyebrow. |
| /// - "RIGHT_OF_LEFT_EYEBROW" : Right of left eyebrow. |
| /// - "LEFT_OF_RIGHT_EYEBROW" : Left of right eyebrow. |
| /// - "RIGHT_OF_RIGHT_EYEBROW" : Right of right eyebrow. |
| /// - "MIDPOINT_BETWEEN_EYES" : Midpoint between eyes. |
| /// - "NOSE_TIP" : Nose tip. |
| /// - "UPPER_LIP" : Upper lip. |
| /// - "LOWER_LIP" : Lower lip. |
| /// - "MOUTH_LEFT" : Mouth left. |
| /// - "MOUTH_RIGHT" : Mouth right. |
| /// - "MOUTH_CENTER" : Mouth center. |
| /// - "NOSE_BOTTOM_RIGHT" : Nose, bottom right. |
| /// - "NOSE_BOTTOM_LEFT" : Nose, bottom left. |
| /// - "NOSE_BOTTOM_CENTER" : Nose, bottom center. |
| /// - "LEFT_EYE_TOP_BOUNDARY" : Left eye, top boundary. |
| /// - "LEFT_EYE_RIGHT_CORNER" : Left eye, right corner. |
| /// - "LEFT_EYE_BOTTOM_BOUNDARY" : Left eye, bottom boundary. |
| /// - "LEFT_EYE_LEFT_CORNER" : Left eye, left corner. |
| /// - "RIGHT_EYE_TOP_BOUNDARY" : Right eye, top boundary. |
| /// - "RIGHT_EYE_RIGHT_CORNER" : Right eye, right corner. |
| /// - "RIGHT_EYE_BOTTOM_BOUNDARY" : Right eye, bottom boundary. |
| /// - "RIGHT_EYE_LEFT_CORNER" : Right eye, left corner. |
| /// - "LEFT_EYEBROW_UPPER_MIDPOINT" : Left eyebrow, upper midpoint. |
| /// - "RIGHT_EYEBROW_UPPER_MIDPOINT" : Right eyebrow, upper midpoint. |
| /// - "LEFT_EAR_TRAGION" : Left ear tragion. |
| /// - "RIGHT_EAR_TRAGION" : Right ear tragion. |
| /// - "LEFT_EYE_PUPIL" : Left eye pupil. |
| /// - "RIGHT_EYE_PUPIL" : Right eye pupil. |
| /// - "FOREHEAD_GLABELLA" : Forehead glabella. |
| /// - "CHIN_GNATHION" : Chin gnathion. |
| /// - "CHIN_LEFT_GONION" : Chin left gonion. |
| /// - "CHIN_RIGHT_GONION" : Chin right gonion. |
| /// - "LEFT_CHEEK_CENTER" : Left cheek center. |
| /// - "RIGHT_CHEEK_CENTER" : Right cheek center. |
| core.String type; |
| |
| GoogleCloudVisionV1p2beta1FaceAnnotationLandmark(); |
| |
| GoogleCloudVisionV1p2beta1FaceAnnotationLandmark.fromJson(core.Map _json) { |
| if (_json.containsKey("position")) { |
| position = |
| new GoogleCloudVisionV1p2beta1Position.fromJson(_json["position"]); |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (position != null) { |
| _json["position"] = (position).toJson(); |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the output will be written to. |
| class GoogleCloudVisionV1p2beta1GcsDestination { |
| /// Google Cloud Storage URI prefix where the results will be stored. Results |
| /// will be in JSON format and preceded by its corresponding input URI prefix. |
| /// This field can either represent a gcs file prefix or gcs directory. In |
| /// either case, the uri should be unique because in order to get all of the |
| /// output files, you will need to do a wildcard gcs search on the uri prefix |
| /// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix |
| /// The output files will be created in gs://bucket-name/here/ and the names |
| /// of the output files will begin with "filenameprefix". * Directory Prefix: |
| /// gs://bucket-name/some/location/ The output files will be created in |
| /// gs://bucket-name/some/location/ and the names of the output files could be |
| /// anything because there was no filename prefix specified. If multiple |
| /// outputs, each response is still AnnotateFileResponse, each of which |
| /// contains some subset of the full list of AnnotateImageResponse. Multiple |
| /// outputs can happen if, for example, the output JSON is too large and |
| /// overflows into multiple sharded files. |
| core.String uri; |
| |
| GoogleCloudVisionV1p2beta1GcsDestination(); |
| |
| GoogleCloudVisionV1p2beta1GcsDestination.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the input will be read from. |
| class GoogleCloudVisionV1p2beta1GcsSource { |
| /// Google Cloud Storage URI for the input file. This must only be a Google |
| /// Cloud Storage object. Wildcards are not currently supported. |
| core.String uri; |
| |
| GoogleCloudVisionV1p2beta1GcsSource(); |
| |
| GoogleCloudVisionV1p2beta1GcsSource.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// If an image was produced from a file (e.g. a PDF), this message gives |
| /// information about the source of that image. |
| class GoogleCloudVisionV1p2beta1ImageAnnotationContext { |
| /// If the file was a PDF or TIFF, this field gives the page number within the |
| /// file used to produce the image. |
| core.int pageNumber; |
| |
| /// The URI of the file used to produce the image. |
| core.String uri; |
| |
| GoogleCloudVisionV1p2beta1ImageAnnotationContext(); |
| |
| GoogleCloudVisionV1p2beta1ImageAnnotationContext.fromJson(core.Map _json) { |
| if (_json.containsKey("pageNumber")) { |
| pageNumber = _json["pageNumber"]; |
| } |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pageNumber != null) { |
| _json["pageNumber"] = pageNumber; |
| } |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Stores image properties, such as dominant colors. |
| class GoogleCloudVisionV1p2beta1ImageProperties { |
| /// If present, dominant colors completed successfully. |
| GoogleCloudVisionV1p2beta1DominantColorsAnnotation dominantColors; |
| |
| GoogleCloudVisionV1p2beta1ImageProperties(); |
| |
| GoogleCloudVisionV1p2beta1ImageProperties.fromJson(core.Map _json) { |
| if (_json.containsKey("dominantColors")) { |
| dominantColors = |
| new GoogleCloudVisionV1p2beta1DominantColorsAnnotation.fromJson( |
| _json["dominantColors"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (dominantColors != null) { |
| _json["dominantColors"] = (dominantColors).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired input location and metadata. |
| class GoogleCloudVisionV1p2beta1InputConfig { |
| /// File content, represented as a stream of bytes. Note: As with all `bytes` |
| /// fields, protobuffers use a pure binary representation, whereas JSON |
| /// representations use base64. Currently, this field only works for |
| /// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles |
| /// requests. |
| core.String content; |
| core.List<core.int> get contentAsBytes { |
| return convert.base64.decode(content); |
| } |
| |
| set contentAsBytes(core.List<core.int> _bytes) { |
| content = |
| convert.base64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// The Google Cloud Storage location to read the input from. |
| GoogleCloudVisionV1p2beta1GcsSource gcsSource; |
| |
| /// The type of the file. Currently only "application/pdf", "image/tiff" and |
| /// "image/gif" are supported. Wildcards are not supported. |
| core.String mimeType; |
| |
| GoogleCloudVisionV1p2beta1InputConfig(); |
| |
| GoogleCloudVisionV1p2beta1InputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("content")) { |
| content = _json["content"]; |
| } |
| if (_json.containsKey("gcsSource")) { |
| gcsSource = |
| new GoogleCloudVisionV1p2beta1GcsSource.fromJson(_json["gcsSource"]); |
| } |
| if (_json.containsKey("mimeType")) { |
| mimeType = _json["mimeType"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (content != null) { |
| _json["content"] = content; |
| } |
| if (gcsSource != null) { |
| _json["gcsSource"] = (gcsSource).toJson(); |
| } |
| if (mimeType != null) { |
| _json["mimeType"] = mimeType; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected objects with bounding boxes. |
| class GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation { |
| /// Image region to which this object belongs. This must be populated. |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingPoly; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation(); |
| |
| GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected entity location information. |
| class GoogleCloudVisionV1p2beta1LocationInfo { |
| /// lat/long location coordinates. |
| LatLng latLng; |
| |
| GoogleCloudVisionV1p2beta1LocationInfo(); |
| |
| GoogleCloudVisionV1p2beta1LocationInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("latLng")) { |
| latLng = new LatLng.fromJson(_json["latLng"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (latLng != null) { |
| _json["latLng"] = (latLng).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the normalized vertex |
| /// coordinates are relative to the original image and range from 0 to 1. |
| class GoogleCloudVisionV1p2beta1NormalizedVertex { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| GoogleCloudVisionV1p2beta1NormalizedVertex(); |
| |
| GoogleCloudVisionV1p2beta1NormalizedVertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Contains metadata for the BatchAnnotateImages operation. |
| class GoogleCloudVisionV1p2beta1OperationMetadata { |
| /// The time when the batch request was received. |
| core.String createTime; |
| |
| /// Current state of the batch operation. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Invalid. |
| /// - "CREATED" : Request is received. |
| /// - "RUNNING" : Request is actively being processed. |
| /// - "DONE" : The batch processing is done. |
| /// - "CANCELLED" : The batch processing was cancelled. |
| core.String state; |
| |
| /// The time when the operation result was last updated. |
| core.String updateTime; |
| |
| GoogleCloudVisionV1p2beta1OperationMetadata(); |
| |
| GoogleCloudVisionV1p2beta1OperationMetadata.fromJson(core.Map _json) { |
| if (_json.containsKey("createTime")) { |
| createTime = _json["createTime"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| if (_json.containsKey("updateTime")) { |
| updateTime = _json["updateTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (createTime != null) { |
| _json["createTime"] = createTime; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| if (updateTime != null) { |
| _json["updateTime"] = updateTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired output location and metadata. |
| class GoogleCloudVisionV1p2beta1OutputConfig { |
| /// The max number of response protos to put into each output JSON file on |
| /// Google Cloud Storage. The valid range is [1, 100]. If not specified, the |
| /// default value is 20. For example, for one pdf file with 100 pages, 100 |
| /// response protos will be generated. If `batch_size` = 20, then 5 json files |
| /// each containing 20 response protos will be written under the prefix |
| /// `gcs_destination`.`uri`. Currently, batch_size only applies to |
| /// GcsDestination, with potential future support for other output |
| /// configurations. |
| core.int batchSize; |
| |
| /// The Google Cloud Storage location to write the output(s) to. |
| GoogleCloudVisionV1p2beta1GcsDestination gcsDestination; |
| |
| GoogleCloudVisionV1p2beta1OutputConfig(); |
| |
| GoogleCloudVisionV1p2beta1OutputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("batchSize")) { |
| batchSize = _json["batchSize"]; |
| } |
| if (_json.containsKey("gcsDestination")) { |
| gcsDestination = new GoogleCloudVisionV1p2beta1GcsDestination.fromJson( |
| _json["gcsDestination"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (batchSize != null) { |
| _json["batchSize"] = batchSize; |
| } |
| if (gcsDestination != null) { |
| _json["gcsDestination"] = (gcsDestination).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected page from OCR. |
| class GoogleCloudVisionV1p2beta1Page { |
| /// List of blocks of text, images etc on this page. |
| core.List<GoogleCloudVisionV1p2beta1Block> blocks; |
| |
| /// Confidence of the OCR results on the page. Range [0, 1]. |
| core.double confidence; |
| |
| /// Page height. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int height; |
| |
| /// Additional information detected on the page. |
| GoogleCloudVisionV1p2beta1TextAnnotationTextProperty property; |
| |
| /// Page width. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int width; |
| |
| GoogleCloudVisionV1p2beta1Page(); |
| |
| GoogleCloudVisionV1p2beta1Page.fromJson(core.Map _json) { |
| if (_json.containsKey("blocks")) { |
| blocks = (_json["blocks"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1Block>( |
| (value) => new GoogleCloudVisionV1p2beta1Block.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("height")) { |
| height = _json["height"]; |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p2beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("width")) { |
| width = _json["width"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blocks != null) { |
| _json["blocks"] = blocks.map((value) => (value).toJson()).toList(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (height != null) { |
| _json["height"] = height; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (width != null) { |
| _json["width"] = width; |
| } |
| return _json; |
| } |
| } |
| |
| /// Structural unit of text representing a number of words in certain order. |
| class GoogleCloudVisionV1p2beta1Paragraph { |
| /// The bounding box for the paragraph. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the paragraph. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the paragraph. |
| GoogleCloudVisionV1p2beta1TextAnnotationTextProperty property; |
| |
| /// List of all words in this paragraph. |
| core.List<GoogleCloudVisionV1p2beta1Word> words; |
| |
| GoogleCloudVisionV1p2beta1Paragraph(); |
| |
| GoogleCloudVisionV1p2beta1Paragraph.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p2beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("words")) { |
| words = (_json["words"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1Word>( |
| (value) => new GoogleCloudVisionV1p2beta1Word.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (words != null) { |
| _json["words"] = words.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A 3D position in the image, used primarily for Face detection landmarks. A |
| /// valid Position must have both x and y coordinates. The position coordinates |
| /// are in the same scale as the original image. |
| class GoogleCloudVisionV1p2beta1Position { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| /// Z coordinate (or depth). |
| core.double z; |
| |
| GoogleCloudVisionV1p2beta1Position(); |
| |
| GoogleCloudVisionV1p2beta1Position.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| if (_json.containsKey("z")) { |
| z = _json["z"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| if (z != null) { |
| _json["z"] = z; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Product contains ReferenceImages. |
| class GoogleCloudVisionV1p2beta1Product { |
| /// User-provided metadata to be stored with this product. Must be at most |
| /// 4096 characters long. |
| core.String description; |
| |
| /// The user-provided name for this Product. Must not be empty. Must be at |
| /// most 4096 characters long. |
| core.String displayName; |
| |
| /// The resource name of the product. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is |
| /// ignored when creating a product. |
| core.String name; |
| |
| /// Immutable. The category for the product identified by the reference image. |
| /// This should be one of "homegoods-v2", "apparel-v2", "toys-v2", |
| /// "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", |
| /// "apparel", and "toys" are still supported, but these should not be used |
| /// for new products. |
| core.String productCategory; |
| |
| /// Key-value pairs that can be attached to a product. At query time, |
| /// constraints can be specified based on the product_labels. Note that |
| /// integer values can be provided as strings, e.g. "1199". Only strings with |
| /// integer values can match a range-based restriction which is to be |
| /// supported soon. Multiple values can be assigned to the same key. One |
| /// product may have up to 500 product_labels. Notice that the total number of |
| /// distinct product_labels over all products in one ProductSet cannot exceed |
| /// 1M, otherwise the product search pipeline will refuse to work for that |
| /// ProductSet. |
| core.List<GoogleCloudVisionV1p2beta1ProductKeyValue> productLabels; |
| |
| GoogleCloudVisionV1p2beta1Product(); |
| |
| GoogleCloudVisionV1p2beta1Product.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("productCategory")) { |
| productCategory = _json["productCategory"]; |
| } |
| if (_json.containsKey("productLabels")) { |
| productLabels = (_json["productLabels"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1ProductKeyValue>((value) => |
| new GoogleCloudVisionV1p2beta1ProductKeyValue.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (productCategory != null) { |
| _json["productCategory"] = productCategory; |
| } |
| if (productLabels != null) { |
| _json["productLabels"] = |
| productLabels.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A product label represented as a key-value pair. |
| class GoogleCloudVisionV1p2beta1ProductKeyValue { |
| /// The key of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String key; |
| |
| /// The value of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String value; |
| |
| GoogleCloudVisionV1p2beta1ProductKeyValue(); |
| |
| GoogleCloudVisionV1p2beta1ProductKeyValue.fromJson(core.Map _json) { |
| if (_json.containsKey("key")) { |
| key = _json["key"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (key != null) { |
| _json["key"] = key; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// Results for a product search request. |
| class GoogleCloudVisionV1p2beta1ProductSearchResults { |
| /// Timestamp of the index which provided these results. Products added to the |
| /// product set and products removed from the product set after this time are |
| /// not reflected in the current results. |
| core.String indexTime; |
| |
| /// List of results grouped by products detected in the query image. Each |
| /// entry corresponds to one bounding polygon in the query image, and contains |
| /// the matching products specific to that region. There may be duplicate |
| /// product matches in the union of all the per-product results. |
| core.List<GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult> |
| productGroupedResults; |
| |
| /// List of results, one for each product match. |
| core.List<GoogleCloudVisionV1p2beta1ProductSearchResultsResult> results; |
| |
| GoogleCloudVisionV1p2beta1ProductSearchResults(); |
| |
| GoogleCloudVisionV1p2beta1ProductSearchResults.fromJson(core.Map _json) { |
| if (_json.containsKey("indexTime")) { |
| indexTime = _json["indexTime"]; |
| } |
| if (_json.containsKey("productGroupedResults")) { |
| productGroupedResults = (_json["productGroupedResults"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult>( |
| (value) => |
| new GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult |
| .fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1ProductSearchResultsResult>((value) => |
| new GoogleCloudVisionV1p2beta1ProductSearchResultsResult.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (indexTime != null) { |
| _json["indexTime"] = indexTime; |
| } |
| if (productGroupedResults != null) { |
| _json["productGroupedResults"] = |
| productGroupedResults.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about the products similar to a single product in a query image. |
| class GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult { |
| /// The bounding polygon around the product detected in the query image. |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingPoly; |
| |
| /// List of generic predictions for the object in the bounding box. |
| core.List<GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation> |
| objectAnnotations; |
| |
| /// List of results, one for each product match. |
| core.List<GoogleCloudVisionV1p2beta1ProductSearchResultsResult> results; |
| |
| GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult(); |
| |
| GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("objectAnnotations")) { |
| objectAnnotations = (_json["objectAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation>( |
| (value) => |
| new GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation |
| .fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1ProductSearchResultsResult>((value) => |
| new GoogleCloudVisionV1p2beta1ProductSearchResultsResult.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (objectAnnotations != null) { |
| _json["objectAnnotations"] = |
| objectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Prediction for what the object in the bounding box is. |
| class GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation { |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation(); |
| |
| GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about a product. |
| class GoogleCloudVisionV1p2beta1ProductSearchResultsResult { |
| /// The resource name of the image from the product that is the closest match |
| /// to the query. |
| core.String image; |
| |
| /// The Product. |
| GoogleCloudVisionV1p2beta1Product product; |
| |
| /// A confidence level on the match, ranging from 0 (no confidence) to 1 (full |
| /// confidence). |
| core.double score; |
| |
| GoogleCloudVisionV1p2beta1ProductSearchResultsResult(); |
| |
| GoogleCloudVisionV1p2beta1ProductSearchResultsResult.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("image")) { |
| image = _json["image"]; |
| } |
| if (_json.containsKey("product")) { |
| product = |
| new GoogleCloudVisionV1p2beta1Product.fromJson(_json["product"]); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (image != null) { |
| _json["image"] = image; |
| } |
| if (product != null) { |
| _json["product"] = (product).toJson(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// A `Property` consists of a user-supplied name/value pair. |
| class GoogleCloudVisionV1p2beta1Property { |
| /// Name of the property. |
| core.String name; |
| |
| /// Value of numeric properties. |
| core.String uint64Value; |
| |
| /// Value of the property. |
| core.String value; |
| |
| GoogleCloudVisionV1p2beta1Property(); |
| |
| GoogleCloudVisionV1p2beta1Property.fromJson(core.Map _json) { |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("uint64Value")) { |
| uint64Value = _json["uint64Value"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (uint64Value != null) { |
| _json["uint64Value"] = uint64Value; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of features pertaining to the image, computed by computer vision methods |
| /// over safe-search verticals (for example, adult, spoof, medical, violence). |
| class GoogleCloudVisionV1p2beta1SafeSearchAnnotation { |
| /// Represents the adult content likelihood for the image. Adult content may |
| /// contain elements such as nudity, pornographic images or cartoons, or |
| /// sexual activities. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String adult; |
| |
| /// Likelihood that this is a medical image. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String medical; |
| |
| /// Likelihood that the request image contains racy content. Racy content may |
| /// include (but is not limited to) skimpy or sheer clothing, strategically |
| /// covered nudity, lewd or provocative poses, or close-ups of sensitive body |
| /// areas. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String racy; |
| |
| /// Spoof likelihood. The likelihood that an modification was made to the |
| /// image's canonical version to make it appear funny or offensive. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String spoof; |
| |
| /// Likelihood that this image contains violent content. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String violence; |
| |
| GoogleCloudVisionV1p2beta1SafeSearchAnnotation(); |
| |
| GoogleCloudVisionV1p2beta1SafeSearchAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("adult")) { |
| adult = _json["adult"]; |
| } |
| if (_json.containsKey("medical")) { |
| medical = _json["medical"]; |
| } |
| if (_json.containsKey("racy")) { |
| racy = _json["racy"]; |
| } |
| if (_json.containsKey("spoof")) { |
| spoof = _json["spoof"]; |
| } |
| if (_json.containsKey("violence")) { |
| violence = _json["violence"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (adult != null) { |
| _json["adult"] = adult; |
| } |
| if (medical != null) { |
| _json["medical"] = medical; |
| } |
| if (racy != null) { |
| _json["racy"] = racy; |
| } |
| if (spoof != null) { |
| _json["spoof"] = spoof; |
| } |
| if (violence != null) { |
| _json["violence"] = violence; |
| } |
| return _json; |
| } |
| } |
| |
| /// A single symbol representation. |
| class GoogleCloudVisionV1p2beta1Symbol { |
| /// The bounding box for the symbol. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the symbol. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the symbol. |
| GoogleCloudVisionV1p2beta1TextAnnotationTextProperty property; |
| |
| /// The actual UTF-8 representation of the symbol. |
| core.String text; |
| |
| GoogleCloudVisionV1p2beta1Symbol(); |
| |
| GoogleCloudVisionV1p2beta1Symbol.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p2beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// TextAnnotation contains a structured representation of OCR extracted text. |
| /// The hierarchy of an OCR extracted text structure is like this: |
| /// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Each |
| /// structural component, starting from Page, may further have their own |
| /// properties. Properties describe detected languages, breaks etc.. Please |
| /// refer to the TextAnnotation.TextProperty message definition below for more |
| /// detail. |
| class GoogleCloudVisionV1p2beta1TextAnnotation { |
| /// List of pages detected by OCR. |
| core.List<GoogleCloudVisionV1p2beta1Page> pages; |
| |
| /// UTF-8 text detected on the pages. |
| core.String text; |
| |
| GoogleCloudVisionV1p2beta1TextAnnotation(); |
| |
| GoogleCloudVisionV1p2beta1TextAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("pages")) { |
| pages = (_json["pages"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1Page>( |
| (value) => new GoogleCloudVisionV1p2beta1Page.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pages != null) { |
| _json["pages"] = pages.map((value) => (value).toJson()).toList(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected start or end of a structural component. |
| class GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak { |
| /// True if break prepends the element. |
| core.bool isPrefix; |
| |
| /// Detected break type. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown break label type. |
| /// - "SPACE" : Regular space. |
| /// - "SURE_SPACE" : Sure space (very wide). |
| /// - "EOL_SURE_SPACE" : Line-wrapping break. |
| /// - "HYPHEN" : End-line hyphen that is not present in text; does not |
| /// co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. |
| /// - "LINE_BREAK" : Line break that ends a paragraph. |
| core.String type; |
| |
| GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak(); |
| |
| GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("isPrefix")) { |
| isPrefix = _json["isPrefix"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (isPrefix != null) { |
| _json["isPrefix"] = isPrefix; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected language for a structural component. |
| class GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage { |
| /// Confidence of detected language. Range [0, 1]. |
| core.double confidence; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage(); |
| |
| GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Additional information detected on the structural component. |
| class GoogleCloudVisionV1p2beta1TextAnnotationTextProperty { |
| /// Detected start or end of a text segment. |
| GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak detectedBreak; |
| |
| /// A list of detected languages together with confidence. |
| core.List<GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage> |
| detectedLanguages; |
| |
| GoogleCloudVisionV1p2beta1TextAnnotationTextProperty(); |
| |
| GoogleCloudVisionV1p2beta1TextAnnotationTextProperty.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("detectedBreak")) { |
| detectedBreak = |
| new GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak.fromJson( |
| _json["detectedBreak"]); |
| } |
| if (_json.containsKey("detectedLanguages")) { |
| detectedLanguages = (_json["detectedLanguages"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage>( |
| (value) => |
| new GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage |
| .fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (detectedBreak != null) { |
| _json["detectedBreak"] = (detectedBreak).toJson(); |
| } |
| if (detectedLanguages != null) { |
| _json["detectedLanguages"] = |
| detectedLanguages.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the vertex coordinates |
| /// are in the same scale as the original image. |
| class GoogleCloudVisionV1p2beta1Vertex { |
| /// X coordinate. |
| core.int x; |
| |
| /// Y coordinate. |
| core.int y; |
| |
| GoogleCloudVisionV1p2beta1Vertex(); |
| |
| GoogleCloudVisionV1p2beta1Vertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"]; |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Relevant information for the image from the Internet. |
| class GoogleCloudVisionV1p2beta1WebDetection { |
| /// The service's best guess as to the topic of the request image. Inferred |
| /// from similar images on the open web. |
| core.List<GoogleCloudVisionV1p2beta1WebDetectionWebLabel> bestGuessLabels; |
| |
| /// Fully matching images from the Internet. Can include resized copies of the |
| /// query image. |
| core.List<GoogleCloudVisionV1p2beta1WebDetectionWebImage> fullMatchingImages; |
| |
| /// Web pages containing the matching images from the Internet. |
| core.List<GoogleCloudVisionV1p2beta1WebDetectionWebPage> |
| pagesWithMatchingImages; |
| |
| /// Partial matching images from the Internet. Those images are similar enough |
| /// to share some key-point features. For example an original image will |
| /// likely have partial matching for its crops. |
| core.List<GoogleCloudVisionV1p2beta1WebDetectionWebImage> |
| partialMatchingImages; |
| |
| /// The visually similar image results. |
| core.List<GoogleCloudVisionV1p2beta1WebDetectionWebImage> |
| visuallySimilarImages; |
| |
| /// Deduced entities from similar images on the Internet. |
| core.List<GoogleCloudVisionV1p2beta1WebDetectionWebEntity> webEntities; |
| |
| GoogleCloudVisionV1p2beta1WebDetection(); |
| |
| GoogleCloudVisionV1p2beta1WebDetection.fromJson(core.Map _json) { |
| if (_json.containsKey("bestGuessLabels")) { |
| bestGuessLabels = (_json["bestGuessLabels"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1WebDetectionWebLabel>((value) => |
| new GoogleCloudVisionV1p2beta1WebDetectionWebLabel.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p2beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("pagesWithMatchingImages")) { |
| pagesWithMatchingImages = (_json["pagesWithMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1WebDetectionWebPage>((value) => |
| new GoogleCloudVisionV1p2beta1WebDetectionWebPage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p2beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("visuallySimilarImages")) { |
| visuallySimilarImages = (_json["visuallySimilarImages"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p2beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("webEntities")) { |
| webEntities = (_json["webEntities"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1WebDetectionWebEntity>((value) => |
| new GoogleCloudVisionV1p2beta1WebDetectionWebEntity.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (bestGuessLabels != null) { |
| _json["bestGuessLabels"] = |
| bestGuessLabels.map((value) => (value).toJson()).toList(); |
| } |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pagesWithMatchingImages != null) { |
| _json["pagesWithMatchingImages"] = |
| pagesWithMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (visuallySimilarImages != null) { |
| _json["visuallySimilarImages"] = |
| visuallySimilarImages.map((value) => (value).toJson()).toList(); |
| } |
| if (webEntities != null) { |
| _json["webEntities"] = |
| webEntities.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Entity deduced from similar images on the Internet. |
| class GoogleCloudVisionV1p2beta1WebDetectionWebEntity { |
| /// Canonical description of the entity, in English. |
| core.String description; |
| |
| /// Opaque entity ID. |
| core.String entityId; |
| |
| /// Overall relevancy score for the entity. Not normalized and not comparable |
| /// across different image queries. |
| core.double score; |
| |
| GoogleCloudVisionV1p2beta1WebDetectionWebEntity(); |
| |
| GoogleCloudVisionV1p2beta1WebDetectionWebEntity.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("entityId")) { |
| entityId = _json["entityId"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (entityId != null) { |
| _json["entityId"] = entityId; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for online images. |
| class GoogleCloudVisionV1p2beta1WebDetectionWebImage { |
| /// (Deprecated) Overall relevancy score for the image. |
| core.double score; |
| |
| /// The result image URL. |
| core.String url; |
| |
| GoogleCloudVisionV1p2beta1WebDetectionWebImage(); |
| |
| GoogleCloudVisionV1p2beta1WebDetectionWebImage.fromJson(core.Map _json) { |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// Label to provide extra metadata for the web detection. |
| class GoogleCloudVisionV1p2beta1WebDetectionWebLabel { |
| /// Label for extra metadata. |
| core.String label; |
| |
| /// The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". For |
| /// more information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| GoogleCloudVisionV1p2beta1WebDetectionWebLabel(); |
| |
| GoogleCloudVisionV1p2beta1WebDetectionWebLabel.fromJson(core.Map _json) { |
| if (_json.containsKey("label")) { |
| label = _json["label"]; |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (label != null) { |
| _json["label"] = label; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for web pages. |
| class GoogleCloudVisionV1p2beta1WebDetectionWebPage { |
| /// Fully matching images on the page. Can include resized copies of the query |
| /// image. |
| core.List<GoogleCloudVisionV1p2beta1WebDetectionWebImage> fullMatchingImages; |
| |
| /// Title for the web page, may contain HTML markups. |
| core.String pageTitle; |
| |
| /// Partial matching images on the page. Those images are similar enough to |
| /// share some key-point features. For example an original image will likely |
| /// have partial matching for its crops. |
| core.List<GoogleCloudVisionV1p2beta1WebDetectionWebImage> |
| partialMatchingImages; |
| |
| /// (Deprecated) Overall relevancy score for the web page. |
| core.double score; |
| |
| /// The result web page URL. |
| core.String url; |
| |
| GoogleCloudVisionV1p2beta1WebDetectionWebPage(); |
| |
| GoogleCloudVisionV1p2beta1WebDetectionWebPage.fromJson(core.Map _json) { |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p2beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("pageTitle")) { |
| pageTitle = _json["pageTitle"]; |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p2beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pageTitle != null) { |
| _json["pageTitle"] = pageTitle; |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// A word representation. |
| class GoogleCloudVisionV1p2beta1Word { |
| /// The bounding box for the word. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p2beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the word. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the word. |
| GoogleCloudVisionV1p2beta1TextAnnotationTextProperty property; |
| |
| /// List of symbols in the word. The order of the symbols follows the natural |
| /// reading order. |
| core.List<GoogleCloudVisionV1p2beta1Symbol> symbols; |
| |
| GoogleCloudVisionV1p2beta1Word(); |
| |
| GoogleCloudVisionV1p2beta1Word.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p2beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p2beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("symbols")) { |
| symbols = (_json["symbols"] as core.List) |
| .map<GoogleCloudVisionV1p2beta1Symbol>( |
| (value) => new GoogleCloudVisionV1p2beta1Symbol.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (symbols != null) { |
| _json["symbols"] = symbols.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to a single file annotation request. A file may contain one or more |
| /// images, which individually have their own responses. |
| class GoogleCloudVisionV1p3beta1AnnotateFileResponse { |
| /// If set, represents the error message for the failed request. The |
| /// `responses` field will not be set in this case. |
| Status error; |
| |
| /// Information about the file for which this response is generated. |
| GoogleCloudVisionV1p3beta1InputConfig inputConfig; |
| |
| /// Individual responses to images found within the file. This field will be |
| /// empty if the `error` field is set. |
| core.List<GoogleCloudVisionV1p3beta1AnnotateImageResponse> responses; |
| |
| /// This field gives the total number of pages in the file. |
| core.int totalPages; |
| |
| GoogleCloudVisionV1p3beta1AnnotateFileResponse(); |
| |
| GoogleCloudVisionV1p3beta1AnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("inputConfig")) { |
| inputConfig = new GoogleCloudVisionV1p3beta1InputConfig.fromJson( |
| _json["inputConfig"]); |
| } |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1AnnotateImageResponse>((value) => |
| new GoogleCloudVisionV1p3beta1AnnotateImageResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("totalPages")) { |
| totalPages = _json["totalPages"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (inputConfig != null) { |
| _json["inputConfig"] = (inputConfig).toJson(); |
| } |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| if (totalPages != null) { |
| _json["totalPages"] = totalPages; |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an image annotation request. |
| class GoogleCloudVisionV1p3beta1AnnotateImageResponse { |
| /// If present, contextual information is needed to understand where this |
| /// image comes from. |
| GoogleCloudVisionV1p3beta1ImageAnnotationContext context; |
| |
| /// If present, crop hints have completed successfully. |
| GoogleCloudVisionV1p3beta1CropHintsAnnotation cropHintsAnnotation; |
| |
| /// If set, represents the error message for the operation. Note that |
| /// filled-in image annotations are guaranteed to be correct, even when |
| /// `error` is set. |
| Status error; |
| |
| /// If present, face detection has completed successfully. |
| core.List<GoogleCloudVisionV1p3beta1FaceAnnotation> faceAnnotations; |
| |
| /// If present, text (OCR) detection or document (OCR) text detection has |
| /// completed successfully. This annotation provides the structural hierarchy |
| /// for the OCR detected text. |
| GoogleCloudVisionV1p3beta1TextAnnotation fullTextAnnotation; |
| |
| /// If present, image properties were extracted successfully. |
| GoogleCloudVisionV1p3beta1ImageProperties imagePropertiesAnnotation; |
| |
| /// If present, label detection has completed successfully. |
| core.List<GoogleCloudVisionV1p3beta1EntityAnnotation> labelAnnotations; |
| |
| /// If present, landmark detection has completed successfully. |
| core.List<GoogleCloudVisionV1p3beta1EntityAnnotation> landmarkAnnotations; |
| |
| /// If present, localized object detection has completed successfully. This |
| /// will be sorted descending by confidence score. |
| core.List<GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation> |
| localizedObjectAnnotations; |
| |
| /// If present, logo detection has completed successfully. |
| core.List<GoogleCloudVisionV1p3beta1EntityAnnotation> logoAnnotations; |
| |
| /// If present, product search has completed successfully. |
| GoogleCloudVisionV1p3beta1ProductSearchResults productSearchResults; |
| |
| /// If present, safe-search annotation has completed successfully. |
| GoogleCloudVisionV1p3beta1SafeSearchAnnotation safeSearchAnnotation; |
| |
| /// If present, text (OCR) detection has completed successfully. |
| core.List<GoogleCloudVisionV1p3beta1EntityAnnotation> textAnnotations; |
| |
| /// If present, web detection has completed successfully. |
| GoogleCloudVisionV1p3beta1WebDetection webDetection; |
| |
| GoogleCloudVisionV1p3beta1AnnotateImageResponse(); |
| |
| GoogleCloudVisionV1p3beta1AnnotateImageResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("context")) { |
| context = new GoogleCloudVisionV1p3beta1ImageAnnotationContext.fromJson( |
| _json["context"]); |
| } |
| if (_json.containsKey("cropHintsAnnotation")) { |
| cropHintsAnnotation = |
| new GoogleCloudVisionV1p3beta1CropHintsAnnotation.fromJson( |
| _json["cropHintsAnnotation"]); |
| } |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("faceAnnotations")) { |
| faceAnnotations = (_json["faceAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1FaceAnnotation>((value) => |
| new GoogleCloudVisionV1p3beta1FaceAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullTextAnnotation")) { |
| fullTextAnnotation = |
| new GoogleCloudVisionV1p3beta1TextAnnotation.fromJson( |
| _json["fullTextAnnotation"]); |
| } |
| if (_json.containsKey("imagePropertiesAnnotation")) { |
| imagePropertiesAnnotation = |
| new GoogleCloudVisionV1p3beta1ImageProperties.fromJson( |
| _json["imagePropertiesAnnotation"]); |
| } |
| if (_json.containsKey("labelAnnotations")) { |
| labelAnnotations = (_json["labelAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p3beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("landmarkAnnotations")) { |
| landmarkAnnotations = (_json["landmarkAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p3beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("localizedObjectAnnotations")) { |
| localizedObjectAnnotations = (_json["localizedObjectAnnotations"] |
| as core.List) |
| .map<GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation>((value) => |
| new GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("logoAnnotations")) { |
| logoAnnotations = (_json["logoAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p3beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("productSearchResults")) { |
| productSearchResults = |
| new GoogleCloudVisionV1p3beta1ProductSearchResults.fromJson( |
| _json["productSearchResults"]); |
| } |
| if (_json.containsKey("safeSearchAnnotation")) { |
| safeSearchAnnotation = |
| new GoogleCloudVisionV1p3beta1SafeSearchAnnotation.fromJson( |
| _json["safeSearchAnnotation"]); |
| } |
| if (_json.containsKey("textAnnotations")) { |
| textAnnotations = (_json["textAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p3beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("webDetection")) { |
| webDetection = new GoogleCloudVisionV1p3beta1WebDetection.fromJson( |
| _json["webDetection"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (context != null) { |
| _json["context"] = (context).toJson(); |
| } |
| if (cropHintsAnnotation != null) { |
| _json["cropHintsAnnotation"] = (cropHintsAnnotation).toJson(); |
| } |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (faceAnnotations != null) { |
| _json["faceAnnotations"] = |
| faceAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (fullTextAnnotation != null) { |
| _json["fullTextAnnotation"] = (fullTextAnnotation).toJson(); |
| } |
| if (imagePropertiesAnnotation != null) { |
| _json["imagePropertiesAnnotation"] = (imagePropertiesAnnotation).toJson(); |
| } |
| if (labelAnnotations != null) { |
| _json["labelAnnotations"] = |
| labelAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (landmarkAnnotations != null) { |
| _json["landmarkAnnotations"] = |
| landmarkAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (localizedObjectAnnotations != null) { |
| _json["localizedObjectAnnotations"] = |
| localizedObjectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (logoAnnotations != null) { |
| _json["logoAnnotations"] = |
| logoAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (productSearchResults != null) { |
| _json["productSearchResults"] = (productSearchResults).toJson(); |
| } |
| if (safeSearchAnnotation != null) { |
| _json["safeSearchAnnotation"] = (safeSearchAnnotation).toJson(); |
| } |
| if (textAnnotations != null) { |
| _json["textAnnotations"] = |
| textAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (webDetection != null) { |
| _json["webDetection"] = (webDetection).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for a single offline file annotation request. |
| class GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse { |
| /// The output location and metadata from AsyncAnnotateFileRequest. |
| GoogleCloudVisionV1p3beta1OutputConfig outputConfig; |
| |
| GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse(); |
| |
| GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new GoogleCloudVisionV1p3beta1OutputConfig.fromJson( |
| _json["outputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an async batch file annotation request. |
| class GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse { |
| /// The list of file annotation responses, one for each request in |
| /// AsyncBatchAnnotateFilesRequest. |
| core.List<GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse> responses; |
| |
| GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse(); |
| |
| GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse>((value) => |
| new GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for the batch operations such as the current state. This is |
| /// included in the `metadata` field of the `Operation` returned by the |
| /// `GetOperation` call of the `google::longrunning::Operations` service. |
| class GoogleCloudVisionV1p3beta1BatchOperationMetadata { |
| /// The time when the batch request is finished and |
| /// google.longrunning.Operation.done is set to true. |
| core.String endTime; |
| |
| /// The current state of the batch operation. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Invalid. |
| /// - "PROCESSING" : Request is actively being processed. |
| /// - "SUCCESSFUL" : The request is done and at least one item has been |
| /// successfully processed. |
| /// - "FAILED" : The request is done and no item has been successfully |
| /// processed. |
| /// - "CANCELLED" : The request is done after the |
| /// longrunning.Operations.CancelOperation has been called by the user. Any |
| /// records that were processed before the cancel command are output as |
| /// specified in the request. |
| core.String state; |
| |
| /// The time when the batch request was submitted to the server. |
| core.String submitTime; |
| |
| GoogleCloudVisionV1p3beta1BatchOperationMetadata(); |
| |
| GoogleCloudVisionV1p3beta1BatchOperationMetadata.fromJson(core.Map _json) { |
| if (_json.containsKey("endTime")) { |
| endTime = _json["endTime"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| if (_json.containsKey("submitTime")) { |
| submitTime = _json["submitTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (endTime != null) { |
| _json["endTime"] = endTime; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| if (submitTime != null) { |
| _json["submitTime"] = submitTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// Logical element on the page. |
| class GoogleCloudVisionV1p3beta1Block { |
| /// Detected block type (text, image etc) for this block. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown block type. |
| /// - "TEXT" : Regular text block. |
| /// - "TABLE" : Table block. |
| /// - "PICTURE" : Image block. |
| /// - "RULER" : Horizontal/vertical line box. |
| /// - "BARCODE" : Barcode block. |
| core.String blockType; |
| |
| /// The bounding box for the block. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results on the block. Range [0, 1]. |
| core.double confidence; |
| |
| /// List of paragraphs in this block (if this blocks is of type text). |
| core.List<GoogleCloudVisionV1p3beta1Paragraph> paragraphs; |
| |
| /// Additional information detected for the block. |
| GoogleCloudVisionV1p3beta1TextAnnotationTextProperty property; |
| |
| GoogleCloudVisionV1p3beta1Block(); |
| |
| GoogleCloudVisionV1p3beta1Block.fromJson(core.Map _json) { |
| if (_json.containsKey("blockType")) { |
| blockType = _json["blockType"]; |
| } |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("paragraphs")) { |
| paragraphs = (_json["paragraphs"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1Paragraph>((value) => |
| new GoogleCloudVisionV1p3beta1Paragraph.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p3beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blockType != null) { |
| _json["blockType"] = blockType; |
| } |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (paragraphs != null) { |
| _json["paragraphs"] = |
| paragraphs.map((value) => (value).toJson()).toList(); |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A bounding polygon for the detected image annotation. |
| class GoogleCloudVisionV1p3beta1BoundingPoly { |
| /// The bounding polygon normalized vertices. |
| core.List<GoogleCloudVisionV1p3beta1NormalizedVertex> normalizedVertices; |
| |
| /// The bounding polygon vertices. |
| core.List<GoogleCloudVisionV1p3beta1Vertex> vertices; |
| |
| GoogleCloudVisionV1p3beta1BoundingPoly(); |
| |
| GoogleCloudVisionV1p3beta1BoundingPoly.fromJson(core.Map _json) { |
| if (_json.containsKey("normalizedVertices")) { |
| normalizedVertices = (_json["normalizedVertices"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1NormalizedVertex>((value) => |
| new GoogleCloudVisionV1p3beta1NormalizedVertex.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("vertices")) { |
| vertices = (_json["vertices"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1Vertex>( |
| (value) => new GoogleCloudVisionV1p3beta1Vertex.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (normalizedVertices != null) { |
| _json["normalizedVertices"] = |
| normalizedVertices.map((value) => (value).toJson()).toList(); |
| } |
| if (vertices != null) { |
| _json["vertices"] = vertices.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Color information consists of RGB channels, score, and the fraction of the |
| /// image that the color occupies in the image. |
| class GoogleCloudVisionV1p3beta1ColorInfo { |
| /// RGB components of the color. |
| Color color; |
| |
| /// The fraction of pixels the color occupies in the image. Value in range [0, |
| /// 1]. |
| core.double pixelFraction; |
| |
| /// Image-specific score for this color. Value in range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p3beta1ColorInfo(); |
| |
| GoogleCloudVisionV1p3beta1ColorInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("color")) { |
| color = new Color.fromJson(_json["color"]); |
| } |
| if (_json.containsKey("pixelFraction")) { |
| pixelFraction = _json["pixelFraction"].toDouble(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (color != null) { |
| _json["color"] = (color).toJson(); |
| } |
| if (pixelFraction != null) { |
| _json["pixelFraction"] = pixelFraction; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Single crop hint that is used to generate a new crop when serving an image. |
| class GoogleCloudVisionV1p3beta1CropHint { |
| /// The bounding polygon for the crop region. The coordinates of the bounding |
| /// box are in the original image's scale. |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingPoly; |
| |
| /// Confidence of this being a salient region. Range [0, 1]. |
| core.double confidence; |
| |
| /// Fraction of importance of this salient region with respect to the original |
| /// image. |
| core.double importanceFraction; |
| |
| GoogleCloudVisionV1p3beta1CropHint(); |
| |
| GoogleCloudVisionV1p3beta1CropHint.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("importanceFraction")) { |
| importanceFraction = _json["importanceFraction"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (importanceFraction != null) { |
| _json["importanceFraction"] = importanceFraction; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of crop hints that are used to generate new crops when serving images. |
| class GoogleCloudVisionV1p3beta1CropHintsAnnotation { |
| /// Crop hint results. |
| core.List<GoogleCloudVisionV1p3beta1CropHint> cropHints; |
| |
| GoogleCloudVisionV1p3beta1CropHintsAnnotation(); |
| |
| GoogleCloudVisionV1p3beta1CropHintsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("cropHints")) { |
| cropHints = (_json["cropHints"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1CropHint>( |
| (value) => new GoogleCloudVisionV1p3beta1CropHint.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (cropHints != null) { |
| _json["cropHints"] = cropHints.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of dominant colors and their corresponding scores. |
| class GoogleCloudVisionV1p3beta1DominantColorsAnnotation { |
| /// RGB color values with their score and pixel fraction. |
| core.List<GoogleCloudVisionV1p3beta1ColorInfo> colors; |
| |
| GoogleCloudVisionV1p3beta1DominantColorsAnnotation(); |
| |
| GoogleCloudVisionV1p3beta1DominantColorsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("colors")) { |
| colors = (_json["colors"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1ColorInfo>((value) => |
| new GoogleCloudVisionV1p3beta1ColorInfo.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (colors != null) { |
| _json["colors"] = colors.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected entity features. |
| class GoogleCloudVisionV1p3beta1EntityAnnotation { |
| /// Image region to which this entity belongs. Not produced for |
| /// `LABEL_DETECTION` features. |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingPoly; |
| |
| /// **Deprecated. Use `score` instead.** The accuracy of the entity detection |
| /// in an image. For example, for an image in which the "Eiffel Tower" entity |
| /// is detected, this field represents the confidence that there is a tower in |
| /// the query image. Range [0, 1]. |
| core.double confidence; |
| |
| /// Entity textual description, expressed in its `locale` language. |
| core.String description; |
| |
| /// The language code for the locale in which the entity textual `description` |
| /// is expressed. |
| core.String locale; |
| |
| /// The location information for the detected entity. Multiple `LocationInfo` |
| /// elements can be present because one location may indicate the location of |
| /// the scene in the image, and another location may indicate the location of |
| /// the place where the image was taken. Location information is usually |
| /// present for landmarks. |
| core.List<GoogleCloudVisionV1p3beta1LocationInfo> locations; |
| |
| /// Opaque entity ID. Some IDs may be available in [Google Knowledge Graph |
| /// Search API](https://developers.google.com/knowledge-graph/). |
| core.String mid; |
| |
| /// Some entities may have optional user-supplied `Property` (name/value) |
| /// fields, such a score or string that qualifies the entity. |
| core.List<GoogleCloudVisionV1p3beta1Property> properties; |
| |
| /// Overall score of the result. Range [0, 1]. |
| core.double score; |
| |
| /// The relevancy of the ICA (Image Content Annotation) label to the image. |
| /// For example, the relevancy of "tower" is likely higher to an image |
| /// containing the detected "Eiffel Tower" than to an image containing a |
| /// detected distant towering building, even though the confidence that there |
| /// is a tower in each image may be the same. Range [0, 1]. |
| core.double topicality; |
| |
| GoogleCloudVisionV1p3beta1EntityAnnotation(); |
| |
| GoogleCloudVisionV1p3beta1EntityAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("locale")) { |
| locale = _json["locale"]; |
| } |
| if (_json.containsKey("locations")) { |
| locations = (_json["locations"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1LocationInfo>((value) => |
| new GoogleCloudVisionV1p3beta1LocationInfo.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("properties")) { |
| properties = (_json["properties"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1Property>( |
| (value) => new GoogleCloudVisionV1p3beta1Property.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("topicality")) { |
| topicality = _json["topicality"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (locale != null) { |
| _json["locale"] = locale; |
| } |
| if (locations != null) { |
| _json["locations"] = locations.map((value) => (value).toJson()).toList(); |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (properties != null) { |
| _json["properties"] = |
| properties.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (topicality != null) { |
| _json["topicality"] = topicality; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face annotation object contains the results of face detection. |
| class GoogleCloudVisionV1p3beta1FaceAnnotation { |
| /// Anger likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String angerLikelihood; |
| |
| /// Blurred likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String blurredLikelihood; |
| |
| /// The bounding polygon around the face. The coordinates of the bounding box |
| /// are in the original image's scale. The bounding box is computed to "frame" |
| /// the face in accordance with human expectations. It is based on the |
| /// landmarker results. Note that one or more x and/or y coordinates may not |
| /// be generated in the `BoundingPoly` (the polygon will be unbounded) if only |
| /// a partial face appears in the image to be annotated. |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingPoly; |
| |
| /// Detection confidence. Range [0, 1]. |
| core.double detectionConfidence; |
| |
| /// The `fd_bounding_poly` bounding polygon is tighter than the |
| /// `boundingPoly`, and encloses only the skin part of the face. Typically, it |
| /// is used to eliminate the face from any image analysis that detects the |
| /// "amount of skin" visible in an image. It is not based on the landmarker |
| /// results, only on the initial face detection, hence the fd (face detection) |
| /// prefix. |
| GoogleCloudVisionV1p3beta1BoundingPoly fdBoundingPoly; |
| |
| /// Headwear likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String headwearLikelihood; |
| |
| /// Joy likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String joyLikelihood; |
| |
| /// Face landmarking confidence. Range [0, 1]. |
| core.double landmarkingConfidence; |
| |
| /// Detected face landmarks. |
| core.List<GoogleCloudVisionV1p3beta1FaceAnnotationLandmark> landmarks; |
| |
| /// Yaw angle, which indicates the leftward/rightward angle that the face is |
| /// pointing relative to the vertical plane perpendicular to the image. Range |
| /// [-180,180]. |
| core.double panAngle; |
| |
| /// Roll angle, which indicates the amount of clockwise/anti-clockwise |
| /// rotation of the face relative to the image vertical about the axis |
| /// perpendicular to the face. Range [-180,180]. |
| core.double rollAngle; |
| |
| /// Sorrow likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String sorrowLikelihood; |
| |
| /// Surprise likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String surpriseLikelihood; |
| |
| /// Pitch angle, which indicates the upwards/downwards angle that the face is |
| /// pointing relative to the image's horizontal plane. Range [-180,180]. |
| core.double tiltAngle; |
| |
| /// Under-exposed likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String underExposedLikelihood; |
| |
| GoogleCloudVisionV1p3beta1FaceAnnotation(); |
| |
| GoogleCloudVisionV1p3beta1FaceAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("angerLikelihood")) { |
| angerLikelihood = _json["angerLikelihood"]; |
| } |
| if (_json.containsKey("blurredLikelihood")) { |
| blurredLikelihood = _json["blurredLikelihood"]; |
| } |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("detectionConfidence")) { |
| detectionConfidence = _json["detectionConfidence"].toDouble(); |
| } |
| if (_json.containsKey("fdBoundingPoly")) { |
| fdBoundingPoly = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["fdBoundingPoly"]); |
| } |
| if (_json.containsKey("headwearLikelihood")) { |
| headwearLikelihood = _json["headwearLikelihood"]; |
| } |
| if (_json.containsKey("joyLikelihood")) { |
| joyLikelihood = _json["joyLikelihood"]; |
| } |
| if (_json.containsKey("landmarkingConfidence")) { |
| landmarkingConfidence = _json["landmarkingConfidence"].toDouble(); |
| } |
| if (_json.containsKey("landmarks")) { |
| landmarks = (_json["landmarks"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1FaceAnnotationLandmark>((value) => |
| new GoogleCloudVisionV1p3beta1FaceAnnotationLandmark.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("panAngle")) { |
| panAngle = _json["panAngle"].toDouble(); |
| } |
| if (_json.containsKey("rollAngle")) { |
| rollAngle = _json["rollAngle"].toDouble(); |
| } |
| if (_json.containsKey("sorrowLikelihood")) { |
| sorrowLikelihood = _json["sorrowLikelihood"]; |
| } |
| if (_json.containsKey("surpriseLikelihood")) { |
| surpriseLikelihood = _json["surpriseLikelihood"]; |
| } |
| if (_json.containsKey("tiltAngle")) { |
| tiltAngle = _json["tiltAngle"].toDouble(); |
| } |
| if (_json.containsKey("underExposedLikelihood")) { |
| underExposedLikelihood = _json["underExposedLikelihood"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (angerLikelihood != null) { |
| _json["angerLikelihood"] = angerLikelihood; |
| } |
| if (blurredLikelihood != null) { |
| _json["blurredLikelihood"] = blurredLikelihood; |
| } |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (detectionConfidence != null) { |
| _json["detectionConfidence"] = detectionConfidence; |
| } |
| if (fdBoundingPoly != null) { |
| _json["fdBoundingPoly"] = (fdBoundingPoly).toJson(); |
| } |
| if (headwearLikelihood != null) { |
| _json["headwearLikelihood"] = headwearLikelihood; |
| } |
| if (joyLikelihood != null) { |
| _json["joyLikelihood"] = joyLikelihood; |
| } |
| if (landmarkingConfidence != null) { |
| _json["landmarkingConfidence"] = landmarkingConfidence; |
| } |
| if (landmarks != null) { |
| _json["landmarks"] = landmarks.map((value) => (value).toJson()).toList(); |
| } |
| if (panAngle != null) { |
| _json["panAngle"] = panAngle; |
| } |
| if (rollAngle != null) { |
| _json["rollAngle"] = rollAngle; |
| } |
| if (sorrowLikelihood != null) { |
| _json["sorrowLikelihood"] = sorrowLikelihood; |
| } |
| if (surpriseLikelihood != null) { |
| _json["surpriseLikelihood"] = surpriseLikelihood; |
| } |
| if (tiltAngle != null) { |
| _json["tiltAngle"] = tiltAngle; |
| } |
| if (underExposedLikelihood != null) { |
| _json["underExposedLikelihood"] = underExposedLikelihood; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face-specific landmark (for example, a face feature). |
| class GoogleCloudVisionV1p3beta1FaceAnnotationLandmark { |
| /// Face landmark position. |
| GoogleCloudVisionV1p3beta1Position position; |
| |
| /// Face landmark type. |
| /// Possible string values are: |
| /// - "UNKNOWN_LANDMARK" : Unknown face landmark detected. Should not be |
| /// filled. |
| /// - "LEFT_EYE" : Left eye. |
| /// - "RIGHT_EYE" : Right eye. |
| /// - "LEFT_OF_LEFT_EYEBROW" : Left of left eyebrow. |
| /// - "RIGHT_OF_LEFT_EYEBROW" : Right of left eyebrow. |
| /// - "LEFT_OF_RIGHT_EYEBROW" : Left of right eyebrow. |
| /// - "RIGHT_OF_RIGHT_EYEBROW" : Right of right eyebrow. |
| /// - "MIDPOINT_BETWEEN_EYES" : Midpoint between eyes. |
| /// - "NOSE_TIP" : Nose tip. |
| /// - "UPPER_LIP" : Upper lip. |
| /// - "LOWER_LIP" : Lower lip. |
| /// - "MOUTH_LEFT" : Mouth left. |
| /// - "MOUTH_RIGHT" : Mouth right. |
| /// - "MOUTH_CENTER" : Mouth center. |
| /// - "NOSE_BOTTOM_RIGHT" : Nose, bottom right. |
| /// - "NOSE_BOTTOM_LEFT" : Nose, bottom left. |
| /// - "NOSE_BOTTOM_CENTER" : Nose, bottom center. |
| /// - "LEFT_EYE_TOP_BOUNDARY" : Left eye, top boundary. |
| /// - "LEFT_EYE_RIGHT_CORNER" : Left eye, right corner. |
| /// - "LEFT_EYE_BOTTOM_BOUNDARY" : Left eye, bottom boundary. |
| /// - "LEFT_EYE_LEFT_CORNER" : Left eye, left corner. |
| /// - "RIGHT_EYE_TOP_BOUNDARY" : Right eye, top boundary. |
| /// - "RIGHT_EYE_RIGHT_CORNER" : Right eye, right corner. |
| /// - "RIGHT_EYE_BOTTOM_BOUNDARY" : Right eye, bottom boundary. |
| /// - "RIGHT_EYE_LEFT_CORNER" : Right eye, left corner. |
| /// - "LEFT_EYEBROW_UPPER_MIDPOINT" : Left eyebrow, upper midpoint. |
| /// - "RIGHT_EYEBROW_UPPER_MIDPOINT" : Right eyebrow, upper midpoint. |
| /// - "LEFT_EAR_TRAGION" : Left ear tragion. |
| /// - "RIGHT_EAR_TRAGION" : Right ear tragion. |
| /// - "LEFT_EYE_PUPIL" : Left eye pupil. |
| /// - "RIGHT_EYE_PUPIL" : Right eye pupil. |
| /// - "FOREHEAD_GLABELLA" : Forehead glabella. |
| /// - "CHIN_GNATHION" : Chin gnathion. |
| /// - "CHIN_LEFT_GONION" : Chin left gonion. |
| /// - "CHIN_RIGHT_GONION" : Chin right gonion. |
| /// - "LEFT_CHEEK_CENTER" : Left cheek center. |
| /// - "RIGHT_CHEEK_CENTER" : Right cheek center. |
| core.String type; |
| |
| GoogleCloudVisionV1p3beta1FaceAnnotationLandmark(); |
| |
| GoogleCloudVisionV1p3beta1FaceAnnotationLandmark.fromJson(core.Map _json) { |
| if (_json.containsKey("position")) { |
| position = |
| new GoogleCloudVisionV1p3beta1Position.fromJson(_json["position"]); |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (position != null) { |
| _json["position"] = (position).toJson(); |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the output will be written to. |
| class GoogleCloudVisionV1p3beta1GcsDestination { |
| /// Google Cloud Storage URI prefix where the results will be stored. Results |
| /// will be in JSON format and preceded by its corresponding input URI prefix. |
| /// This field can either represent a gcs file prefix or gcs directory. In |
| /// either case, the uri should be unique because in order to get all of the |
| /// output files, you will need to do a wildcard gcs search on the uri prefix |
| /// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix |
| /// The output files will be created in gs://bucket-name/here/ and the names |
| /// of the output files will begin with "filenameprefix". * Directory Prefix: |
| /// gs://bucket-name/some/location/ The output files will be created in |
| /// gs://bucket-name/some/location/ and the names of the output files could be |
| /// anything because there was no filename prefix specified. If multiple |
| /// outputs, each response is still AnnotateFileResponse, each of which |
| /// contains some subset of the full list of AnnotateImageResponse. Multiple |
| /// outputs can happen if, for example, the output JSON is too large and |
| /// overflows into multiple sharded files. |
| core.String uri; |
| |
| GoogleCloudVisionV1p3beta1GcsDestination(); |
| |
| GoogleCloudVisionV1p3beta1GcsDestination.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the input will be read from. |
| class GoogleCloudVisionV1p3beta1GcsSource { |
| /// Google Cloud Storage URI for the input file. This must only be a Google |
| /// Cloud Storage object. Wildcards are not currently supported. |
| core.String uri; |
| |
| GoogleCloudVisionV1p3beta1GcsSource(); |
| |
| GoogleCloudVisionV1p3beta1GcsSource.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// If an image was produced from a file (e.g. a PDF), this message gives |
| /// information about the source of that image. |
| class GoogleCloudVisionV1p3beta1ImageAnnotationContext { |
| /// If the file was a PDF or TIFF, this field gives the page number within the |
| /// file used to produce the image. |
| core.int pageNumber; |
| |
| /// The URI of the file used to produce the image. |
| core.String uri; |
| |
| GoogleCloudVisionV1p3beta1ImageAnnotationContext(); |
| |
| GoogleCloudVisionV1p3beta1ImageAnnotationContext.fromJson(core.Map _json) { |
| if (_json.containsKey("pageNumber")) { |
| pageNumber = _json["pageNumber"]; |
| } |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pageNumber != null) { |
| _json["pageNumber"] = pageNumber; |
| } |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Stores image properties, such as dominant colors. |
| class GoogleCloudVisionV1p3beta1ImageProperties { |
| /// If present, dominant colors completed successfully. |
| GoogleCloudVisionV1p3beta1DominantColorsAnnotation dominantColors; |
| |
| GoogleCloudVisionV1p3beta1ImageProperties(); |
| |
| GoogleCloudVisionV1p3beta1ImageProperties.fromJson(core.Map _json) { |
| if (_json.containsKey("dominantColors")) { |
| dominantColors = |
| new GoogleCloudVisionV1p3beta1DominantColorsAnnotation.fromJson( |
| _json["dominantColors"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (dominantColors != null) { |
| _json["dominantColors"] = (dominantColors).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response message for the `ImportProductSets` method. This message is |
| /// returned by the google.longrunning.Operations.GetOperation method in the |
| /// returned google.longrunning.Operation.response field. |
| class GoogleCloudVisionV1p3beta1ImportProductSetsResponse { |
| /// The list of reference_images that are imported successfully. |
| core.List<GoogleCloudVisionV1p3beta1ReferenceImage> referenceImages; |
| |
| /// The rpc status for each ImportProductSet request, including both successes |
| /// and errors. The number of statuses here matches the number of lines in the |
| /// csv file, and statuses[i] stores the success or failure status of |
| /// processing the i-th line of the csv, starting from line 0. |
| core.List<Status> statuses; |
| |
| GoogleCloudVisionV1p3beta1ImportProductSetsResponse(); |
| |
| GoogleCloudVisionV1p3beta1ImportProductSetsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("referenceImages")) { |
| referenceImages = (_json["referenceImages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1ReferenceImage>((value) => |
| new GoogleCloudVisionV1p3beta1ReferenceImage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("statuses")) { |
| statuses = (_json["statuses"] as core.List) |
| .map<Status>((value) => new Status.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (referenceImages != null) { |
| _json["referenceImages"] = |
| referenceImages.map((value) => (value).toJson()).toList(); |
| } |
| if (statuses != null) { |
| _json["statuses"] = statuses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired input location and metadata. |
| class GoogleCloudVisionV1p3beta1InputConfig { |
| /// File content, represented as a stream of bytes. Note: As with all `bytes` |
| /// fields, protobuffers use a pure binary representation, whereas JSON |
| /// representations use base64. Currently, this field only works for |
| /// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles |
| /// requests. |
| core.String content; |
| core.List<core.int> get contentAsBytes { |
| return convert.base64.decode(content); |
| } |
| |
| set contentAsBytes(core.List<core.int> _bytes) { |
| content = |
| convert.base64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// The Google Cloud Storage location to read the input from. |
| GoogleCloudVisionV1p3beta1GcsSource gcsSource; |
| |
| /// The type of the file. Currently only "application/pdf", "image/tiff" and |
| /// "image/gif" are supported. Wildcards are not supported. |
| core.String mimeType; |
| |
| GoogleCloudVisionV1p3beta1InputConfig(); |
| |
| GoogleCloudVisionV1p3beta1InputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("content")) { |
| content = _json["content"]; |
| } |
| if (_json.containsKey("gcsSource")) { |
| gcsSource = |
| new GoogleCloudVisionV1p3beta1GcsSource.fromJson(_json["gcsSource"]); |
| } |
| if (_json.containsKey("mimeType")) { |
| mimeType = _json["mimeType"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (content != null) { |
| _json["content"] = content; |
| } |
| if (gcsSource != null) { |
| _json["gcsSource"] = (gcsSource).toJson(); |
| } |
| if (mimeType != null) { |
| _json["mimeType"] = mimeType; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected objects with bounding boxes. |
| class GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation { |
| /// Image region to which this object belongs. This must be populated. |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingPoly; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation(); |
| |
| GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected entity location information. |
| class GoogleCloudVisionV1p3beta1LocationInfo { |
| /// lat/long location coordinates. |
| LatLng latLng; |
| |
| GoogleCloudVisionV1p3beta1LocationInfo(); |
| |
| GoogleCloudVisionV1p3beta1LocationInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("latLng")) { |
| latLng = new LatLng.fromJson(_json["latLng"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (latLng != null) { |
| _json["latLng"] = (latLng).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the normalized vertex |
| /// coordinates are relative to the original image and range from 0 to 1. |
| class GoogleCloudVisionV1p3beta1NormalizedVertex { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| GoogleCloudVisionV1p3beta1NormalizedVertex(); |
| |
| GoogleCloudVisionV1p3beta1NormalizedVertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Contains metadata for the BatchAnnotateImages operation. |
| class GoogleCloudVisionV1p3beta1OperationMetadata { |
| /// The time when the batch request was received. |
| core.String createTime; |
| |
| /// Current state of the batch operation. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Invalid. |
| /// - "CREATED" : Request is received. |
| /// - "RUNNING" : Request is actively being processed. |
| /// - "DONE" : The batch processing is done. |
| /// - "CANCELLED" : The batch processing was cancelled. |
| core.String state; |
| |
| /// The time when the operation result was last updated. |
| core.String updateTime; |
| |
| GoogleCloudVisionV1p3beta1OperationMetadata(); |
| |
| GoogleCloudVisionV1p3beta1OperationMetadata.fromJson(core.Map _json) { |
| if (_json.containsKey("createTime")) { |
| createTime = _json["createTime"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| if (_json.containsKey("updateTime")) { |
| updateTime = _json["updateTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (createTime != null) { |
| _json["createTime"] = createTime; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| if (updateTime != null) { |
| _json["updateTime"] = updateTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired output location and metadata. |
| class GoogleCloudVisionV1p3beta1OutputConfig { |
| /// The max number of response protos to put into each output JSON file on |
| /// Google Cloud Storage. The valid range is [1, 100]. If not specified, the |
| /// default value is 20. For example, for one pdf file with 100 pages, 100 |
| /// response protos will be generated. If `batch_size` = 20, then 5 json files |
| /// each containing 20 response protos will be written under the prefix |
| /// `gcs_destination`.`uri`. Currently, batch_size only applies to |
| /// GcsDestination, with potential future support for other output |
| /// configurations. |
| core.int batchSize; |
| |
| /// The Google Cloud Storage location to write the output(s) to. |
| GoogleCloudVisionV1p3beta1GcsDestination gcsDestination; |
| |
| GoogleCloudVisionV1p3beta1OutputConfig(); |
| |
| GoogleCloudVisionV1p3beta1OutputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("batchSize")) { |
| batchSize = _json["batchSize"]; |
| } |
| if (_json.containsKey("gcsDestination")) { |
| gcsDestination = new GoogleCloudVisionV1p3beta1GcsDestination.fromJson( |
| _json["gcsDestination"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (batchSize != null) { |
| _json["batchSize"] = batchSize; |
| } |
| if (gcsDestination != null) { |
| _json["gcsDestination"] = (gcsDestination).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected page from OCR. |
| class GoogleCloudVisionV1p3beta1Page { |
| /// List of blocks of text, images etc on this page. |
| core.List<GoogleCloudVisionV1p3beta1Block> blocks; |
| |
| /// Confidence of the OCR results on the page. Range [0, 1]. |
| core.double confidence; |
| |
| /// Page height. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int height; |
| |
| /// Additional information detected on the page. |
| GoogleCloudVisionV1p3beta1TextAnnotationTextProperty property; |
| |
| /// Page width. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int width; |
| |
| GoogleCloudVisionV1p3beta1Page(); |
| |
| GoogleCloudVisionV1p3beta1Page.fromJson(core.Map _json) { |
| if (_json.containsKey("blocks")) { |
| blocks = (_json["blocks"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1Block>( |
| (value) => new GoogleCloudVisionV1p3beta1Block.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("height")) { |
| height = _json["height"]; |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p3beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("width")) { |
| width = _json["width"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blocks != null) { |
| _json["blocks"] = blocks.map((value) => (value).toJson()).toList(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (height != null) { |
| _json["height"] = height; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (width != null) { |
| _json["width"] = width; |
| } |
| return _json; |
| } |
| } |
| |
| /// Structural unit of text representing a number of words in certain order. |
| class GoogleCloudVisionV1p3beta1Paragraph { |
| /// The bounding box for the paragraph. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the paragraph. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the paragraph. |
| GoogleCloudVisionV1p3beta1TextAnnotationTextProperty property; |
| |
| /// List of all words in this paragraph. |
| core.List<GoogleCloudVisionV1p3beta1Word> words; |
| |
| GoogleCloudVisionV1p3beta1Paragraph(); |
| |
| GoogleCloudVisionV1p3beta1Paragraph.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p3beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("words")) { |
| words = (_json["words"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1Word>( |
| (value) => new GoogleCloudVisionV1p3beta1Word.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (words != null) { |
| _json["words"] = words.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A 3D position in the image, used primarily for Face detection landmarks. A |
| /// valid Position must have both x and y coordinates. The position coordinates |
| /// are in the same scale as the original image. |
| class GoogleCloudVisionV1p3beta1Position { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| /// Z coordinate (or depth). |
| core.double z; |
| |
| GoogleCloudVisionV1p3beta1Position(); |
| |
| GoogleCloudVisionV1p3beta1Position.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| if (_json.containsKey("z")) { |
| z = _json["z"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| if (z != null) { |
| _json["z"] = z; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Product contains ReferenceImages. |
| class GoogleCloudVisionV1p3beta1Product { |
| /// User-provided metadata to be stored with this product. Must be at most |
| /// 4096 characters long. |
| core.String description; |
| |
| /// The user-provided name for this Product. Must not be empty. Must be at |
| /// most 4096 characters long. |
| core.String displayName; |
| |
| /// The resource name of the product. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is |
| /// ignored when creating a product. |
| core.String name; |
| |
| /// Immutable. The category for the product identified by the reference image. |
| /// This should be one of "homegoods-v2", "apparel-v2", "toys-v2", |
| /// "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", |
| /// "apparel", and "toys" are still supported, but these should not be used |
| /// for new products. |
| core.String productCategory; |
| |
| /// Key-value pairs that can be attached to a product. At query time, |
| /// constraints can be specified based on the product_labels. Note that |
| /// integer values can be provided as strings, e.g. "1199". Only strings with |
| /// integer values can match a range-based restriction which is to be |
| /// supported soon. Multiple values can be assigned to the same key. One |
| /// product may have up to 500 product_labels. Notice that the total number of |
| /// distinct product_labels over all products in one ProductSet cannot exceed |
| /// 1M, otherwise the product search pipeline will refuse to work for that |
| /// ProductSet. |
| core.List<GoogleCloudVisionV1p3beta1ProductKeyValue> productLabels; |
| |
| GoogleCloudVisionV1p3beta1Product(); |
| |
| GoogleCloudVisionV1p3beta1Product.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("productCategory")) { |
| productCategory = _json["productCategory"]; |
| } |
| if (_json.containsKey("productLabels")) { |
| productLabels = (_json["productLabels"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1ProductKeyValue>((value) => |
| new GoogleCloudVisionV1p3beta1ProductKeyValue.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (productCategory != null) { |
| _json["productCategory"] = productCategory; |
| } |
| if (productLabels != null) { |
| _json["productLabels"] = |
| productLabels.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A product label represented as a key-value pair. |
| class GoogleCloudVisionV1p3beta1ProductKeyValue { |
| /// The key of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String key; |
| |
| /// The value of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String value; |
| |
| GoogleCloudVisionV1p3beta1ProductKeyValue(); |
| |
| GoogleCloudVisionV1p3beta1ProductKeyValue.fromJson(core.Map _json) { |
| if (_json.containsKey("key")) { |
| key = _json["key"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (key != null) { |
| _json["key"] = key; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// Results for a product search request. |
| class GoogleCloudVisionV1p3beta1ProductSearchResults { |
| /// Timestamp of the index which provided these results. Products added to the |
| /// product set and products removed from the product set after this time are |
| /// not reflected in the current results. |
| core.String indexTime; |
| |
| /// List of results grouped by products detected in the query image. Each |
| /// entry corresponds to one bounding polygon in the query image, and contains |
| /// the matching products specific to that region. There may be duplicate |
| /// product matches in the union of all the per-product results. |
| core.List<GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult> |
| productGroupedResults; |
| |
| /// List of results, one for each product match. |
| core.List<GoogleCloudVisionV1p3beta1ProductSearchResultsResult> results; |
| |
| GoogleCloudVisionV1p3beta1ProductSearchResults(); |
| |
| GoogleCloudVisionV1p3beta1ProductSearchResults.fromJson(core.Map _json) { |
| if (_json.containsKey("indexTime")) { |
| indexTime = _json["indexTime"]; |
| } |
| if (_json.containsKey("productGroupedResults")) { |
| productGroupedResults = (_json["productGroupedResults"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult>( |
| (value) => |
| new GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult |
| .fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1ProductSearchResultsResult>((value) => |
| new GoogleCloudVisionV1p3beta1ProductSearchResultsResult.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (indexTime != null) { |
| _json["indexTime"] = indexTime; |
| } |
| if (productGroupedResults != null) { |
| _json["productGroupedResults"] = |
| productGroupedResults.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about the products similar to a single product in a query image. |
| class GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult { |
| /// The bounding polygon around the product detected in the query image. |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingPoly; |
| |
| /// List of generic predictions for the object in the bounding box. |
| core.List<GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation> |
| objectAnnotations; |
| |
| /// List of results, one for each product match. |
| core.List<GoogleCloudVisionV1p3beta1ProductSearchResultsResult> results; |
| |
| GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult(); |
| |
| GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("objectAnnotations")) { |
| objectAnnotations = (_json["objectAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation>( |
| (value) => |
| new GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation |
| .fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1ProductSearchResultsResult>((value) => |
| new GoogleCloudVisionV1p3beta1ProductSearchResultsResult.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (objectAnnotations != null) { |
| _json["objectAnnotations"] = |
| objectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Prediction for what the object in the bounding box is. |
| class GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation { |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation(); |
| |
| GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about a product. |
| class GoogleCloudVisionV1p3beta1ProductSearchResultsResult { |
| /// The resource name of the image from the product that is the closest match |
| /// to the query. |
| core.String image; |
| |
| /// The Product. |
| GoogleCloudVisionV1p3beta1Product product; |
| |
| /// A confidence level on the match, ranging from 0 (no confidence) to 1 (full |
| /// confidence). |
| core.double score; |
| |
| GoogleCloudVisionV1p3beta1ProductSearchResultsResult(); |
| |
| GoogleCloudVisionV1p3beta1ProductSearchResultsResult.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("image")) { |
| image = _json["image"]; |
| } |
| if (_json.containsKey("product")) { |
| product = |
| new GoogleCloudVisionV1p3beta1Product.fromJson(_json["product"]); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (image != null) { |
| _json["image"] = image; |
| } |
| if (product != null) { |
| _json["product"] = (product).toJson(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// A `Property` consists of a user-supplied name/value pair. |
| class GoogleCloudVisionV1p3beta1Property { |
| /// Name of the property. |
| core.String name; |
| |
| /// Value of numeric properties. |
| core.String uint64Value; |
| |
| /// Value of the property. |
| core.String value; |
| |
| GoogleCloudVisionV1p3beta1Property(); |
| |
| GoogleCloudVisionV1p3beta1Property.fromJson(core.Map _json) { |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("uint64Value")) { |
| uint64Value = _json["uint64Value"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (uint64Value != null) { |
| _json["uint64Value"] = uint64Value; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// A `ReferenceImage` represents a product image and its associated metadata, |
| /// such as bounding boxes. |
| class GoogleCloudVisionV1p3beta1ReferenceImage { |
| /// Optional. Bounding polygons around the areas of interest in the reference |
| /// image. If this field is empty, the system will try to detect regions of |
| /// interest. At most 10 bounding polygons will be used. The provided shape is |
| /// converted into a non-rotated rectangle. Once converted, the small edge of |
| /// the rectangle must be greater than or equal to 300 pixels. The aspect |
| /// ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). |
| core.List<GoogleCloudVisionV1p3beta1BoundingPoly> boundingPolys; |
| |
| /// The resource name of the reference image. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. |
| /// This field is ignored when creating a reference image. |
| core.String name; |
| |
| /// Required. The Google Cloud Storage URI of the reference image. The URI |
| /// must start with `gs://`. |
| core.String uri; |
| |
| GoogleCloudVisionV1p3beta1ReferenceImage(); |
| |
| GoogleCloudVisionV1p3beta1ReferenceImage.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPolys")) { |
| boundingPolys = (_json["boundingPolys"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1BoundingPoly>((value) => |
| new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPolys != null) { |
| _json["boundingPolys"] = |
| boundingPolys.map((value) => (value).toJson()).toList(); |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of features pertaining to the image, computed by computer vision methods |
| /// over safe-search verticals (for example, adult, spoof, medical, violence). |
| class GoogleCloudVisionV1p3beta1SafeSearchAnnotation { |
| /// Represents the adult content likelihood for the image. Adult content may |
| /// contain elements such as nudity, pornographic images or cartoons, or |
| /// sexual activities. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String adult; |
| |
| /// Likelihood that this is a medical image. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String medical; |
| |
| /// Likelihood that the request image contains racy content. Racy content may |
| /// include (but is not limited to) skimpy or sheer clothing, strategically |
| /// covered nudity, lewd or provocative poses, or close-ups of sensitive body |
| /// areas. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String racy; |
| |
| /// Spoof likelihood. The likelihood that an modification was made to the |
| /// image's canonical version to make it appear funny or offensive. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String spoof; |
| |
| /// Likelihood that this image contains violent content. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String violence; |
| |
| GoogleCloudVisionV1p3beta1SafeSearchAnnotation(); |
| |
| GoogleCloudVisionV1p3beta1SafeSearchAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("adult")) { |
| adult = _json["adult"]; |
| } |
| if (_json.containsKey("medical")) { |
| medical = _json["medical"]; |
| } |
| if (_json.containsKey("racy")) { |
| racy = _json["racy"]; |
| } |
| if (_json.containsKey("spoof")) { |
| spoof = _json["spoof"]; |
| } |
| if (_json.containsKey("violence")) { |
| violence = _json["violence"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (adult != null) { |
| _json["adult"] = adult; |
| } |
| if (medical != null) { |
| _json["medical"] = medical; |
| } |
| if (racy != null) { |
| _json["racy"] = racy; |
| } |
| if (spoof != null) { |
| _json["spoof"] = spoof; |
| } |
| if (violence != null) { |
| _json["violence"] = violence; |
| } |
| return _json; |
| } |
| } |
| |
| /// A single symbol representation. |
| class GoogleCloudVisionV1p3beta1Symbol { |
| /// The bounding box for the symbol. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the symbol. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the symbol. |
| GoogleCloudVisionV1p3beta1TextAnnotationTextProperty property; |
| |
| /// The actual UTF-8 representation of the symbol. |
| core.String text; |
| |
| GoogleCloudVisionV1p3beta1Symbol(); |
| |
| GoogleCloudVisionV1p3beta1Symbol.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p3beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// TextAnnotation contains a structured representation of OCR extracted text. |
| /// The hierarchy of an OCR extracted text structure is like this: |
| /// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Each |
| /// structural component, starting from Page, may further have their own |
| /// properties. Properties describe detected languages, breaks etc.. Please |
| /// refer to the TextAnnotation.TextProperty message definition below for more |
| /// detail. |
| class GoogleCloudVisionV1p3beta1TextAnnotation { |
| /// List of pages detected by OCR. |
| core.List<GoogleCloudVisionV1p3beta1Page> pages; |
| |
| /// UTF-8 text detected on the pages. |
| core.String text; |
| |
| GoogleCloudVisionV1p3beta1TextAnnotation(); |
| |
| GoogleCloudVisionV1p3beta1TextAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("pages")) { |
| pages = (_json["pages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1Page>( |
| (value) => new GoogleCloudVisionV1p3beta1Page.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pages != null) { |
| _json["pages"] = pages.map((value) => (value).toJson()).toList(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected start or end of a structural component. |
| class GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak { |
| /// True if break prepends the element. |
| core.bool isPrefix; |
| |
| /// Detected break type. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown break label type. |
| /// - "SPACE" : Regular space. |
| /// - "SURE_SPACE" : Sure space (very wide). |
| /// - "EOL_SURE_SPACE" : Line-wrapping break. |
| /// - "HYPHEN" : End-line hyphen that is not present in text; does not |
| /// co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. |
| /// - "LINE_BREAK" : Line break that ends a paragraph. |
| core.String type; |
| |
| GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak(); |
| |
| GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("isPrefix")) { |
| isPrefix = _json["isPrefix"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (isPrefix != null) { |
| _json["isPrefix"] = isPrefix; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected language for a structural component. |
| class GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage { |
| /// Confidence of detected language. Range [0, 1]. |
| core.double confidence; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage(); |
| |
| GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Additional information detected on the structural component. |
| class GoogleCloudVisionV1p3beta1TextAnnotationTextProperty { |
| /// Detected start or end of a text segment. |
| GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak detectedBreak; |
| |
| /// A list of detected languages together with confidence. |
| core.List<GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage> |
| detectedLanguages; |
| |
| GoogleCloudVisionV1p3beta1TextAnnotationTextProperty(); |
| |
| GoogleCloudVisionV1p3beta1TextAnnotationTextProperty.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("detectedBreak")) { |
| detectedBreak = |
| new GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak.fromJson( |
| _json["detectedBreak"]); |
| } |
| if (_json.containsKey("detectedLanguages")) { |
| detectedLanguages = (_json["detectedLanguages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage>( |
| (value) => |
| new GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage |
| .fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (detectedBreak != null) { |
| _json["detectedBreak"] = (detectedBreak).toJson(); |
| } |
| if (detectedLanguages != null) { |
| _json["detectedLanguages"] = |
| detectedLanguages.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the vertex coordinates |
| /// are in the same scale as the original image. |
| class GoogleCloudVisionV1p3beta1Vertex { |
| /// X coordinate. |
| core.int x; |
| |
| /// Y coordinate. |
| core.int y; |
| |
| GoogleCloudVisionV1p3beta1Vertex(); |
| |
| GoogleCloudVisionV1p3beta1Vertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"]; |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Relevant information for the image from the Internet. |
| class GoogleCloudVisionV1p3beta1WebDetection { |
| /// The service's best guess as to the topic of the request image. Inferred |
| /// from similar images on the open web. |
| core.List<GoogleCloudVisionV1p3beta1WebDetectionWebLabel> bestGuessLabels; |
| |
| /// Fully matching images from the Internet. Can include resized copies of the |
| /// query image. |
| core.List<GoogleCloudVisionV1p3beta1WebDetectionWebImage> fullMatchingImages; |
| |
| /// Web pages containing the matching images from the Internet. |
| core.List<GoogleCloudVisionV1p3beta1WebDetectionWebPage> |
| pagesWithMatchingImages; |
| |
| /// Partial matching images from the Internet. Those images are similar enough |
| /// to share some key-point features. For example an original image will |
| /// likely have partial matching for its crops. |
| core.List<GoogleCloudVisionV1p3beta1WebDetectionWebImage> |
| partialMatchingImages; |
| |
| /// The visually similar image results. |
| core.List<GoogleCloudVisionV1p3beta1WebDetectionWebImage> |
| visuallySimilarImages; |
| |
| /// Deduced entities from similar images on the Internet. |
| core.List<GoogleCloudVisionV1p3beta1WebDetectionWebEntity> webEntities; |
| |
| GoogleCloudVisionV1p3beta1WebDetection(); |
| |
| GoogleCloudVisionV1p3beta1WebDetection.fromJson(core.Map _json) { |
| if (_json.containsKey("bestGuessLabels")) { |
| bestGuessLabels = (_json["bestGuessLabels"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1WebDetectionWebLabel>((value) => |
| new GoogleCloudVisionV1p3beta1WebDetectionWebLabel.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p3beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("pagesWithMatchingImages")) { |
| pagesWithMatchingImages = (_json["pagesWithMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1WebDetectionWebPage>((value) => |
| new GoogleCloudVisionV1p3beta1WebDetectionWebPage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p3beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("visuallySimilarImages")) { |
| visuallySimilarImages = (_json["visuallySimilarImages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p3beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("webEntities")) { |
| webEntities = (_json["webEntities"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1WebDetectionWebEntity>((value) => |
| new GoogleCloudVisionV1p3beta1WebDetectionWebEntity.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (bestGuessLabels != null) { |
| _json["bestGuessLabels"] = |
| bestGuessLabels.map((value) => (value).toJson()).toList(); |
| } |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pagesWithMatchingImages != null) { |
| _json["pagesWithMatchingImages"] = |
| pagesWithMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (visuallySimilarImages != null) { |
| _json["visuallySimilarImages"] = |
| visuallySimilarImages.map((value) => (value).toJson()).toList(); |
| } |
| if (webEntities != null) { |
| _json["webEntities"] = |
| webEntities.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Entity deduced from similar images on the Internet. |
| class GoogleCloudVisionV1p3beta1WebDetectionWebEntity { |
| /// Canonical description of the entity, in English. |
| core.String description; |
| |
| /// Opaque entity ID. |
| core.String entityId; |
| |
| /// Overall relevancy score for the entity. Not normalized and not comparable |
| /// across different image queries. |
| core.double score; |
| |
| GoogleCloudVisionV1p3beta1WebDetectionWebEntity(); |
| |
| GoogleCloudVisionV1p3beta1WebDetectionWebEntity.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("entityId")) { |
| entityId = _json["entityId"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (entityId != null) { |
| _json["entityId"] = entityId; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for online images. |
| class GoogleCloudVisionV1p3beta1WebDetectionWebImage { |
| /// (Deprecated) Overall relevancy score for the image. |
| core.double score; |
| |
| /// The result image URL. |
| core.String url; |
| |
| GoogleCloudVisionV1p3beta1WebDetectionWebImage(); |
| |
| GoogleCloudVisionV1p3beta1WebDetectionWebImage.fromJson(core.Map _json) { |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// Label to provide extra metadata for the web detection. |
| class GoogleCloudVisionV1p3beta1WebDetectionWebLabel { |
| /// Label for extra metadata. |
| core.String label; |
| |
| /// The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". For |
| /// more information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| GoogleCloudVisionV1p3beta1WebDetectionWebLabel(); |
| |
| GoogleCloudVisionV1p3beta1WebDetectionWebLabel.fromJson(core.Map _json) { |
| if (_json.containsKey("label")) { |
| label = _json["label"]; |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (label != null) { |
| _json["label"] = label; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for web pages. |
| class GoogleCloudVisionV1p3beta1WebDetectionWebPage { |
| /// Fully matching images on the page. Can include resized copies of the query |
| /// image. |
| core.List<GoogleCloudVisionV1p3beta1WebDetectionWebImage> fullMatchingImages; |
| |
| /// Title for the web page, may contain HTML markups. |
| core.String pageTitle; |
| |
| /// Partial matching images on the page. Those images are similar enough to |
| /// share some key-point features. For example an original image will likely |
| /// have partial matching for its crops. |
| core.List<GoogleCloudVisionV1p3beta1WebDetectionWebImage> |
| partialMatchingImages; |
| |
| /// (Deprecated) Overall relevancy score for the web page. |
| core.double score; |
| |
| /// The result web page URL. |
| core.String url; |
| |
| GoogleCloudVisionV1p3beta1WebDetectionWebPage(); |
| |
| GoogleCloudVisionV1p3beta1WebDetectionWebPage.fromJson(core.Map _json) { |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p3beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("pageTitle")) { |
| pageTitle = _json["pageTitle"]; |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p3beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pageTitle != null) { |
| _json["pageTitle"] = pageTitle; |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// A word representation. |
| class GoogleCloudVisionV1p3beta1Word { |
| /// The bounding box for the word. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p3beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the word. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the word. |
| GoogleCloudVisionV1p3beta1TextAnnotationTextProperty property; |
| |
| /// List of symbols in the word. The order of the symbols follows the natural |
| /// reading order. |
| core.List<GoogleCloudVisionV1p3beta1Symbol> symbols; |
| |
| GoogleCloudVisionV1p3beta1Word(); |
| |
| GoogleCloudVisionV1p3beta1Word.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p3beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p3beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("symbols")) { |
| symbols = (_json["symbols"] as core.List) |
| .map<GoogleCloudVisionV1p3beta1Symbol>( |
| (value) => new GoogleCloudVisionV1p3beta1Symbol.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (symbols != null) { |
| _json["symbols"] = symbols.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to a single file annotation request. A file may contain one or more |
| /// images, which individually have their own responses. |
| class GoogleCloudVisionV1p4beta1AnnotateFileResponse { |
| /// If set, represents the error message for the failed request. The |
| /// `responses` field will not be set in this case. |
| Status error; |
| |
| /// Information about the file for which this response is generated. |
| GoogleCloudVisionV1p4beta1InputConfig inputConfig; |
| |
| /// Individual responses to images found within the file. This field will be |
| /// empty if the `error` field is set. |
| core.List<GoogleCloudVisionV1p4beta1AnnotateImageResponse> responses; |
| |
| /// This field gives the total number of pages in the file. |
| core.int totalPages; |
| |
| GoogleCloudVisionV1p4beta1AnnotateFileResponse(); |
| |
| GoogleCloudVisionV1p4beta1AnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("inputConfig")) { |
| inputConfig = new GoogleCloudVisionV1p4beta1InputConfig.fromJson( |
| _json["inputConfig"]); |
| } |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1AnnotateImageResponse>((value) => |
| new GoogleCloudVisionV1p4beta1AnnotateImageResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("totalPages")) { |
| totalPages = _json["totalPages"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (inputConfig != null) { |
| _json["inputConfig"] = (inputConfig).toJson(); |
| } |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| if (totalPages != null) { |
| _json["totalPages"] = totalPages; |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an image annotation request. |
| class GoogleCloudVisionV1p4beta1AnnotateImageResponse { |
| /// If present, contextual information is needed to understand where this |
| /// image comes from. |
| GoogleCloudVisionV1p4beta1ImageAnnotationContext context; |
| |
| /// If present, crop hints have completed successfully. |
| GoogleCloudVisionV1p4beta1CropHintsAnnotation cropHintsAnnotation; |
| |
| /// If set, represents the error message for the operation. Note that |
| /// filled-in image annotations are guaranteed to be correct, even when |
| /// `error` is set. |
| Status error; |
| |
| /// If present, face detection has completed successfully. |
| core.List<GoogleCloudVisionV1p4beta1FaceAnnotation> faceAnnotations; |
| |
| /// If present, text (OCR) detection or document (OCR) text detection has |
| /// completed successfully. This annotation provides the structural hierarchy |
| /// for the OCR detected text. |
| GoogleCloudVisionV1p4beta1TextAnnotation fullTextAnnotation; |
| |
| /// If present, image properties were extracted successfully. |
| GoogleCloudVisionV1p4beta1ImageProperties imagePropertiesAnnotation; |
| |
| /// If present, label detection has completed successfully. |
| core.List<GoogleCloudVisionV1p4beta1EntityAnnotation> labelAnnotations; |
| |
| /// If present, landmark detection has completed successfully. |
| core.List<GoogleCloudVisionV1p4beta1EntityAnnotation> landmarkAnnotations; |
| |
| /// If present, localized object detection has completed successfully. This |
| /// will be sorted descending by confidence score. |
| core.List<GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation> |
| localizedObjectAnnotations; |
| |
| /// If present, logo detection has completed successfully. |
| core.List<GoogleCloudVisionV1p4beta1EntityAnnotation> logoAnnotations; |
| |
| /// If present, product search has completed successfully. |
| GoogleCloudVisionV1p4beta1ProductSearchResults productSearchResults; |
| |
| /// If present, safe-search annotation has completed successfully. |
| GoogleCloudVisionV1p4beta1SafeSearchAnnotation safeSearchAnnotation; |
| |
| /// If present, text (OCR) detection has completed successfully. |
| core.List<GoogleCloudVisionV1p4beta1EntityAnnotation> textAnnotations; |
| |
| /// If present, web detection has completed successfully. |
| GoogleCloudVisionV1p4beta1WebDetection webDetection; |
| |
| GoogleCloudVisionV1p4beta1AnnotateImageResponse(); |
| |
| GoogleCloudVisionV1p4beta1AnnotateImageResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("context")) { |
| context = new GoogleCloudVisionV1p4beta1ImageAnnotationContext.fromJson( |
| _json["context"]); |
| } |
| if (_json.containsKey("cropHintsAnnotation")) { |
| cropHintsAnnotation = |
| new GoogleCloudVisionV1p4beta1CropHintsAnnotation.fromJson( |
| _json["cropHintsAnnotation"]); |
| } |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("faceAnnotations")) { |
| faceAnnotations = (_json["faceAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1FaceAnnotation>((value) => |
| new GoogleCloudVisionV1p4beta1FaceAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullTextAnnotation")) { |
| fullTextAnnotation = |
| new GoogleCloudVisionV1p4beta1TextAnnotation.fromJson( |
| _json["fullTextAnnotation"]); |
| } |
| if (_json.containsKey("imagePropertiesAnnotation")) { |
| imagePropertiesAnnotation = |
| new GoogleCloudVisionV1p4beta1ImageProperties.fromJson( |
| _json["imagePropertiesAnnotation"]); |
| } |
| if (_json.containsKey("labelAnnotations")) { |
| labelAnnotations = (_json["labelAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p4beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("landmarkAnnotations")) { |
| landmarkAnnotations = (_json["landmarkAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p4beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("localizedObjectAnnotations")) { |
| localizedObjectAnnotations = (_json["localizedObjectAnnotations"] |
| as core.List) |
| .map<GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation>((value) => |
| new GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("logoAnnotations")) { |
| logoAnnotations = (_json["logoAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p4beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("productSearchResults")) { |
| productSearchResults = |
| new GoogleCloudVisionV1p4beta1ProductSearchResults.fromJson( |
| _json["productSearchResults"]); |
| } |
| if (_json.containsKey("safeSearchAnnotation")) { |
| safeSearchAnnotation = |
| new GoogleCloudVisionV1p4beta1SafeSearchAnnotation.fromJson( |
| _json["safeSearchAnnotation"]); |
| } |
| if (_json.containsKey("textAnnotations")) { |
| textAnnotations = (_json["textAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1EntityAnnotation>((value) => |
| new GoogleCloudVisionV1p4beta1EntityAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("webDetection")) { |
| webDetection = new GoogleCloudVisionV1p4beta1WebDetection.fromJson( |
| _json["webDetection"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (context != null) { |
| _json["context"] = (context).toJson(); |
| } |
| if (cropHintsAnnotation != null) { |
| _json["cropHintsAnnotation"] = (cropHintsAnnotation).toJson(); |
| } |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (faceAnnotations != null) { |
| _json["faceAnnotations"] = |
| faceAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (fullTextAnnotation != null) { |
| _json["fullTextAnnotation"] = (fullTextAnnotation).toJson(); |
| } |
| if (imagePropertiesAnnotation != null) { |
| _json["imagePropertiesAnnotation"] = (imagePropertiesAnnotation).toJson(); |
| } |
| if (labelAnnotations != null) { |
| _json["labelAnnotations"] = |
| labelAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (landmarkAnnotations != null) { |
| _json["landmarkAnnotations"] = |
| landmarkAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (localizedObjectAnnotations != null) { |
| _json["localizedObjectAnnotations"] = |
| localizedObjectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (logoAnnotations != null) { |
| _json["logoAnnotations"] = |
| logoAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (productSearchResults != null) { |
| _json["productSearchResults"] = (productSearchResults).toJson(); |
| } |
| if (safeSearchAnnotation != null) { |
| _json["safeSearchAnnotation"] = (safeSearchAnnotation).toJson(); |
| } |
| if (textAnnotations != null) { |
| _json["textAnnotations"] = |
| textAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (webDetection != null) { |
| _json["webDetection"] = (webDetection).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for a single offline file annotation request. |
| class GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse { |
| /// The output location and metadata from AsyncAnnotateFileRequest. |
| GoogleCloudVisionV1p4beta1OutputConfig outputConfig; |
| |
| GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse(); |
| |
| GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new GoogleCloudVisionV1p4beta1OutputConfig.fromJson( |
| _json["outputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an async batch file annotation request. |
| class GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse { |
| /// The list of file annotation responses, one for each request in |
| /// AsyncBatchAnnotateFilesRequest. |
| core.List<GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse> responses; |
| |
| GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse(); |
| |
| GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse>((value) => |
| new GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response to an async batch image annotation request. |
| class GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse { |
| /// The output location and metadata from AsyncBatchAnnotateImagesRequest. |
| GoogleCloudVisionV1p4beta1OutputConfig outputConfig; |
| |
| GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse(); |
| |
| GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("outputConfig")) { |
| outputConfig = new GoogleCloudVisionV1p4beta1OutputConfig.fromJson( |
| _json["outputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (outputConfig != null) { |
| _json["outputConfig"] = (outputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of file annotation responses. |
| class GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse { |
| /// The list of file annotation responses, each response corresponding to each |
| /// AnnotateFileRequest in BatchAnnotateFilesRequest. |
| core.List<GoogleCloudVisionV1p4beta1AnnotateFileResponse> responses; |
| |
| GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse(); |
| |
| GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("responses")) { |
| responses = (_json["responses"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1AnnotateFileResponse>((value) => |
| new GoogleCloudVisionV1p4beta1AnnotateFileResponse.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (responses != null) { |
| _json["responses"] = responses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for the batch operations such as the current state. This is |
| /// included in the `metadata` field of the `Operation` returned by the |
| /// `GetOperation` call of the `google::longrunning::Operations` service. |
| class GoogleCloudVisionV1p4beta1BatchOperationMetadata { |
| /// The time when the batch request is finished and |
| /// google.longrunning.Operation.done is set to true. |
| core.String endTime; |
| |
| /// The current state of the batch operation. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Invalid. |
| /// - "PROCESSING" : Request is actively being processed. |
| /// - "SUCCESSFUL" : The request is done and at least one item has been |
| /// successfully processed. |
| /// - "FAILED" : The request is done and no item has been successfully |
| /// processed. |
| /// - "CANCELLED" : The request is done after the |
| /// longrunning.Operations.CancelOperation has been called by the user. Any |
| /// records that were processed before the cancel command are output as |
| /// specified in the request. |
| core.String state; |
| |
| /// The time when the batch request was submitted to the server. |
| core.String submitTime; |
| |
| GoogleCloudVisionV1p4beta1BatchOperationMetadata(); |
| |
| GoogleCloudVisionV1p4beta1BatchOperationMetadata.fromJson(core.Map _json) { |
| if (_json.containsKey("endTime")) { |
| endTime = _json["endTime"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| if (_json.containsKey("submitTime")) { |
| submitTime = _json["submitTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (endTime != null) { |
| _json["endTime"] = endTime; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| if (submitTime != null) { |
| _json["submitTime"] = submitTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// Logical element on the page. |
| class GoogleCloudVisionV1p4beta1Block { |
| /// Detected block type (text, image etc) for this block. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown block type. |
| /// - "TEXT" : Regular text block. |
| /// - "TABLE" : Table block. |
| /// - "PICTURE" : Image block. |
| /// - "RULER" : Horizontal/vertical line box. |
| /// - "BARCODE" : Barcode block. |
| core.String blockType; |
| |
| /// The bounding box for the block. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results on the block. Range [0, 1]. |
| core.double confidence; |
| |
| /// List of paragraphs in this block (if this blocks is of type text). |
| core.List<GoogleCloudVisionV1p4beta1Paragraph> paragraphs; |
| |
| /// Additional information detected for the block. |
| GoogleCloudVisionV1p4beta1TextAnnotationTextProperty property; |
| |
| GoogleCloudVisionV1p4beta1Block(); |
| |
| GoogleCloudVisionV1p4beta1Block.fromJson(core.Map _json) { |
| if (_json.containsKey("blockType")) { |
| blockType = _json["blockType"]; |
| } |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("paragraphs")) { |
| paragraphs = (_json["paragraphs"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1Paragraph>((value) => |
| new GoogleCloudVisionV1p4beta1Paragraph.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p4beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blockType != null) { |
| _json["blockType"] = blockType; |
| } |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (paragraphs != null) { |
| _json["paragraphs"] = |
| paragraphs.map((value) => (value).toJson()).toList(); |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A bounding polygon for the detected image annotation. |
| class GoogleCloudVisionV1p4beta1BoundingPoly { |
| /// The bounding polygon normalized vertices. |
| core.List<GoogleCloudVisionV1p4beta1NormalizedVertex> normalizedVertices; |
| |
| /// The bounding polygon vertices. |
| core.List<GoogleCloudVisionV1p4beta1Vertex> vertices; |
| |
| GoogleCloudVisionV1p4beta1BoundingPoly(); |
| |
| GoogleCloudVisionV1p4beta1BoundingPoly.fromJson(core.Map _json) { |
| if (_json.containsKey("normalizedVertices")) { |
| normalizedVertices = (_json["normalizedVertices"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1NormalizedVertex>((value) => |
| new GoogleCloudVisionV1p4beta1NormalizedVertex.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("vertices")) { |
| vertices = (_json["vertices"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1Vertex>( |
| (value) => new GoogleCloudVisionV1p4beta1Vertex.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (normalizedVertices != null) { |
| _json["normalizedVertices"] = |
| normalizedVertices.map((value) => (value).toJson()).toList(); |
| } |
| if (vertices != null) { |
| _json["vertices"] = vertices.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A Celebrity is a group of Faces with an identity. |
| class GoogleCloudVisionV1p4beta1Celebrity { |
| /// The Celebrity's description. |
| core.String description; |
| |
| /// The Celebrity's display name. |
| core.String displayName; |
| |
| /// The resource name of the preloaded Celebrity. Has the format |
| /// `builtin/{mid}`. |
| core.String name; |
| |
| GoogleCloudVisionV1p4beta1Celebrity(); |
| |
| GoogleCloudVisionV1p4beta1Celebrity.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| return _json; |
| } |
| } |
| |
| /// Color information consists of RGB channels, score, and the fraction of the |
| /// image that the color occupies in the image. |
| class GoogleCloudVisionV1p4beta1ColorInfo { |
| /// RGB components of the color. |
| Color color; |
| |
| /// The fraction of pixels the color occupies in the image. Value in range [0, |
| /// 1]. |
| core.double pixelFraction; |
| |
| /// Image-specific score for this color. Value in range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p4beta1ColorInfo(); |
| |
| GoogleCloudVisionV1p4beta1ColorInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("color")) { |
| color = new Color.fromJson(_json["color"]); |
| } |
| if (_json.containsKey("pixelFraction")) { |
| pixelFraction = _json["pixelFraction"].toDouble(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (color != null) { |
| _json["color"] = (color).toJson(); |
| } |
| if (pixelFraction != null) { |
| _json["pixelFraction"] = pixelFraction; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Single crop hint that is used to generate a new crop when serving an image. |
| class GoogleCloudVisionV1p4beta1CropHint { |
| /// The bounding polygon for the crop region. The coordinates of the bounding |
| /// box are in the original image's scale. |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingPoly; |
| |
| /// Confidence of this being a salient region. Range [0, 1]. |
| core.double confidence; |
| |
| /// Fraction of importance of this salient region with respect to the original |
| /// image. |
| core.double importanceFraction; |
| |
| GoogleCloudVisionV1p4beta1CropHint(); |
| |
| GoogleCloudVisionV1p4beta1CropHint.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("importanceFraction")) { |
| importanceFraction = _json["importanceFraction"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (importanceFraction != null) { |
| _json["importanceFraction"] = importanceFraction; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of crop hints that are used to generate new crops when serving images. |
| class GoogleCloudVisionV1p4beta1CropHintsAnnotation { |
| /// Crop hint results. |
| core.List<GoogleCloudVisionV1p4beta1CropHint> cropHints; |
| |
| GoogleCloudVisionV1p4beta1CropHintsAnnotation(); |
| |
| GoogleCloudVisionV1p4beta1CropHintsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("cropHints")) { |
| cropHints = (_json["cropHints"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1CropHint>( |
| (value) => new GoogleCloudVisionV1p4beta1CropHint.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (cropHints != null) { |
| _json["cropHints"] = cropHints.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of dominant colors and their corresponding scores. |
| class GoogleCloudVisionV1p4beta1DominantColorsAnnotation { |
| /// RGB color values with their score and pixel fraction. |
| core.List<GoogleCloudVisionV1p4beta1ColorInfo> colors; |
| |
| GoogleCloudVisionV1p4beta1DominantColorsAnnotation(); |
| |
| GoogleCloudVisionV1p4beta1DominantColorsAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("colors")) { |
| colors = (_json["colors"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1ColorInfo>((value) => |
| new GoogleCloudVisionV1p4beta1ColorInfo.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (colors != null) { |
| _json["colors"] = colors.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected entity features. |
| class GoogleCloudVisionV1p4beta1EntityAnnotation { |
| /// Image region to which this entity belongs. Not produced for |
| /// `LABEL_DETECTION` features. |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingPoly; |
| |
| /// **Deprecated. Use `score` instead.** The accuracy of the entity detection |
| /// in an image. For example, for an image in which the "Eiffel Tower" entity |
| /// is detected, this field represents the confidence that there is a tower in |
| /// the query image. Range [0, 1]. |
| core.double confidence; |
| |
| /// Entity textual description, expressed in its `locale` language. |
| core.String description; |
| |
| /// The language code for the locale in which the entity textual `description` |
| /// is expressed. |
| core.String locale; |
| |
| /// The location information for the detected entity. Multiple `LocationInfo` |
| /// elements can be present because one location may indicate the location of |
| /// the scene in the image, and another location may indicate the location of |
| /// the place where the image was taken. Location information is usually |
| /// present for landmarks. |
| core.List<GoogleCloudVisionV1p4beta1LocationInfo> locations; |
| |
| /// Opaque entity ID. Some IDs may be available in [Google Knowledge Graph |
| /// Search API](https://developers.google.com/knowledge-graph/). |
| core.String mid; |
| |
| /// Some entities may have optional user-supplied `Property` (name/value) |
| /// fields, such a score or string that qualifies the entity. |
| core.List<GoogleCloudVisionV1p4beta1Property> properties; |
| |
| /// Overall score of the result. Range [0, 1]. |
| core.double score; |
| |
| /// The relevancy of the ICA (Image Content Annotation) label to the image. |
| /// For example, the relevancy of "tower" is likely higher to an image |
| /// containing the detected "Eiffel Tower" than to an image containing a |
| /// detected distant towering building, even though the confidence that there |
| /// is a tower in each image may be the same. Range [0, 1]. |
| core.double topicality; |
| |
| GoogleCloudVisionV1p4beta1EntityAnnotation(); |
| |
| GoogleCloudVisionV1p4beta1EntityAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("locale")) { |
| locale = _json["locale"]; |
| } |
| if (_json.containsKey("locations")) { |
| locations = (_json["locations"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1LocationInfo>((value) => |
| new GoogleCloudVisionV1p4beta1LocationInfo.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("properties")) { |
| properties = (_json["properties"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1Property>( |
| (value) => new GoogleCloudVisionV1p4beta1Property.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("topicality")) { |
| topicality = _json["topicality"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (locale != null) { |
| _json["locale"] = locale; |
| } |
| if (locations != null) { |
| _json["locations"] = locations.map((value) => (value).toJson()).toList(); |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (properties != null) { |
| _json["properties"] = |
| properties.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (topicality != null) { |
| _json["topicality"] = topicality; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face annotation object contains the results of face detection. |
| class GoogleCloudVisionV1p4beta1FaceAnnotation { |
| /// Anger likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String angerLikelihood; |
| |
| /// Blurred likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String blurredLikelihood; |
| |
| /// The bounding polygon around the face. The coordinates of the bounding box |
| /// are in the original image's scale. The bounding box is computed to "frame" |
| /// the face in accordance with human expectations. It is based on the |
| /// landmarker results. Note that one or more x and/or y coordinates may not |
| /// be generated in the `BoundingPoly` (the polygon will be unbounded) if only |
| /// a partial face appears in the image to be annotated. |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingPoly; |
| |
| /// Detection confidence. Range [0, 1]. |
| core.double detectionConfidence; |
| |
| /// The `fd_bounding_poly` bounding polygon is tighter than the |
| /// `boundingPoly`, and encloses only the skin part of the face. Typically, it |
| /// is used to eliminate the face from any image analysis that detects the |
| /// "amount of skin" visible in an image. It is not based on the landmarker |
| /// results, only on the initial face detection, hence the fd (face detection) |
| /// prefix. |
| GoogleCloudVisionV1p4beta1BoundingPoly fdBoundingPoly; |
| |
| /// Headwear likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String headwearLikelihood; |
| |
| /// Joy likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String joyLikelihood; |
| |
| /// Face landmarking confidence. Range [0, 1]. |
| core.double landmarkingConfidence; |
| |
| /// Detected face landmarks. |
| core.List<GoogleCloudVisionV1p4beta1FaceAnnotationLandmark> landmarks; |
| |
| /// Yaw angle, which indicates the leftward/rightward angle that the face is |
| /// pointing relative to the vertical plane perpendicular to the image. Range |
| /// [-180,180]. |
| core.double panAngle; |
| |
| /// Additional recognition information. Only computed if |
| /// image_context.face_recognition_params is provided, **and** a match is |
| /// found to a Celebrity in the input CelebritySet. This field is sorted in |
| /// order of decreasing confidence values. |
| core.List<GoogleCloudVisionV1p4beta1FaceRecognitionResult> recognitionResult; |
| |
| /// Roll angle, which indicates the amount of clockwise/anti-clockwise |
| /// rotation of the face relative to the image vertical about the axis |
| /// perpendicular to the face. Range [-180,180]. |
| core.double rollAngle; |
| |
| /// Sorrow likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String sorrowLikelihood; |
| |
| /// Surprise likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String surpriseLikelihood; |
| |
| /// Pitch angle, which indicates the upwards/downwards angle that the face is |
| /// pointing relative to the image's horizontal plane. Range [-180,180]. |
| core.double tiltAngle; |
| |
| /// Under-exposed likelihood. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String underExposedLikelihood; |
| |
| GoogleCloudVisionV1p4beta1FaceAnnotation(); |
| |
| GoogleCloudVisionV1p4beta1FaceAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("angerLikelihood")) { |
| angerLikelihood = _json["angerLikelihood"]; |
| } |
| if (_json.containsKey("blurredLikelihood")) { |
| blurredLikelihood = _json["blurredLikelihood"]; |
| } |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("detectionConfidence")) { |
| detectionConfidence = _json["detectionConfidence"].toDouble(); |
| } |
| if (_json.containsKey("fdBoundingPoly")) { |
| fdBoundingPoly = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["fdBoundingPoly"]); |
| } |
| if (_json.containsKey("headwearLikelihood")) { |
| headwearLikelihood = _json["headwearLikelihood"]; |
| } |
| if (_json.containsKey("joyLikelihood")) { |
| joyLikelihood = _json["joyLikelihood"]; |
| } |
| if (_json.containsKey("landmarkingConfidence")) { |
| landmarkingConfidence = _json["landmarkingConfidence"].toDouble(); |
| } |
| if (_json.containsKey("landmarks")) { |
| landmarks = (_json["landmarks"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1FaceAnnotationLandmark>((value) => |
| new GoogleCloudVisionV1p4beta1FaceAnnotationLandmark.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("panAngle")) { |
| panAngle = _json["panAngle"].toDouble(); |
| } |
| if (_json.containsKey("recognitionResult")) { |
| recognitionResult = (_json["recognitionResult"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1FaceRecognitionResult>((value) => |
| new GoogleCloudVisionV1p4beta1FaceRecognitionResult.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("rollAngle")) { |
| rollAngle = _json["rollAngle"].toDouble(); |
| } |
| if (_json.containsKey("sorrowLikelihood")) { |
| sorrowLikelihood = _json["sorrowLikelihood"]; |
| } |
| if (_json.containsKey("surpriseLikelihood")) { |
| surpriseLikelihood = _json["surpriseLikelihood"]; |
| } |
| if (_json.containsKey("tiltAngle")) { |
| tiltAngle = _json["tiltAngle"].toDouble(); |
| } |
| if (_json.containsKey("underExposedLikelihood")) { |
| underExposedLikelihood = _json["underExposedLikelihood"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (angerLikelihood != null) { |
| _json["angerLikelihood"] = angerLikelihood; |
| } |
| if (blurredLikelihood != null) { |
| _json["blurredLikelihood"] = blurredLikelihood; |
| } |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (detectionConfidence != null) { |
| _json["detectionConfidence"] = detectionConfidence; |
| } |
| if (fdBoundingPoly != null) { |
| _json["fdBoundingPoly"] = (fdBoundingPoly).toJson(); |
| } |
| if (headwearLikelihood != null) { |
| _json["headwearLikelihood"] = headwearLikelihood; |
| } |
| if (joyLikelihood != null) { |
| _json["joyLikelihood"] = joyLikelihood; |
| } |
| if (landmarkingConfidence != null) { |
| _json["landmarkingConfidence"] = landmarkingConfidence; |
| } |
| if (landmarks != null) { |
| _json["landmarks"] = landmarks.map((value) => (value).toJson()).toList(); |
| } |
| if (panAngle != null) { |
| _json["panAngle"] = panAngle; |
| } |
| if (recognitionResult != null) { |
| _json["recognitionResult"] = |
| recognitionResult.map((value) => (value).toJson()).toList(); |
| } |
| if (rollAngle != null) { |
| _json["rollAngle"] = rollAngle; |
| } |
| if (sorrowLikelihood != null) { |
| _json["sorrowLikelihood"] = sorrowLikelihood; |
| } |
| if (surpriseLikelihood != null) { |
| _json["surpriseLikelihood"] = surpriseLikelihood; |
| } |
| if (tiltAngle != null) { |
| _json["tiltAngle"] = tiltAngle; |
| } |
| if (underExposedLikelihood != null) { |
| _json["underExposedLikelihood"] = underExposedLikelihood; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face-specific landmark (for example, a face feature). |
| class GoogleCloudVisionV1p4beta1FaceAnnotationLandmark { |
| /// Face landmark position. |
| GoogleCloudVisionV1p4beta1Position position; |
| |
| /// Face landmark type. |
| /// Possible string values are: |
| /// - "UNKNOWN_LANDMARK" : Unknown face landmark detected. Should not be |
| /// filled. |
| /// - "LEFT_EYE" : Left eye. |
| /// - "RIGHT_EYE" : Right eye. |
| /// - "LEFT_OF_LEFT_EYEBROW" : Left of left eyebrow. |
| /// - "RIGHT_OF_LEFT_EYEBROW" : Right of left eyebrow. |
| /// - "LEFT_OF_RIGHT_EYEBROW" : Left of right eyebrow. |
| /// - "RIGHT_OF_RIGHT_EYEBROW" : Right of right eyebrow. |
| /// - "MIDPOINT_BETWEEN_EYES" : Midpoint between eyes. |
| /// - "NOSE_TIP" : Nose tip. |
| /// - "UPPER_LIP" : Upper lip. |
| /// - "LOWER_LIP" : Lower lip. |
| /// - "MOUTH_LEFT" : Mouth left. |
| /// - "MOUTH_RIGHT" : Mouth right. |
| /// - "MOUTH_CENTER" : Mouth center. |
| /// - "NOSE_BOTTOM_RIGHT" : Nose, bottom right. |
| /// - "NOSE_BOTTOM_LEFT" : Nose, bottom left. |
| /// - "NOSE_BOTTOM_CENTER" : Nose, bottom center. |
| /// - "LEFT_EYE_TOP_BOUNDARY" : Left eye, top boundary. |
| /// - "LEFT_EYE_RIGHT_CORNER" : Left eye, right corner. |
| /// - "LEFT_EYE_BOTTOM_BOUNDARY" : Left eye, bottom boundary. |
| /// - "LEFT_EYE_LEFT_CORNER" : Left eye, left corner. |
| /// - "RIGHT_EYE_TOP_BOUNDARY" : Right eye, top boundary. |
| /// - "RIGHT_EYE_RIGHT_CORNER" : Right eye, right corner. |
| /// - "RIGHT_EYE_BOTTOM_BOUNDARY" : Right eye, bottom boundary. |
| /// - "RIGHT_EYE_LEFT_CORNER" : Right eye, left corner. |
| /// - "LEFT_EYEBROW_UPPER_MIDPOINT" : Left eyebrow, upper midpoint. |
| /// - "RIGHT_EYEBROW_UPPER_MIDPOINT" : Right eyebrow, upper midpoint. |
| /// - "LEFT_EAR_TRAGION" : Left ear tragion. |
| /// - "RIGHT_EAR_TRAGION" : Right ear tragion. |
| /// - "LEFT_EYE_PUPIL" : Left eye pupil. |
| /// - "RIGHT_EYE_PUPIL" : Right eye pupil. |
| /// - "FOREHEAD_GLABELLA" : Forehead glabella. |
| /// - "CHIN_GNATHION" : Chin gnathion. |
| /// - "CHIN_LEFT_GONION" : Chin left gonion. |
| /// - "CHIN_RIGHT_GONION" : Chin right gonion. |
| /// - "LEFT_CHEEK_CENTER" : Left cheek center. |
| /// - "RIGHT_CHEEK_CENTER" : Right cheek center. |
| core.String type; |
| |
| GoogleCloudVisionV1p4beta1FaceAnnotationLandmark(); |
| |
| GoogleCloudVisionV1p4beta1FaceAnnotationLandmark.fromJson(core.Map _json) { |
| if (_json.containsKey("position")) { |
| position = |
| new GoogleCloudVisionV1p4beta1Position.fromJson(_json["position"]); |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (position != null) { |
| _json["position"] = (position).toJson(); |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about a face's identity. |
| class GoogleCloudVisionV1p4beta1FaceRecognitionResult { |
| /// The Celebrity that this face was matched to. |
| GoogleCloudVisionV1p4beta1Celebrity celebrity; |
| |
| /// Recognition confidence. Range [0, 1]. |
| core.double confidence; |
| |
| GoogleCloudVisionV1p4beta1FaceRecognitionResult(); |
| |
| GoogleCloudVisionV1p4beta1FaceRecognitionResult.fromJson(core.Map _json) { |
| if (_json.containsKey("celebrity")) { |
| celebrity = |
| new GoogleCloudVisionV1p4beta1Celebrity.fromJson(_json["celebrity"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (celebrity != null) { |
| _json["celebrity"] = (celebrity).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the output will be written to. |
| class GoogleCloudVisionV1p4beta1GcsDestination { |
| /// Google Cloud Storage URI prefix where the results will be stored. Results |
| /// will be in JSON format and preceded by its corresponding input URI prefix. |
| /// This field can either represent a gcs file prefix or gcs directory. In |
| /// either case, the uri should be unique because in order to get all of the |
| /// output files, you will need to do a wildcard gcs search on the uri prefix |
| /// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix |
| /// The output files will be created in gs://bucket-name/here/ and the names |
| /// of the output files will begin with "filenameprefix". * Directory Prefix: |
| /// gs://bucket-name/some/location/ The output files will be created in |
| /// gs://bucket-name/some/location/ and the names of the output files could be |
| /// anything because there was no filename prefix specified. If multiple |
| /// outputs, each response is still AnnotateFileResponse, each of which |
| /// contains some subset of the full list of AnnotateImageResponse. Multiple |
| /// outputs can happen if, for example, the output JSON is too large and |
| /// overflows into multiple sharded files. |
| core.String uri; |
| |
| GoogleCloudVisionV1p4beta1GcsDestination(); |
| |
| GoogleCloudVisionV1p4beta1GcsDestination.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location where the input will be read from. |
| class GoogleCloudVisionV1p4beta1GcsSource { |
| /// Google Cloud Storage URI for the input file. This must only be a Google |
| /// Cloud Storage object. Wildcards are not currently supported. |
| core.String uri; |
| |
| GoogleCloudVisionV1p4beta1GcsSource(); |
| |
| GoogleCloudVisionV1p4beta1GcsSource.fromJson(core.Map _json) { |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// If an image was produced from a file (e.g. a PDF), this message gives |
| /// information about the source of that image. |
| class GoogleCloudVisionV1p4beta1ImageAnnotationContext { |
| /// If the file was a PDF or TIFF, this field gives the page number within the |
| /// file used to produce the image. |
| core.int pageNumber; |
| |
| /// The URI of the file used to produce the image. |
| core.String uri; |
| |
| GoogleCloudVisionV1p4beta1ImageAnnotationContext(); |
| |
| GoogleCloudVisionV1p4beta1ImageAnnotationContext.fromJson(core.Map _json) { |
| if (_json.containsKey("pageNumber")) { |
| pageNumber = _json["pageNumber"]; |
| } |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pageNumber != null) { |
| _json["pageNumber"] = pageNumber; |
| } |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Stores image properties, such as dominant colors. |
| class GoogleCloudVisionV1p4beta1ImageProperties { |
| /// If present, dominant colors completed successfully. |
| GoogleCloudVisionV1p4beta1DominantColorsAnnotation dominantColors; |
| |
| GoogleCloudVisionV1p4beta1ImageProperties(); |
| |
| GoogleCloudVisionV1p4beta1ImageProperties.fromJson(core.Map _json) { |
| if (_json.containsKey("dominantColors")) { |
| dominantColors = |
| new GoogleCloudVisionV1p4beta1DominantColorsAnnotation.fromJson( |
| _json["dominantColors"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (dominantColors != null) { |
| _json["dominantColors"] = (dominantColors).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response message for the `ImportProductSets` method. This message is |
| /// returned by the google.longrunning.Operations.GetOperation method in the |
| /// returned google.longrunning.Operation.response field. |
| class GoogleCloudVisionV1p4beta1ImportProductSetsResponse { |
| /// The list of reference_images that are imported successfully. |
| core.List<GoogleCloudVisionV1p4beta1ReferenceImage> referenceImages; |
| |
| /// The rpc status for each ImportProductSet request, including both successes |
| /// and errors. The number of statuses here matches the number of lines in the |
| /// csv file, and statuses[i] stores the success or failure status of |
| /// processing the i-th line of the csv, starting from line 0. |
| core.List<Status> statuses; |
| |
| GoogleCloudVisionV1p4beta1ImportProductSetsResponse(); |
| |
| GoogleCloudVisionV1p4beta1ImportProductSetsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("referenceImages")) { |
| referenceImages = (_json["referenceImages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1ReferenceImage>((value) => |
| new GoogleCloudVisionV1p4beta1ReferenceImage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("statuses")) { |
| statuses = (_json["statuses"] as core.List) |
| .map<Status>((value) => new Status.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (referenceImages != null) { |
| _json["referenceImages"] = |
| referenceImages.map((value) => (value).toJson()).toList(); |
| } |
| if (statuses != null) { |
| _json["statuses"] = statuses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired input location and metadata. |
| class GoogleCloudVisionV1p4beta1InputConfig { |
| /// File content, represented as a stream of bytes. Note: As with all `bytes` |
| /// fields, protobuffers use a pure binary representation, whereas JSON |
| /// representations use base64. Currently, this field only works for |
| /// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles |
| /// requests. |
| core.String content; |
| core.List<core.int> get contentAsBytes { |
| return convert.base64.decode(content); |
| } |
| |
| set contentAsBytes(core.List<core.int> _bytes) { |
| content = |
| convert.base64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// The Google Cloud Storage location to read the input from. |
| GoogleCloudVisionV1p4beta1GcsSource gcsSource; |
| |
| /// The type of the file. Currently only "application/pdf", "image/tiff" and |
| /// "image/gif" are supported. Wildcards are not supported. |
| core.String mimeType; |
| |
| GoogleCloudVisionV1p4beta1InputConfig(); |
| |
| GoogleCloudVisionV1p4beta1InputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("content")) { |
| content = _json["content"]; |
| } |
| if (_json.containsKey("gcsSource")) { |
| gcsSource = |
| new GoogleCloudVisionV1p4beta1GcsSource.fromJson(_json["gcsSource"]); |
| } |
| if (_json.containsKey("mimeType")) { |
| mimeType = _json["mimeType"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (content != null) { |
| _json["content"] = content; |
| } |
| if (gcsSource != null) { |
| _json["gcsSource"] = (gcsSource).toJson(); |
| } |
| if (mimeType != null) { |
| _json["mimeType"] = mimeType; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected objects with bounding boxes. |
| class GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation { |
| /// Image region to which this object belongs. This must be populated. |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingPoly; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation(); |
| |
| GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected entity location information. |
| class GoogleCloudVisionV1p4beta1LocationInfo { |
| /// lat/long location coordinates. |
| LatLng latLng; |
| |
| GoogleCloudVisionV1p4beta1LocationInfo(); |
| |
| GoogleCloudVisionV1p4beta1LocationInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("latLng")) { |
| latLng = new LatLng.fromJson(_json["latLng"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (latLng != null) { |
| _json["latLng"] = (latLng).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the normalized vertex |
| /// coordinates are relative to the original image and range from 0 to 1. |
| class GoogleCloudVisionV1p4beta1NormalizedVertex { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| GoogleCloudVisionV1p4beta1NormalizedVertex(); |
| |
| GoogleCloudVisionV1p4beta1NormalizedVertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Contains metadata for the BatchAnnotateImages operation. |
| class GoogleCloudVisionV1p4beta1OperationMetadata { |
| /// The time when the batch request was received. |
| core.String createTime; |
| |
| /// Current state of the batch operation. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Invalid. |
| /// - "CREATED" : Request is received. |
| /// - "RUNNING" : Request is actively being processed. |
| /// - "DONE" : The batch processing is done. |
| /// - "CANCELLED" : The batch processing was cancelled. |
| core.String state; |
| |
| /// The time when the operation result was last updated. |
| core.String updateTime; |
| |
| GoogleCloudVisionV1p4beta1OperationMetadata(); |
| |
| GoogleCloudVisionV1p4beta1OperationMetadata.fromJson(core.Map _json) { |
| if (_json.containsKey("createTime")) { |
| createTime = _json["createTime"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| if (_json.containsKey("updateTime")) { |
| updateTime = _json["updateTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (createTime != null) { |
| _json["createTime"] = createTime; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| if (updateTime != null) { |
| _json["updateTime"] = updateTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired output location and metadata. |
| class GoogleCloudVisionV1p4beta1OutputConfig { |
| /// The max number of response protos to put into each output JSON file on |
| /// Google Cloud Storage. The valid range is [1, 100]. If not specified, the |
| /// default value is 20. For example, for one pdf file with 100 pages, 100 |
| /// response protos will be generated. If `batch_size` = 20, then 5 json files |
| /// each containing 20 response protos will be written under the prefix |
| /// `gcs_destination`.`uri`. Currently, batch_size only applies to |
| /// GcsDestination, with potential future support for other output |
| /// configurations. |
| core.int batchSize; |
| |
| /// The Google Cloud Storage location to write the output(s) to. |
| GoogleCloudVisionV1p4beta1GcsDestination gcsDestination; |
| |
| GoogleCloudVisionV1p4beta1OutputConfig(); |
| |
| GoogleCloudVisionV1p4beta1OutputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("batchSize")) { |
| batchSize = _json["batchSize"]; |
| } |
| if (_json.containsKey("gcsDestination")) { |
| gcsDestination = new GoogleCloudVisionV1p4beta1GcsDestination.fromJson( |
| _json["gcsDestination"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (batchSize != null) { |
| _json["batchSize"] = batchSize; |
| } |
| if (gcsDestination != null) { |
| _json["gcsDestination"] = (gcsDestination).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected page from OCR. |
| class GoogleCloudVisionV1p4beta1Page { |
| /// List of blocks of text, images etc on this page. |
| core.List<GoogleCloudVisionV1p4beta1Block> blocks; |
| |
| /// Confidence of the OCR results on the page. Range [0, 1]. |
| core.double confidence; |
| |
| /// Page height. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int height; |
| |
| /// Additional information detected on the page. |
| GoogleCloudVisionV1p4beta1TextAnnotationTextProperty property; |
| |
| /// Page width. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int width; |
| |
| GoogleCloudVisionV1p4beta1Page(); |
| |
| GoogleCloudVisionV1p4beta1Page.fromJson(core.Map _json) { |
| if (_json.containsKey("blocks")) { |
| blocks = (_json["blocks"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1Block>( |
| (value) => new GoogleCloudVisionV1p4beta1Block.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("height")) { |
| height = _json["height"]; |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p4beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("width")) { |
| width = _json["width"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blocks != null) { |
| _json["blocks"] = blocks.map((value) => (value).toJson()).toList(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (height != null) { |
| _json["height"] = height; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (width != null) { |
| _json["width"] = width; |
| } |
| return _json; |
| } |
| } |
| |
| /// Structural unit of text representing a number of words in certain order. |
| class GoogleCloudVisionV1p4beta1Paragraph { |
| /// The bounding box for the paragraph. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the paragraph. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the paragraph. |
| GoogleCloudVisionV1p4beta1TextAnnotationTextProperty property; |
| |
| /// List of all words in this paragraph. |
| core.List<GoogleCloudVisionV1p4beta1Word> words; |
| |
| GoogleCloudVisionV1p4beta1Paragraph(); |
| |
| GoogleCloudVisionV1p4beta1Paragraph.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p4beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("words")) { |
| words = (_json["words"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1Word>( |
| (value) => new GoogleCloudVisionV1p4beta1Word.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (words != null) { |
| _json["words"] = words.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A 3D position in the image, used primarily for Face detection landmarks. A |
| /// valid Position must have both x and y coordinates. The position coordinates |
| /// are in the same scale as the original image. |
| class GoogleCloudVisionV1p4beta1Position { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| /// Z coordinate (or depth). |
| core.double z; |
| |
| GoogleCloudVisionV1p4beta1Position(); |
| |
| GoogleCloudVisionV1p4beta1Position.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| if (_json.containsKey("z")) { |
| z = _json["z"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| if (z != null) { |
| _json["z"] = z; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Product contains ReferenceImages. |
| class GoogleCloudVisionV1p4beta1Product { |
| /// User-provided metadata to be stored with this product. Must be at most |
| /// 4096 characters long. |
| core.String description; |
| |
| /// The user-provided name for this Product. Must not be empty. Must be at |
| /// most 4096 characters long. |
| core.String displayName; |
| |
| /// The resource name of the product. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is |
| /// ignored when creating a product. |
| core.String name; |
| |
| /// Immutable. The category for the product identified by the reference image. |
| /// This should be one of "homegoods-v2", "apparel-v2", "toys-v2", |
| /// "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", |
| /// "apparel", and "toys" are still supported, but these should not be used |
| /// for new products. |
| core.String productCategory; |
| |
| /// Key-value pairs that can be attached to a product. At query time, |
| /// constraints can be specified based on the product_labels. Note that |
| /// integer values can be provided as strings, e.g. "1199". Only strings with |
| /// integer values can match a range-based restriction which is to be |
| /// supported soon. Multiple values can be assigned to the same key. One |
| /// product may have up to 500 product_labels. Notice that the total number of |
| /// distinct product_labels over all products in one ProductSet cannot exceed |
| /// 1M, otherwise the product search pipeline will refuse to work for that |
| /// ProductSet. |
| core.List<GoogleCloudVisionV1p4beta1ProductKeyValue> productLabels; |
| |
| GoogleCloudVisionV1p4beta1Product(); |
| |
| GoogleCloudVisionV1p4beta1Product.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("productCategory")) { |
| productCategory = _json["productCategory"]; |
| } |
| if (_json.containsKey("productLabels")) { |
| productLabels = (_json["productLabels"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1ProductKeyValue>((value) => |
| new GoogleCloudVisionV1p4beta1ProductKeyValue.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (productCategory != null) { |
| _json["productCategory"] = productCategory; |
| } |
| if (productLabels != null) { |
| _json["productLabels"] = |
| productLabels.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A product label represented as a key-value pair. |
| class GoogleCloudVisionV1p4beta1ProductKeyValue { |
| /// The key of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String key; |
| |
| /// The value of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String value; |
| |
| GoogleCloudVisionV1p4beta1ProductKeyValue(); |
| |
| GoogleCloudVisionV1p4beta1ProductKeyValue.fromJson(core.Map _json) { |
| if (_json.containsKey("key")) { |
| key = _json["key"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (key != null) { |
| _json["key"] = key; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// Results for a product search request. |
| class GoogleCloudVisionV1p4beta1ProductSearchResults { |
| /// Timestamp of the index which provided these results. Products added to the |
| /// product set and products removed from the product set after this time are |
| /// not reflected in the current results. |
| core.String indexTime; |
| |
| /// List of results grouped by products detected in the query image. Each |
| /// entry corresponds to one bounding polygon in the query image, and contains |
| /// the matching products specific to that region. There may be duplicate |
| /// product matches in the union of all the per-product results. |
| core.List<GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult> |
| productGroupedResults; |
| |
| /// List of results, one for each product match. |
| core.List<GoogleCloudVisionV1p4beta1ProductSearchResultsResult> results; |
| |
| GoogleCloudVisionV1p4beta1ProductSearchResults(); |
| |
| GoogleCloudVisionV1p4beta1ProductSearchResults.fromJson(core.Map _json) { |
| if (_json.containsKey("indexTime")) { |
| indexTime = _json["indexTime"]; |
| } |
| if (_json.containsKey("productGroupedResults")) { |
| productGroupedResults = (_json["productGroupedResults"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult>( |
| (value) => |
| new GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult |
| .fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1ProductSearchResultsResult>((value) => |
| new GoogleCloudVisionV1p4beta1ProductSearchResultsResult.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (indexTime != null) { |
| _json["indexTime"] = indexTime; |
| } |
| if (productGroupedResults != null) { |
| _json["productGroupedResults"] = |
| productGroupedResults.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about the products similar to a single product in a query image. |
| class GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult { |
| /// The bounding polygon around the product detected in the query image. |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingPoly; |
| |
| /// List of generic predictions for the object in the bounding box. |
| core.List<GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation> |
| objectAnnotations; |
| |
| /// List of results, one for each product match. |
| core.List<GoogleCloudVisionV1p4beta1ProductSearchResultsResult> results; |
| |
| GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult(); |
| |
| GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingPoly"]); |
| } |
| if (_json.containsKey("objectAnnotations")) { |
| objectAnnotations = (_json["objectAnnotations"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation>( |
| (value) => |
| new GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation |
| .fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1ProductSearchResultsResult>((value) => |
| new GoogleCloudVisionV1p4beta1ProductSearchResultsResult.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (objectAnnotations != null) { |
| _json["objectAnnotations"] = |
| objectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Prediction for what the object in the bounding box is. |
| class GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation { |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation(); |
| |
| GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about a product. |
| class GoogleCloudVisionV1p4beta1ProductSearchResultsResult { |
| /// The resource name of the image from the product that is the closest match |
| /// to the query. |
| core.String image; |
| |
| /// The Product. |
| GoogleCloudVisionV1p4beta1Product product; |
| |
| /// A confidence level on the match, ranging from 0 (no confidence) to 1 (full |
| /// confidence). |
| core.double score; |
| |
| GoogleCloudVisionV1p4beta1ProductSearchResultsResult(); |
| |
| GoogleCloudVisionV1p4beta1ProductSearchResultsResult.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("image")) { |
| image = _json["image"]; |
| } |
| if (_json.containsKey("product")) { |
| product = |
| new GoogleCloudVisionV1p4beta1Product.fromJson(_json["product"]); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (image != null) { |
| _json["image"] = image; |
| } |
| if (product != null) { |
| _json["product"] = (product).toJson(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// A `Property` consists of a user-supplied name/value pair. |
| class GoogleCloudVisionV1p4beta1Property { |
| /// Name of the property. |
| core.String name; |
| |
| /// Value of numeric properties. |
| core.String uint64Value; |
| |
| /// Value of the property. |
| core.String value; |
| |
| GoogleCloudVisionV1p4beta1Property(); |
| |
| GoogleCloudVisionV1p4beta1Property.fromJson(core.Map _json) { |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("uint64Value")) { |
| uint64Value = _json["uint64Value"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (uint64Value != null) { |
| _json["uint64Value"] = uint64Value; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// A `ReferenceImage` represents a product image and its associated metadata, |
| /// such as bounding boxes. |
| class GoogleCloudVisionV1p4beta1ReferenceImage { |
| /// Optional. Bounding polygons around the areas of interest in the reference |
| /// image. If this field is empty, the system will try to detect regions of |
| /// interest. At most 10 bounding polygons will be used. The provided shape is |
| /// converted into a non-rotated rectangle. Once converted, the small edge of |
| /// the rectangle must be greater than or equal to 300 pixels. The aspect |
| /// ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). |
| core.List<GoogleCloudVisionV1p4beta1BoundingPoly> boundingPolys; |
| |
| /// The resource name of the reference image. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. |
| /// This field is ignored when creating a reference image. |
| core.String name; |
| |
| /// Required. The Google Cloud Storage URI of the reference image. The URI |
| /// must start with `gs://`. |
| core.String uri; |
| |
| GoogleCloudVisionV1p4beta1ReferenceImage(); |
| |
| GoogleCloudVisionV1p4beta1ReferenceImage.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPolys")) { |
| boundingPolys = (_json["boundingPolys"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1BoundingPoly>((value) => |
| new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPolys != null) { |
| _json["boundingPolys"] = |
| boundingPolys.map((value) => (value).toJson()).toList(); |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of features pertaining to the image, computed by computer vision methods |
| /// over safe-search verticals (for example, adult, spoof, medical, violence). |
| class GoogleCloudVisionV1p4beta1SafeSearchAnnotation { |
| /// Represents the adult content likelihood for the image. Adult content may |
| /// contain elements such as nudity, pornographic images or cartoons, or |
| /// sexual activities. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String adult; |
| |
| /// Likelihood that this is a medical image. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String medical; |
| |
| /// Likelihood that the request image contains racy content. Racy content may |
| /// include (but is not limited to) skimpy or sheer clothing, strategically |
| /// covered nudity, lewd or provocative poses, or close-ups of sensitive body |
| /// areas. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String racy; |
| |
| /// Spoof likelihood. The likelihood that an modification was made to the |
| /// image's canonical version to make it appear funny or offensive. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String spoof; |
| |
| /// Likelihood that this image contains violent content. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String violence; |
| |
| GoogleCloudVisionV1p4beta1SafeSearchAnnotation(); |
| |
| GoogleCloudVisionV1p4beta1SafeSearchAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("adult")) { |
| adult = _json["adult"]; |
| } |
| if (_json.containsKey("medical")) { |
| medical = _json["medical"]; |
| } |
| if (_json.containsKey("racy")) { |
| racy = _json["racy"]; |
| } |
| if (_json.containsKey("spoof")) { |
| spoof = _json["spoof"]; |
| } |
| if (_json.containsKey("violence")) { |
| violence = _json["violence"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (adult != null) { |
| _json["adult"] = adult; |
| } |
| if (medical != null) { |
| _json["medical"] = medical; |
| } |
| if (racy != null) { |
| _json["racy"] = racy; |
| } |
| if (spoof != null) { |
| _json["spoof"] = spoof; |
| } |
| if (violence != null) { |
| _json["violence"] = violence; |
| } |
| return _json; |
| } |
| } |
| |
| /// A single symbol representation. |
| class GoogleCloudVisionV1p4beta1Symbol { |
| /// The bounding box for the symbol. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the symbol. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the symbol. |
| GoogleCloudVisionV1p4beta1TextAnnotationTextProperty property; |
| |
| /// The actual UTF-8 representation of the symbol. |
| core.String text; |
| |
| GoogleCloudVisionV1p4beta1Symbol(); |
| |
| GoogleCloudVisionV1p4beta1Symbol.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p4beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// TextAnnotation contains a structured representation of OCR extracted text. |
| /// The hierarchy of an OCR extracted text structure is like this: |
| /// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Each |
| /// structural component, starting from Page, may further have their own |
| /// properties. Properties describe detected languages, breaks etc.. Please |
| /// refer to the TextAnnotation.TextProperty message definition below for more |
| /// detail. |
| class GoogleCloudVisionV1p4beta1TextAnnotation { |
| /// List of pages detected by OCR. |
| core.List<GoogleCloudVisionV1p4beta1Page> pages; |
| |
| /// UTF-8 text detected on the pages. |
| core.String text; |
| |
| GoogleCloudVisionV1p4beta1TextAnnotation(); |
| |
| GoogleCloudVisionV1p4beta1TextAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("pages")) { |
| pages = (_json["pages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1Page>( |
| (value) => new GoogleCloudVisionV1p4beta1Page.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pages != null) { |
| _json["pages"] = pages.map((value) => (value).toJson()).toList(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected start or end of a structural component. |
| class GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak { |
| /// True if break prepends the element. |
| core.bool isPrefix; |
| |
| /// Detected break type. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown break label type. |
| /// - "SPACE" : Regular space. |
| /// - "SURE_SPACE" : Sure space (very wide). |
| /// - "EOL_SURE_SPACE" : Line-wrapping break. |
| /// - "HYPHEN" : End-line hyphen that is not present in text; does not |
| /// co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. |
| /// - "LINE_BREAK" : Line break that ends a paragraph. |
| core.String type; |
| |
| GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak(); |
| |
| GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("isPrefix")) { |
| isPrefix = _json["isPrefix"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (isPrefix != null) { |
| _json["isPrefix"] = isPrefix; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected language for a structural component. |
| class GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage { |
| /// Confidence of detected language. Range [0, 1]. |
| core.double confidence; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage(); |
| |
| GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Additional information detected on the structural component. |
| class GoogleCloudVisionV1p4beta1TextAnnotationTextProperty { |
| /// Detected start or end of a text segment. |
| GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak detectedBreak; |
| |
| /// A list of detected languages together with confidence. |
| core.List<GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage> |
| detectedLanguages; |
| |
| GoogleCloudVisionV1p4beta1TextAnnotationTextProperty(); |
| |
| GoogleCloudVisionV1p4beta1TextAnnotationTextProperty.fromJson( |
| core.Map _json) { |
| if (_json.containsKey("detectedBreak")) { |
| detectedBreak = |
| new GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak.fromJson( |
| _json["detectedBreak"]); |
| } |
| if (_json.containsKey("detectedLanguages")) { |
| detectedLanguages = (_json["detectedLanguages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage>( |
| (value) => |
| new GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage |
| .fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (detectedBreak != null) { |
| _json["detectedBreak"] = (detectedBreak).toJson(); |
| } |
| if (detectedLanguages != null) { |
| _json["detectedLanguages"] = |
| detectedLanguages.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the vertex coordinates |
| /// are in the same scale as the original image. |
| class GoogleCloudVisionV1p4beta1Vertex { |
| /// X coordinate. |
| core.int x; |
| |
| /// Y coordinate. |
| core.int y; |
| |
| GoogleCloudVisionV1p4beta1Vertex(); |
| |
| GoogleCloudVisionV1p4beta1Vertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"]; |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Relevant information for the image from the Internet. |
| class GoogleCloudVisionV1p4beta1WebDetection { |
| /// The service's best guess as to the topic of the request image. Inferred |
| /// from similar images on the open web. |
| core.List<GoogleCloudVisionV1p4beta1WebDetectionWebLabel> bestGuessLabels; |
| |
| /// Fully matching images from the Internet. Can include resized copies of the |
| /// query image. |
| core.List<GoogleCloudVisionV1p4beta1WebDetectionWebImage> fullMatchingImages; |
| |
| /// Web pages containing the matching images from the Internet. |
| core.List<GoogleCloudVisionV1p4beta1WebDetectionWebPage> |
| pagesWithMatchingImages; |
| |
| /// Partial matching images from the Internet. Those images are similar enough |
| /// to share some key-point features. For example an original image will |
| /// likely have partial matching for its crops. |
| core.List<GoogleCloudVisionV1p4beta1WebDetectionWebImage> |
| partialMatchingImages; |
| |
| /// The visually similar image results. |
| core.List<GoogleCloudVisionV1p4beta1WebDetectionWebImage> |
| visuallySimilarImages; |
| |
| /// Deduced entities from similar images on the Internet. |
| core.List<GoogleCloudVisionV1p4beta1WebDetectionWebEntity> webEntities; |
| |
| GoogleCloudVisionV1p4beta1WebDetection(); |
| |
| GoogleCloudVisionV1p4beta1WebDetection.fromJson(core.Map _json) { |
| if (_json.containsKey("bestGuessLabels")) { |
| bestGuessLabels = (_json["bestGuessLabels"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1WebDetectionWebLabel>((value) => |
| new GoogleCloudVisionV1p4beta1WebDetectionWebLabel.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p4beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("pagesWithMatchingImages")) { |
| pagesWithMatchingImages = (_json["pagesWithMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1WebDetectionWebPage>((value) => |
| new GoogleCloudVisionV1p4beta1WebDetectionWebPage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p4beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("visuallySimilarImages")) { |
| visuallySimilarImages = (_json["visuallySimilarImages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p4beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("webEntities")) { |
| webEntities = (_json["webEntities"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1WebDetectionWebEntity>((value) => |
| new GoogleCloudVisionV1p4beta1WebDetectionWebEntity.fromJson( |
| value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (bestGuessLabels != null) { |
| _json["bestGuessLabels"] = |
| bestGuessLabels.map((value) => (value).toJson()).toList(); |
| } |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pagesWithMatchingImages != null) { |
| _json["pagesWithMatchingImages"] = |
| pagesWithMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (visuallySimilarImages != null) { |
| _json["visuallySimilarImages"] = |
| visuallySimilarImages.map((value) => (value).toJson()).toList(); |
| } |
| if (webEntities != null) { |
| _json["webEntities"] = |
| webEntities.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Entity deduced from similar images on the Internet. |
| class GoogleCloudVisionV1p4beta1WebDetectionWebEntity { |
| /// Canonical description of the entity, in English. |
| core.String description; |
| |
| /// Opaque entity ID. |
| core.String entityId; |
| |
| /// Overall relevancy score for the entity. Not normalized and not comparable |
| /// across different image queries. |
| core.double score; |
| |
| GoogleCloudVisionV1p4beta1WebDetectionWebEntity(); |
| |
| GoogleCloudVisionV1p4beta1WebDetectionWebEntity.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("entityId")) { |
| entityId = _json["entityId"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (entityId != null) { |
| _json["entityId"] = entityId; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for online images. |
| class GoogleCloudVisionV1p4beta1WebDetectionWebImage { |
| /// (Deprecated) Overall relevancy score for the image. |
| core.double score; |
| |
| /// The result image URL. |
| core.String url; |
| |
| GoogleCloudVisionV1p4beta1WebDetectionWebImage(); |
| |
| GoogleCloudVisionV1p4beta1WebDetectionWebImage.fromJson(core.Map _json) { |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// Label to provide extra metadata for the web detection. |
| class GoogleCloudVisionV1p4beta1WebDetectionWebLabel { |
| /// Label for extra metadata. |
| core.String label; |
| |
| /// The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". For |
| /// more information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| GoogleCloudVisionV1p4beta1WebDetectionWebLabel(); |
| |
| GoogleCloudVisionV1p4beta1WebDetectionWebLabel.fromJson(core.Map _json) { |
| if (_json.containsKey("label")) { |
| label = _json["label"]; |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (label != null) { |
| _json["label"] = label; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for web pages. |
| class GoogleCloudVisionV1p4beta1WebDetectionWebPage { |
| /// Fully matching images on the page. Can include resized copies of the query |
| /// image. |
| core.List<GoogleCloudVisionV1p4beta1WebDetectionWebImage> fullMatchingImages; |
| |
| /// Title for the web page, may contain HTML markups. |
| core.String pageTitle; |
| |
| /// Partial matching images on the page. Those images are similar enough to |
| /// share some key-point features. For example an original image will likely |
| /// have partial matching for its crops. |
| core.List<GoogleCloudVisionV1p4beta1WebDetectionWebImage> |
| partialMatchingImages; |
| |
| /// (Deprecated) Overall relevancy score for the web page. |
| core.double score; |
| |
| /// The result web page URL. |
| core.String url; |
| |
| GoogleCloudVisionV1p4beta1WebDetectionWebPage(); |
| |
| GoogleCloudVisionV1p4beta1WebDetectionWebPage.fromJson(core.Map _json) { |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p4beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("pageTitle")) { |
| pageTitle = _json["pageTitle"]; |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1WebDetectionWebImage>((value) => |
| new GoogleCloudVisionV1p4beta1WebDetectionWebImage.fromJson( |
| value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pageTitle != null) { |
| _json["pageTitle"] = pageTitle; |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// A word representation. |
| class GoogleCloudVisionV1p4beta1Word { |
| /// The bounding box for the word. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| GoogleCloudVisionV1p4beta1BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the word. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the word. |
| GoogleCloudVisionV1p4beta1TextAnnotationTextProperty property; |
| |
| /// List of symbols in the word. The order of the symbols follows the natural |
| /// reading order. |
| core.List<GoogleCloudVisionV1p4beta1Symbol> symbols; |
| |
| GoogleCloudVisionV1p4beta1Word(); |
| |
| GoogleCloudVisionV1p4beta1Word.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new GoogleCloudVisionV1p4beta1BoundingPoly.fromJson( |
| _json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = |
| new GoogleCloudVisionV1p4beta1TextAnnotationTextProperty.fromJson( |
| _json["property"]); |
| } |
| if (_json.containsKey("symbols")) { |
| symbols = (_json["symbols"] as core.List) |
| .map<GoogleCloudVisionV1p4beta1Symbol>( |
| (value) => new GoogleCloudVisionV1p4beta1Symbol.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (symbols != null) { |
| _json["symbols"] = symbols.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about the products similar to a single product in a query image. |
| class GroupedResult { |
| /// The bounding polygon around the product detected in the query image. |
| BoundingPoly boundingPoly; |
| |
| /// List of generic predictions for the object in the bounding box. |
| core.List<ObjectAnnotation> objectAnnotations; |
| |
| /// List of results, one for each product match. |
| core.List<Result> results; |
| |
| GroupedResult(); |
| |
| GroupedResult.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new BoundingPoly.fromJson(_json["boundingPoly"]); |
| } |
| if (_json.containsKey("objectAnnotations")) { |
| objectAnnotations = (_json["objectAnnotations"] as core.List) |
| .map<ObjectAnnotation>( |
| (value) => new ObjectAnnotation.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<Result>((value) => new Result.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (objectAnnotations != null) { |
| _json["objectAnnotations"] = |
| objectAnnotations.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Client image to perform Google Cloud Vision API tasks over. |
| class Image { |
| /// Image content, represented as a stream of bytes. Note: As with all `bytes` |
| /// fields, protobuffers use a pure binary representation, whereas JSON |
| /// representations use base64. Currently, this field only works for |
| /// BatchAnnotateImages requests. It does not work for |
| /// AsyncBatchAnnotateImages requests. |
| core.String content; |
| core.List<core.int> get contentAsBytes { |
| return convert.base64.decode(content); |
| } |
| |
| set contentAsBytes(core.List<core.int> _bytes) { |
| content = |
| convert.base64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// Google Cloud Storage image location, or publicly-accessible image URL. If |
| /// both `content` and `source` are provided for an image, `content` takes |
| /// precedence and is used to perform the image annotation request. |
| ImageSource source; |
| |
| Image(); |
| |
| Image.fromJson(core.Map _json) { |
| if (_json.containsKey("content")) { |
| content = _json["content"]; |
| } |
| if (_json.containsKey("source")) { |
| source = new ImageSource.fromJson(_json["source"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (content != null) { |
| _json["content"] = content; |
| } |
| if (source != null) { |
| _json["source"] = (source).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// If an image was produced from a file (e.g. a PDF), this message gives |
| /// information about the source of that image. |
| class ImageAnnotationContext { |
| /// If the file was a PDF or TIFF, this field gives the page number within the |
| /// file used to produce the image. |
| core.int pageNumber; |
| |
| /// The URI of the file used to produce the image. |
| core.String uri; |
| |
| ImageAnnotationContext(); |
| |
| ImageAnnotationContext.fromJson(core.Map _json) { |
| if (_json.containsKey("pageNumber")) { |
| pageNumber = _json["pageNumber"]; |
| } |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pageNumber != null) { |
| _json["pageNumber"] = pageNumber; |
| } |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Image context and/or feature-specific parameters. |
| class ImageContext { |
| /// Parameters for crop hints annotation request. |
| CropHintsParams cropHintsParams; |
| |
| /// List of languages to use for TEXT_DETECTION. In most cases, an empty value |
| /// yields the best results since it enables automatic language detection. For |
| /// languages based on the Latin alphabet, setting `language_hints` is not |
| /// needed. In rare cases, when the language of the text in the image is |
| /// known, setting a hint will help get better results (although it will be a |
| /// significant hindrance if the hint is wrong). Text detection returns an |
| /// error if one or more of the specified languages is not one of the |
| /// [supported languages](https://cloud.google.com/vision/docs/languages). |
| core.List<core.String> languageHints; |
| |
| /// Not used. |
| LatLongRect latLongRect; |
| |
| /// Parameters for product search. |
| ProductSearchParams productSearchParams; |
| |
| /// Parameters for web detection. |
| WebDetectionParams webDetectionParams; |
| |
| ImageContext(); |
| |
| ImageContext.fromJson(core.Map _json) { |
| if (_json.containsKey("cropHintsParams")) { |
| cropHintsParams = new CropHintsParams.fromJson(_json["cropHintsParams"]); |
| } |
| if (_json.containsKey("languageHints")) { |
| languageHints = (_json["languageHints"] as core.List).cast<core.String>(); |
| } |
| if (_json.containsKey("latLongRect")) { |
| latLongRect = new LatLongRect.fromJson(_json["latLongRect"]); |
| } |
| if (_json.containsKey("productSearchParams")) { |
| productSearchParams = |
| new ProductSearchParams.fromJson(_json["productSearchParams"]); |
| } |
| if (_json.containsKey("webDetectionParams")) { |
| webDetectionParams = |
| new WebDetectionParams.fromJson(_json["webDetectionParams"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (cropHintsParams != null) { |
| _json["cropHintsParams"] = (cropHintsParams).toJson(); |
| } |
| if (languageHints != null) { |
| _json["languageHints"] = languageHints; |
| } |
| if (latLongRect != null) { |
| _json["latLongRect"] = (latLongRect).toJson(); |
| } |
| if (productSearchParams != null) { |
| _json["productSearchParams"] = (productSearchParams).toJson(); |
| } |
| if (webDetectionParams != null) { |
| _json["webDetectionParams"] = (webDetectionParams).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Stores image properties, such as dominant colors. |
| class ImageProperties { |
| /// If present, dominant colors completed successfully. |
| DominantColorsAnnotation dominantColors; |
| |
| ImageProperties(); |
| |
| ImageProperties.fromJson(core.Map _json) { |
| if (_json.containsKey("dominantColors")) { |
| dominantColors = |
| new DominantColorsAnnotation.fromJson(_json["dominantColors"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (dominantColors != null) { |
| _json["dominantColors"] = (dominantColors).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// External image source (Google Cloud Storage or web URL image location). |
| class ImageSource { |
| /// **Use `image_uri` instead.** The Google Cloud Storage URI of the form |
| /// `gs://bucket_name/object_name`. Object versioning is not supported. See |
| /// [Google Cloud Storage Request |
| /// URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. |
| core.String gcsImageUri; |
| |
| /// The URI of the source image. Can be either: 1. A Google Cloud Storage URI |
| /// of the form `gs://bucket_name/object_name`. Object versioning is not |
| /// supported. See [Google Cloud Storage Request |
| /// URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. |
| /// 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from |
| /// HTTP/HTTPS URLs, Google cannot guarantee that the request will be |
| /// completed. Your request may fail if the specified host denies the request |
| /// (e.g. due to request throttling or DOS prevention), or if Google throttles |
| /// requests to the site for abuse prevention. You should not depend on |
| /// externally-hosted images for production applications. When both |
| /// `gcs_image_uri` and `image_uri` are specified, `image_uri` takes |
| /// precedence. |
| core.String imageUri; |
| |
| ImageSource(); |
| |
| ImageSource.fromJson(core.Map _json) { |
| if (_json.containsKey("gcsImageUri")) { |
| gcsImageUri = _json["gcsImageUri"]; |
| } |
| if (_json.containsKey("imageUri")) { |
| imageUri = _json["imageUri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (gcsImageUri != null) { |
| _json["gcsImageUri"] = gcsImageUri; |
| } |
| if (imageUri != null) { |
| _json["imageUri"] = imageUri; |
| } |
| return _json; |
| } |
| } |
| |
| /// The Google Cloud Storage location for a csv file which preserves a list of |
| /// ImportProductSetRequests in each line. |
| class ImportProductSetsGcsSource { |
| /// The Google Cloud Storage URI of the input csv file. The URI must start |
| /// with `gs://`. The format of the input csv file should be one image per |
| /// line. In each line, there are 8 columns. 1. image-uri 2. image-id 3. |
| /// product-set-id 4. product-id 5. product-category 6. product-display-name |
| /// 7. labels 8. bounding-poly The `image-uri`, `product-set-id`, |
| /// `product-id`, and `product-category` columns are required. All other |
| /// columns are optional. If the `ProductSet` or `Product` specified by the |
| /// `product-set-id` and `product-id` values does not exist, then the system |
| /// will create a new `ProductSet` or `Product` for the image. In this case, |
| /// the `product-display-name` column refers to display_name, the |
| /// `product-category` column refers to product_category, and the `labels` |
| /// column refers to product_labels. The `image-id` column is optional but |
| /// must be unique if provided. If it is empty, the system will automatically |
| /// assign a unique id to the image. The `product-display-name` column is |
| /// optional. If it is empty, the system sets the display_name field for the |
| /// product to a space (" "). You can update the `display_name` later by using |
| /// the API. If a `Product` with the specified `product-id` already exists, |
| /// then the system ignores the `product-display-name`, `product-category`, |
| /// and `labels` columns. The `labels` column (optional) is a line containing |
| /// a list of comma-separated key-value pairs, in the following format: |
| /// "key_1=value_1,key_2=value_2,...,key_n=value_n" The `bounding-poly` column |
| /// (optional) identifies one region of interest from the image in the same |
| /// manner as `CreateReferenceImage`. If you do not specify the |
| /// `bounding-poly` column, then the system will try to detect regions of |
| /// interest automatically. At most one `bounding-poly` column is allowed per |
| /// line. If the image contains multiple regions of interest, add a line to |
| /// the CSV file that includes the same product information, and the |
| /// `bounding-poly` values for each region of interest. The `bounding-poly` |
| /// column must contain an even number of comma-separated numbers, in the |
| /// format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use non-negative integers for |
| /// absolute bounding polygons, and float values in [0, 1] for normalized |
| /// bounding polygons. The system will resize the image if the image |
| /// resolution is too large to process (larger than 20MP). |
| core.String csvFileUri; |
| |
| ImportProductSetsGcsSource(); |
| |
| ImportProductSetsGcsSource.fromJson(core.Map _json) { |
| if (_json.containsKey("csvFileUri")) { |
| csvFileUri = _json["csvFileUri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (csvFileUri != null) { |
| _json["csvFileUri"] = csvFileUri; |
| } |
| return _json; |
| } |
| } |
| |
| /// The input content for the `ImportProductSets` method. |
| class ImportProductSetsInputConfig { |
| /// The Google Cloud Storage location for a csv file which preserves a list of |
| /// ImportProductSetRequests in each line. |
| ImportProductSetsGcsSource gcsSource; |
| |
| ImportProductSetsInputConfig(); |
| |
| ImportProductSetsInputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("gcsSource")) { |
| gcsSource = new ImportProductSetsGcsSource.fromJson(_json["gcsSource"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (gcsSource != null) { |
| _json["gcsSource"] = (gcsSource).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Request message for the `ImportProductSets` method. |
| class ImportProductSetsRequest { |
| /// Required. The input content for the list of requests. |
| ImportProductSetsInputConfig inputConfig; |
| |
| ImportProductSetsRequest(); |
| |
| ImportProductSetsRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("inputConfig")) { |
| inputConfig = |
| new ImportProductSetsInputConfig.fromJson(_json["inputConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (inputConfig != null) { |
| _json["inputConfig"] = (inputConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response message for the `ImportProductSets` method. This message is |
| /// returned by the google.longrunning.Operations.GetOperation method in the |
| /// returned google.longrunning.Operation.response field. |
| class ImportProductSetsResponse { |
| /// The list of reference_images that are imported successfully. |
| core.List<ReferenceImage> referenceImages; |
| |
| /// The rpc status for each ImportProductSet request, including both successes |
| /// and errors. The number of statuses here matches the number of lines in the |
| /// csv file, and statuses[i] stores the success or failure status of |
| /// processing the i-th line of the csv, starting from line 0. |
| core.List<Status> statuses; |
| |
| ImportProductSetsResponse(); |
| |
| ImportProductSetsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("referenceImages")) { |
| referenceImages = (_json["referenceImages"] as core.List) |
| .map<ReferenceImage>((value) => new ReferenceImage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("statuses")) { |
| statuses = (_json["statuses"] as core.List) |
| .map<Status>((value) => new Status.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (referenceImages != null) { |
| _json["referenceImages"] = |
| referenceImages.map((value) => (value).toJson()).toList(); |
| } |
| if (statuses != null) { |
| _json["statuses"] = statuses.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired input location and metadata. |
| class InputConfig { |
| /// File content, represented as a stream of bytes. Note: As with all `bytes` |
| /// fields, protobuffers use a pure binary representation, whereas JSON |
| /// representations use base64. Currently, this field only works for |
| /// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles |
| /// requests. |
| core.String content; |
| core.List<core.int> get contentAsBytes { |
| return convert.base64.decode(content); |
| } |
| |
| set contentAsBytes(core.List<core.int> _bytes) { |
| content = |
| convert.base64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// The Google Cloud Storage location to read the input from. |
| GcsSource gcsSource; |
| |
| /// The type of the file. Currently only "application/pdf", "image/tiff" and |
| /// "image/gif" are supported. Wildcards are not supported. |
| core.String mimeType; |
| |
| InputConfig(); |
| |
| InputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("content")) { |
| content = _json["content"]; |
| } |
| if (_json.containsKey("gcsSource")) { |
| gcsSource = new GcsSource.fromJson(_json["gcsSource"]); |
| } |
| if (_json.containsKey("mimeType")) { |
| mimeType = _json["mimeType"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (content != null) { |
| _json["content"] = content; |
| } |
| if (gcsSource != null) { |
| _json["gcsSource"] = (gcsSource).toJson(); |
| } |
| if (mimeType != null) { |
| _json["mimeType"] = mimeType; |
| } |
| return _json; |
| } |
| } |
| |
| /// A product label represented as a key-value pair. |
| class KeyValue { |
| /// The key of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String key; |
| |
| /// The value of the label attached to the product. Cannot be empty and cannot |
| /// exceed 128 bytes. |
| core.String value; |
| |
| KeyValue(); |
| |
| KeyValue.fromJson(core.Map _json) { |
| if (_json.containsKey("key")) { |
| key = _json["key"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (key != null) { |
| _json["key"] = key; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// A face-specific landmark (for example, a face feature). |
| class Landmark { |
| /// Face landmark position. |
| Position position; |
| |
| /// Face landmark type. |
| /// Possible string values are: |
| /// - "UNKNOWN_LANDMARK" : Unknown face landmark detected. Should not be |
| /// filled. |
| /// - "LEFT_EYE" : Left eye. |
| /// - "RIGHT_EYE" : Right eye. |
| /// - "LEFT_OF_LEFT_EYEBROW" : Left of left eyebrow. |
| /// - "RIGHT_OF_LEFT_EYEBROW" : Right of left eyebrow. |
| /// - "LEFT_OF_RIGHT_EYEBROW" : Left of right eyebrow. |
| /// - "RIGHT_OF_RIGHT_EYEBROW" : Right of right eyebrow. |
| /// - "MIDPOINT_BETWEEN_EYES" : Midpoint between eyes. |
| /// - "NOSE_TIP" : Nose tip. |
| /// - "UPPER_LIP" : Upper lip. |
| /// - "LOWER_LIP" : Lower lip. |
| /// - "MOUTH_LEFT" : Mouth left. |
| /// - "MOUTH_RIGHT" : Mouth right. |
| /// - "MOUTH_CENTER" : Mouth center. |
| /// - "NOSE_BOTTOM_RIGHT" : Nose, bottom right. |
| /// - "NOSE_BOTTOM_LEFT" : Nose, bottom left. |
| /// - "NOSE_BOTTOM_CENTER" : Nose, bottom center. |
| /// - "LEFT_EYE_TOP_BOUNDARY" : Left eye, top boundary. |
| /// - "LEFT_EYE_RIGHT_CORNER" : Left eye, right corner. |
| /// - "LEFT_EYE_BOTTOM_BOUNDARY" : Left eye, bottom boundary. |
| /// - "LEFT_EYE_LEFT_CORNER" : Left eye, left corner. |
| /// - "RIGHT_EYE_TOP_BOUNDARY" : Right eye, top boundary. |
| /// - "RIGHT_EYE_RIGHT_CORNER" : Right eye, right corner. |
| /// - "RIGHT_EYE_BOTTOM_BOUNDARY" : Right eye, bottom boundary. |
| /// - "RIGHT_EYE_LEFT_CORNER" : Right eye, left corner. |
| /// - "LEFT_EYEBROW_UPPER_MIDPOINT" : Left eyebrow, upper midpoint. |
| /// - "RIGHT_EYEBROW_UPPER_MIDPOINT" : Right eyebrow, upper midpoint. |
| /// - "LEFT_EAR_TRAGION" : Left ear tragion. |
| /// - "RIGHT_EAR_TRAGION" : Right ear tragion. |
| /// - "LEFT_EYE_PUPIL" : Left eye pupil. |
| /// - "RIGHT_EYE_PUPIL" : Right eye pupil. |
| /// - "FOREHEAD_GLABELLA" : Forehead glabella. |
| /// - "CHIN_GNATHION" : Chin gnathion. |
| /// - "CHIN_LEFT_GONION" : Chin left gonion. |
| /// - "CHIN_RIGHT_GONION" : Chin right gonion. |
| /// - "LEFT_CHEEK_CENTER" : Left cheek center. |
| /// - "RIGHT_CHEEK_CENTER" : Right cheek center. |
| core.String type; |
| |
| Landmark(); |
| |
| Landmark.fromJson(core.Map _json) { |
| if (_json.containsKey("position")) { |
| position = new Position.fromJson(_json["position"]); |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (position != null) { |
| _json["position"] = (position).toJson(); |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// An object representing a latitude/longitude pair. This is expressed as a |
| /// pair of doubles representing degrees latitude and degrees longitude. Unless |
| /// specified otherwise, this must conform to the WGS84 standard. Values must be |
| /// within normalized ranges. |
| class LatLng { |
| /// The latitude in degrees. It must be in the range [-90.0, +90.0]. |
| core.double latitude; |
| |
| /// The longitude in degrees. It must be in the range [-180.0, +180.0]. |
| core.double longitude; |
| |
| LatLng(); |
| |
| LatLng.fromJson(core.Map _json) { |
| if (_json.containsKey("latitude")) { |
| latitude = _json["latitude"].toDouble(); |
| } |
| if (_json.containsKey("longitude")) { |
| longitude = _json["longitude"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (latitude != null) { |
| _json["latitude"] = latitude; |
| } |
| if (longitude != null) { |
| _json["longitude"] = longitude; |
| } |
| return _json; |
| } |
| } |
| |
| /// Rectangle determined by min and max `LatLng` pairs. |
| class LatLongRect { |
| /// Max lat/long pair. |
| LatLng maxLatLng; |
| |
| /// Min lat/long pair. |
| LatLng minLatLng; |
| |
| LatLongRect(); |
| |
| LatLongRect.fromJson(core.Map _json) { |
| if (_json.containsKey("maxLatLng")) { |
| maxLatLng = new LatLng.fromJson(_json["maxLatLng"]); |
| } |
| if (_json.containsKey("minLatLng")) { |
| minLatLng = new LatLng.fromJson(_json["minLatLng"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (maxLatLng != null) { |
| _json["maxLatLng"] = (maxLatLng).toJson(); |
| } |
| if (minLatLng != null) { |
| _json["minLatLng"] = (minLatLng).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response message for Operations.ListOperations. |
| class ListOperationsResponse { |
| /// The standard List next-page token. |
| core.String nextPageToken; |
| |
| /// A list of operations that matches the specified filter in the request. |
| core.List<Operation> operations; |
| |
| ListOperationsResponse(); |
| |
| ListOperationsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| if (_json.containsKey("operations")) { |
| operations = (_json["operations"] as core.List) |
| .map<Operation>((value) => new Operation.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| if (operations != null) { |
| _json["operations"] = |
| operations.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response message for the `ListProductSets` method. |
| class ListProductSetsResponse { |
| /// Token to retrieve the next page of results, or empty if there are no more |
| /// results in the list. |
| core.String nextPageToken; |
| |
| /// List of ProductSets. |
| core.List<ProductSet> productSets; |
| |
| ListProductSetsResponse(); |
| |
| ListProductSetsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| if (_json.containsKey("productSets")) { |
| productSets = (_json["productSets"] as core.List) |
| .map<ProductSet>((value) => new ProductSet.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| if (productSets != null) { |
| _json["productSets"] = |
| productSets.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response message for the `ListProductsInProductSet` method. |
| class ListProductsInProductSetResponse { |
| /// Token to retrieve the next page of results, or empty if there are no more |
| /// results in the list. |
| core.String nextPageToken; |
| |
| /// The list of Products. |
| core.List<Product> products; |
| |
| ListProductsInProductSetResponse(); |
| |
| ListProductsInProductSetResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| if (_json.containsKey("products")) { |
| products = (_json["products"] as core.List) |
| .map<Product>((value) => new Product.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| if (products != null) { |
| _json["products"] = products.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response message for the `ListProducts` method. |
| class ListProductsResponse { |
| /// Token to retrieve the next page of results, or empty if there are no more |
| /// results in the list. |
| core.String nextPageToken; |
| |
| /// List of products. |
| core.List<Product> products; |
| |
| ListProductsResponse(); |
| |
| ListProductsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| if (_json.containsKey("products")) { |
| products = (_json["products"] as core.List) |
| .map<Product>((value) => new Product.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| if (products != null) { |
| _json["products"] = products.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Response message for the `ListReferenceImages` method. |
| class ListReferenceImagesResponse { |
| /// The next_page_token returned from a previous List request, if any. |
| core.String nextPageToken; |
| |
| /// The maximum number of items to return. Default 10, maximum 100. |
| core.int pageSize; |
| |
| /// The list of reference images. |
| core.List<ReferenceImage> referenceImages; |
| |
| ListReferenceImagesResponse(); |
| |
| ListReferenceImagesResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| if (_json.containsKey("pageSize")) { |
| pageSize = _json["pageSize"]; |
| } |
| if (_json.containsKey("referenceImages")) { |
| referenceImages = (_json["referenceImages"] as core.List) |
| .map<ReferenceImage>((value) => new ReferenceImage.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| if (pageSize != null) { |
| _json["pageSize"] = pageSize; |
| } |
| if (referenceImages != null) { |
| _json["referenceImages"] = |
| referenceImages.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of detected objects with bounding boxes. |
| class LocalizedObjectAnnotation { |
| /// Image region to which this object belongs. This must be populated. |
| BoundingPoly boundingPoly; |
| |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| LocalizedObjectAnnotation(); |
| |
| LocalizedObjectAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new BoundingPoly.fromJson(_json["boundingPoly"]); |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected entity location information. |
| class LocationInfo { |
| /// lat/long location coordinates. |
| LatLng latLng; |
| |
| LocationInfo(); |
| |
| LocationInfo.fromJson(core.Map _json) { |
| if (_json.containsKey("latLng")) { |
| latLng = new LatLng.fromJson(_json["latLng"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (latLng != null) { |
| _json["latLng"] = (latLng).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the normalized vertex |
| /// coordinates are relative to the original image and range from 0 to 1. |
| class NormalizedVertex { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| NormalizedVertex(); |
| |
| NormalizedVertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Prediction for what the object in the bounding box is. |
| class ObjectAnnotation { |
| /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more |
| /// information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| /// Object ID that should align with EntityAnnotation mid. |
| core.String mid; |
| |
| /// Object name, expressed in its `language_code` language. |
| core.String name; |
| |
| /// Score of the result. Range [0, 1]. |
| core.double score; |
| |
| ObjectAnnotation(); |
| |
| ObjectAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| if (_json.containsKey("mid")) { |
| mid = _json["mid"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| if (mid != null) { |
| _json["mid"] = mid; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// This resource represents a long-running operation that is the result of a |
| /// network API call. |
| class Operation { |
| /// If the value is `false`, it means the operation is still in progress. If |
| /// `true`, the operation is completed, and either `error` or `response` is |
| /// available. |
| core.bool done; |
| |
| /// The error result of the operation in case of failure or cancellation. |
| Status error; |
| |
| /// Service-specific metadata associated with the operation. It typically |
| /// contains progress information and common metadata such as create time. |
| /// Some services might not provide such metadata. Any method that returns a |
| /// long-running operation should document the metadata type, if any. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object> metadata; |
| |
| /// The server-assigned name, which is only unique within the same service |
| /// that originally returns it. If you use the default HTTP mapping, the |
| /// `name` should be a resource name ending with `operations/{unique_id}`. |
| core.String name; |
| |
| /// The normal response of the operation in case of success. If the original |
| /// method returns no data on success, such as `Delete`, the response is |
| /// `google.protobuf.Empty`. If the original method is standard |
| /// `Get`/`Create`/`Update`, the response should be the resource. For other |
| /// methods, the response should have the type `XxxResponse`, where `Xxx` is |
| /// the original method name. For example, if the original method name is |
| /// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object> response; |
| |
| Operation(); |
| |
| Operation.fromJson(core.Map _json) { |
| if (_json.containsKey("done")) { |
| done = _json["done"]; |
| } |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("metadata")) { |
| metadata = |
| (_json["metadata"] as core.Map).cast<core.String, core.Object>(); |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("response")) { |
| response = |
| (_json["response"] as core.Map).cast<core.String, core.Object>(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (done != null) { |
| _json["done"] = done; |
| } |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (metadata != null) { |
| _json["metadata"] = metadata; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (response != null) { |
| _json["response"] = response; |
| } |
| return _json; |
| } |
| } |
| |
| /// Contains metadata for the BatchAnnotateImages operation. |
| class OperationMetadata { |
| /// The time when the batch request was received. |
| core.String createTime; |
| |
| /// Current state of the batch operation. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Invalid. |
| /// - "CREATED" : Request is received. |
| /// - "RUNNING" : Request is actively being processed. |
| /// - "DONE" : The batch processing is done. |
| /// - "CANCELLED" : The batch processing was cancelled. |
| core.String state; |
| |
| /// The time when the operation result was last updated. |
| core.String updateTime; |
| |
| OperationMetadata(); |
| |
| OperationMetadata.fromJson(core.Map _json) { |
| if (_json.containsKey("createTime")) { |
| createTime = _json["createTime"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| if (_json.containsKey("updateTime")) { |
| updateTime = _json["updateTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (createTime != null) { |
| _json["createTime"] = createTime; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| if (updateTime != null) { |
| _json["updateTime"] = updateTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// The desired output location and metadata. |
| class OutputConfig { |
| /// The max number of response protos to put into each output JSON file on |
| /// Google Cloud Storage. The valid range is [1, 100]. If not specified, the |
| /// default value is 20. For example, for one pdf file with 100 pages, 100 |
| /// response protos will be generated. If `batch_size` = 20, then 5 json files |
| /// each containing 20 response protos will be written under the prefix |
| /// `gcs_destination`.`uri`. Currently, batch_size only applies to |
| /// GcsDestination, with potential future support for other output |
| /// configurations. |
| core.int batchSize; |
| |
| /// The Google Cloud Storage location to write the output(s) to. |
| GcsDestination gcsDestination; |
| |
| OutputConfig(); |
| |
| OutputConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("batchSize")) { |
| batchSize = _json["batchSize"]; |
| } |
| if (_json.containsKey("gcsDestination")) { |
| gcsDestination = new GcsDestination.fromJson(_json["gcsDestination"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (batchSize != null) { |
| _json["batchSize"] = batchSize; |
| } |
| if (gcsDestination != null) { |
| _json["gcsDestination"] = (gcsDestination).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Detected page from OCR. |
| class Page { |
| /// List of blocks of text, images etc on this page. |
| core.List<Block> blocks; |
| |
| /// Confidence of the OCR results on the page. Range [0, 1]. |
| core.double confidence; |
| |
| /// Page height. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int height; |
| |
| /// Additional information detected on the page. |
| TextProperty property; |
| |
| /// Page width. For PDFs the unit is points. For images (including TIFFs) the |
| /// unit is pixels. |
| core.int width; |
| |
| Page(); |
| |
| Page.fromJson(core.Map _json) { |
| if (_json.containsKey("blocks")) { |
| blocks = (_json["blocks"] as core.List) |
| .map<Block>((value) => new Block.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("height")) { |
| height = _json["height"]; |
| } |
| if (_json.containsKey("property")) { |
| property = new TextProperty.fromJson(_json["property"]); |
| } |
| if (_json.containsKey("width")) { |
| width = _json["width"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (blocks != null) { |
| _json["blocks"] = blocks.map((value) => (value).toJson()).toList(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (height != null) { |
| _json["height"] = height; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (width != null) { |
| _json["width"] = width; |
| } |
| return _json; |
| } |
| } |
| |
| /// Structural unit of text representing a number of words in certain order. |
| class Paragraph { |
| /// The bounding box for the paragraph. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the paragraph. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the paragraph. |
| TextProperty property; |
| |
| /// List of all words in this paragraph. |
| core.List<Word> words; |
| |
| Paragraph(); |
| |
| Paragraph.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new BoundingPoly.fromJson(_json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = new TextProperty.fromJson(_json["property"]); |
| } |
| if (_json.containsKey("words")) { |
| words = (_json["words"] as core.List) |
| .map<Word>((value) => new Word.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (words != null) { |
| _json["words"] = words.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A 3D position in the image, used primarily for Face detection landmarks. A |
| /// valid Position must have both x and y coordinates. The position coordinates |
| /// are in the same scale as the original image. |
| class Position { |
| /// X coordinate. |
| core.double x; |
| |
| /// Y coordinate. |
| core.double y; |
| |
| /// Z coordinate (or depth). |
| core.double z; |
| |
| Position(); |
| |
| Position.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"].toDouble(); |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"].toDouble(); |
| } |
| if (_json.containsKey("z")) { |
| z = _json["z"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| if (z != null) { |
| _json["z"] = z; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Product contains ReferenceImages. |
| class Product { |
| /// User-provided metadata to be stored with this product. Must be at most |
| /// 4096 characters long. |
| core.String description; |
| |
| /// The user-provided name for this Product. Must not be empty. Must be at |
| /// most 4096 characters long. |
| core.String displayName; |
| |
| /// The resource name of the product. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is |
| /// ignored when creating a product. |
| core.String name; |
| |
| /// Immutable. The category for the product identified by the reference image. |
| /// This should be one of "homegoods-v2", "apparel-v2", "toys-v2", |
| /// "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", |
| /// "apparel", and "toys" are still supported, but these should not be used |
| /// for new products. |
| core.String productCategory; |
| |
| /// Key-value pairs that can be attached to a product. At query time, |
| /// constraints can be specified based on the product_labels. Note that |
| /// integer values can be provided as strings, e.g. "1199". Only strings with |
| /// integer values can match a range-based restriction which is to be |
| /// supported soon. Multiple values can be assigned to the same key. One |
| /// product may have up to 500 product_labels. Notice that the total number of |
| /// distinct product_labels over all products in one ProductSet cannot exceed |
| /// 1M, otherwise the product search pipeline will refuse to work for that |
| /// ProductSet. |
| core.List<KeyValue> productLabels; |
| |
| Product(); |
| |
| Product.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("productCategory")) { |
| productCategory = _json["productCategory"]; |
| } |
| if (_json.containsKey("productLabels")) { |
| productLabels = (_json["productLabels"] as core.List) |
| .map<KeyValue>((value) => new KeyValue.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (productCategory != null) { |
| _json["productCategory"] = productCategory; |
| } |
| if (productLabels != null) { |
| _json["productLabels"] = |
| productLabels.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Parameters for a product search request. |
| class ProductSearchParams { |
| /// The bounding polygon around the area of interest in the image. If it is |
| /// not specified, system discretion will be applied. |
| BoundingPoly boundingPoly; |
| |
| /// The filtering expression. This can be used to restrict search results |
| /// based on Product labels. We currently support an AND of OR of key-value |
| /// expressions, where each expression within an OR must have the same key. An |
| /// '=' should be used to connect the key and value. For example, "(color = |
| /// red OR color = blue) AND brand = Google" is acceptable, but "(color = red |
| /// OR brand = Google)" is not acceptable. "color: red" is not acceptable |
| /// because it uses a ':' instead of an '='. |
| core.String filter; |
| |
| /// The list of product categories to search in. Currently, we only consider |
| /// the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", |
| /// "packagedgoods-v1", or "general-v1" should be specified. The legacy |
| /// categories "homegoods", "apparel", and "toys" are still supported but will |
| /// be deprecated. For new products, please use "homegoods-v2", "apparel-v2", |
| /// or "toys-v2" for better product search accuracy. It is recommended to |
| /// migrate existing products to these categories as well. |
| core.List<core.String> productCategories; |
| |
| /// The resource name of a ProductSet to be searched for similar images. |
| /// Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. |
| core.String productSet; |
| |
| ProductSearchParams(); |
| |
| ProductSearchParams.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPoly")) { |
| boundingPoly = new BoundingPoly.fromJson(_json["boundingPoly"]); |
| } |
| if (_json.containsKey("filter")) { |
| filter = _json["filter"]; |
| } |
| if (_json.containsKey("productCategories")) { |
| productCategories = |
| (_json["productCategories"] as core.List).cast<core.String>(); |
| } |
| if (_json.containsKey("productSet")) { |
| productSet = _json["productSet"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPoly != null) { |
| _json["boundingPoly"] = (boundingPoly).toJson(); |
| } |
| if (filter != null) { |
| _json["filter"] = filter; |
| } |
| if (productCategories != null) { |
| _json["productCategories"] = productCategories; |
| } |
| if (productSet != null) { |
| _json["productSet"] = productSet; |
| } |
| return _json; |
| } |
| } |
| |
| /// Results for a product search request. |
| class ProductSearchResults { |
| /// Timestamp of the index which provided these results. Products added to the |
| /// product set and products removed from the product set after this time are |
| /// not reflected in the current results. |
| core.String indexTime; |
| |
| /// List of results grouped by products detected in the query image. Each |
| /// entry corresponds to one bounding polygon in the query image, and contains |
| /// the matching products specific to that region. There may be duplicate |
| /// product matches in the union of all the per-product results. |
| core.List<GroupedResult> productGroupedResults; |
| |
| /// List of results, one for each product match. |
| core.List<Result> results; |
| |
| ProductSearchResults(); |
| |
| ProductSearchResults.fromJson(core.Map _json) { |
| if (_json.containsKey("indexTime")) { |
| indexTime = _json["indexTime"]; |
| } |
| if (_json.containsKey("productGroupedResults")) { |
| productGroupedResults = (_json["productGroupedResults"] as core.List) |
| .map<GroupedResult>((value) => new GroupedResult.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("results")) { |
| results = (_json["results"] as core.List) |
| .map<Result>((value) => new Result.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (indexTime != null) { |
| _json["indexTime"] = indexTime; |
| } |
| if (productGroupedResults != null) { |
| _json["productGroupedResults"] = |
| productGroupedResults.map((value) => (value).toJson()).toList(); |
| } |
| if (results != null) { |
| _json["results"] = results.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A ProductSet contains Products. A ProductSet can contain a maximum of 1 |
| /// million reference images. If the limit is exceeded, periodic indexing will |
| /// fail. |
| class ProductSet { |
| /// The user-provided name for this ProductSet. Must not be empty. Must be at |
| /// most 4096 characters long. |
| core.String displayName; |
| |
| /// Output only. If there was an error with indexing the product set, the |
| /// field is populated. This field is ignored when creating a ProductSet. |
| Status indexError; |
| |
| /// Output only. The time at which this ProductSet was last indexed. Query |
| /// results will reflect all updates before this time. If this ProductSet has |
| /// never been indexed, this timestamp is the default value |
| /// "1970-01-01T00:00:00Z". This field is ignored when creating a ProductSet. |
| core.String indexTime; |
| |
| /// The resource name of the ProductSet. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. This |
| /// field is ignored when creating a ProductSet. |
| core.String name; |
| |
| ProductSet(); |
| |
| ProductSet.fromJson(core.Map _json) { |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("indexError")) { |
| indexError = new Status.fromJson(_json["indexError"]); |
| } |
| if (_json.containsKey("indexTime")) { |
| indexTime = _json["indexTime"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (indexError != null) { |
| _json["indexError"] = (indexError).toJson(); |
| } |
| if (indexTime != null) { |
| _json["indexTime"] = indexTime; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| return _json; |
| } |
| } |
| |
| /// Config to control which ProductSet contains the Products to be deleted. |
| class ProductSetPurgeConfig { |
| /// The ProductSet that contains the Products to delete. If a Product is a |
| /// member of product_set_id in addition to other ProductSets, the Product |
| /// will still be deleted. |
| core.String productSetId; |
| |
| ProductSetPurgeConfig(); |
| |
| ProductSetPurgeConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("productSetId")) { |
| productSetId = _json["productSetId"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (productSetId != null) { |
| _json["productSetId"] = productSetId; |
| } |
| return _json; |
| } |
| } |
| |
| /// A `Property` consists of a user-supplied name/value pair. |
| class Property { |
| /// Name of the property. |
| core.String name; |
| |
| /// Value of numeric properties. |
| core.String uint64Value; |
| |
| /// Value of the property. |
| core.String value; |
| |
| Property(); |
| |
| Property.fromJson(core.Map _json) { |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("uint64Value")) { |
| uint64Value = _json["uint64Value"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (uint64Value != null) { |
| _json["uint64Value"] = uint64Value; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// Request message for the `PurgeProducts` method. |
| class PurgeProductsRequest { |
| /// If delete_orphan_products is true, all Products that are not in any |
| /// ProductSet will be deleted. |
| core.bool deleteOrphanProducts; |
| |
| /// The default value is false. Override this value to true to actually |
| /// perform the purge. |
| core.bool force; |
| |
| /// Specify which ProductSet contains the Products to be deleted. |
| ProductSetPurgeConfig productSetPurgeConfig; |
| |
| PurgeProductsRequest(); |
| |
| PurgeProductsRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("deleteOrphanProducts")) { |
| deleteOrphanProducts = _json["deleteOrphanProducts"]; |
| } |
| if (_json.containsKey("force")) { |
| force = _json["force"]; |
| } |
| if (_json.containsKey("productSetPurgeConfig")) { |
| productSetPurgeConfig = |
| new ProductSetPurgeConfig.fromJson(_json["productSetPurgeConfig"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (deleteOrphanProducts != null) { |
| _json["deleteOrphanProducts"] = deleteOrphanProducts; |
| } |
| if (force != null) { |
| _json["force"] = force; |
| } |
| if (productSetPurgeConfig != null) { |
| _json["productSetPurgeConfig"] = (productSetPurgeConfig).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A `ReferenceImage` represents a product image and its associated metadata, |
| /// such as bounding boxes. |
| class ReferenceImage { |
| /// Optional. Bounding polygons around the areas of interest in the reference |
| /// image. If this field is empty, the system will try to detect regions of |
| /// interest. At most 10 bounding polygons will be used. The provided shape is |
| /// converted into a non-rotated rectangle. Once converted, the small edge of |
| /// the rectangle must be greater than or equal to 300 pixels. The aspect |
| /// ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). |
| core.List<BoundingPoly> boundingPolys; |
| |
| /// The resource name of the reference image. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. |
| /// This field is ignored when creating a reference image. |
| core.String name; |
| |
| /// Required. The Google Cloud Storage URI of the reference image. The URI |
| /// must start with `gs://`. |
| core.String uri; |
| |
| ReferenceImage(); |
| |
| ReferenceImage.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingPolys")) { |
| boundingPolys = (_json["boundingPolys"] as core.List) |
| .map<BoundingPoly>((value) => new BoundingPoly.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("uri")) { |
| uri = _json["uri"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingPolys != null) { |
| _json["boundingPolys"] = |
| boundingPolys.map((value) => (value).toJson()).toList(); |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (uri != null) { |
| _json["uri"] = uri; |
| } |
| return _json; |
| } |
| } |
| |
| /// Request message for the `RemoveProductFromProductSet` method. |
| class RemoveProductFromProductSetRequest { |
| /// Required. The resource name for the Product to be removed from this |
| /// ProductSet. Format is: |
| /// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` |
| core.String product; |
| |
| RemoveProductFromProductSetRequest(); |
| |
| RemoveProductFromProductSetRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("product")) { |
| product = _json["product"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (product != null) { |
| _json["product"] = product; |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about a product. |
| class Result { |
| /// The resource name of the image from the product that is the closest match |
| /// to the query. |
| core.String image; |
| |
| /// The Product. |
| Product product; |
| |
| /// A confidence level on the match, ranging from 0 (no confidence) to 1 (full |
| /// confidence). |
| core.double score; |
| |
| Result(); |
| |
| Result.fromJson(core.Map _json) { |
| if (_json.containsKey("image")) { |
| image = _json["image"]; |
| } |
| if (_json.containsKey("product")) { |
| product = new Product.fromJson(_json["product"]); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (image != null) { |
| _json["image"] = image; |
| } |
| if (product != null) { |
| _json["product"] = (product).toJson(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Set of features pertaining to the image, computed by computer vision methods |
| /// over safe-search verticals (for example, adult, spoof, medical, violence). |
| class SafeSearchAnnotation { |
| /// Represents the adult content likelihood for the image. Adult content may |
| /// contain elements such as nudity, pornographic images or cartoons, or |
| /// sexual activities. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String adult; |
| |
| /// Likelihood that this is a medical image. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String medical; |
| |
| /// Likelihood that the request image contains racy content. Racy content may |
| /// include (but is not limited to) skimpy or sheer clothing, strategically |
| /// covered nudity, lewd or provocative poses, or close-ups of sensitive body |
| /// areas. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String racy; |
| |
| /// Spoof likelihood. The likelihood that an modification was made to the |
| /// image's canonical version to make it appear funny or offensive. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String spoof; |
| |
| /// Likelihood that this image contains violent content. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Unknown likelihood. |
| /// - "VERY_UNLIKELY" : It is very unlikely. |
| /// - "UNLIKELY" : It is unlikely. |
| /// - "POSSIBLE" : It is possible. |
| /// - "LIKELY" : It is likely. |
| /// - "VERY_LIKELY" : It is very likely. |
| core.String violence; |
| |
| SafeSearchAnnotation(); |
| |
| SafeSearchAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("adult")) { |
| adult = _json["adult"]; |
| } |
| if (_json.containsKey("medical")) { |
| medical = _json["medical"]; |
| } |
| if (_json.containsKey("racy")) { |
| racy = _json["racy"]; |
| } |
| if (_json.containsKey("spoof")) { |
| spoof = _json["spoof"]; |
| } |
| if (_json.containsKey("violence")) { |
| violence = _json["violence"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (adult != null) { |
| _json["adult"] = adult; |
| } |
| if (medical != null) { |
| _json["medical"] = medical; |
| } |
| if (racy != null) { |
| _json["racy"] = racy; |
| } |
| if (spoof != null) { |
| _json["spoof"] = spoof; |
| } |
| if (violence != null) { |
| _json["violence"] = violence; |
| } |
| return _json; |
| } |
| } |
| |
| /// The `Status` type defines a logical error model that is suitable for |
| /// different programming environments, including REST APIs and RPC APIs. It is |
| /// used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| /// three pieces of data: error code, error message, and error details. You can |
| /// find out more about this error model and how to work with it in the [API |
| /// Design Guide](https://cloud.google.com/apis/design/errors). |
| class Status { |
| /// The status code, which should be an enum value of google.rpc.Code. |
| core.int code; |
| |
| /// A list of messages that carry the error details. There is a common set of |
| /// message types for APIs to use. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.List<core.Map<core.String, core.Object>> details; |
| |
| /// A developer-facing error message, which should be in English. Any |
| /// user-facing error message should be localized and sent in the |
| /// google.rpc.Status.details field, or localized by the client. |
| core.String message; |
| |
| Status(); |
| |
| Status.fromJson(core.Map _json) { |
| if (_json.containsKey("code")) { |
| code = _json["code"]; |
| } |
| if (_json.containsKey("details")) { |
| details = (_json["details"] as core.List) |
| .map<core.Map<core.String, core.Object>>( |
| (value) => (value as core.Map).cast<core.String, core.Object>()) |
| .toList(); |
| } |
| if (_json.containsKey("message")) { |
| message = _json["message"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (code != null) { |
| _json["code"] = code; |
| } |
| if (details != null) { |
| _json["details"] = details; |
| } |
| if (message != null) { |
| _json["message"] = message; |
| } |
| return _json; |
| } |
| } |
| |
| /// A single symbol representation. |
| class Symbol { |
| /// The bounding box for the symbol. The vertices are in the order of |
| /// top-left, top-right, bottom-right, bottom-left. When a rotation of the |
| /// bounding box is detected the rotation is represented as around the |
| /// top-left corner as defined when the text is read in the 'natural' |
| /// orientation. For example: * when the text is horizontal it might look |
| /// like: 0----1 | | 3----2 * when it's rotated 180 degrees around the |
| /// top-left corner it becomes: 2----3 | | 1----0 and the vertex order will |
| /// still be (0, 1, 2, 3). |
| BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the symbol. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the symbol. |
| TextProperty property; |
| |
| /// The actual UTF-8 representation of the symbol. |
| core.String text; |
| |
| Symbol(); |
| |
| Symbol.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new BoundingPoly.fromJson(_json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = new TextProperty.fromJson(_json["property"]); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// TextAnnotation contains a structured representation of OCR extracted text. |
| /// The hierarchy of an OCR extracted text structure is like this: |
| /// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Each |
| /// structural component, starting from Page, may further have their own |
| /// properties. Properties describe detected languages, breaks etc.. Please |
| /// refer to the TextAnnotation.TextProperty message definition below for more |
| /// detail. |
| class TextAnnotation { |
| /// List of pages detected by OCR. |
| core.List<Page> pages; |
| |
| /// UTF-8 text detected on the pages. |
| core.String text; |
| |
| TextAnnotation(); |
| |
| TextAnnotation.fromJson(core.Map _json) { |
| if (_json.containsKey("pages")) { |
| pages = (_json["pages"] as core.List) |
| .map<Page>((value) => new Page.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pages != null) { |
| _json["pages"] = pages.map((value) => (value).toJson()).toList(); |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| return _json; |
| } |
| } |
| |
| /// Additional information detected on the structural component. |
| class TextProperty { |
| /// Detected start or end of a text segment. |
| DetectedBreak detectedBreak; |
| |
| /// A list of detected languages together with confidence. |
| core.List<DetectedLanguage> detectedLanguages; |
| |
| TextProperty(); |
| |
| TextProperty.fromJson(core.Map _json) { |
| if (_json.containsKey("detectedBreak")) { |
| detectedBreak = new DetectedBreak.fromJson(_json["detectedBreak"]); |
| } |
| if (_json.containsKey("detectedLanguages")) { |
| detectedLanguages = (_json["detectedLanguages"] as core.List) |
| .map<DetectedLanguage>( |
| (value) => new DetectedLanguage.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (detectedBreak != null) { |
| _json["detectedBreak"] = (detectedBreak).toJson(); |
| } |
| if (detectedLanguages != null) { |
| _json["detectedLanguages"] = |
| detectedLanguages.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A vertex represents a 2D point in the image. NOTE: the vertex coordinates |
| /// are in the same scale as the original image. |
| class Vertex { |
| /// X coordinate. |
| core.int x; |
| |
| /// Y coordinate. |
| core.int y; |
| |
| Vertex(); |
| |
| Vertex.fromJson(core.Map _json) { |
| if (_json.containsKey("x")) { |
| x = _json["x"]; |
| } |
| if (_json.containsKey("y")) { |
| y = _json["y"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (x != null) { |
| _json["x"] = x; |
| } |
| if (y != null) { |
| _json["y"] = y; |
| } |
| return _json; |
| } |
| } |
| |
| /// Relevant information for the image from the Internet. |
| class WebDetection { |
| /// The service's best guess as to the topic of the request image. Inferred |
| /// from similar images on the open web. |
| core.List<WebLabel> bestGuessLabels; |
| |
| /// Fully matching images from the Internet. Can include resized copies of the |
| /// query image. |
| core.List<WebImage> fullMatchingImages; |
| |
| /// Web pages containing the matching images from the Internet. |
| core.List<WebPage> pagesWithMatchingImages; |
| |
| /// Partial matching images from the Internet. Those images are similar enough |
| /// to share some key-point features. For example an original image will |
| /// likely have partial matching for its crops. |
| core.List<WebImage> partialMatchingImages; |
| |
| /// The visually similar image results. |
| core.List<WebImage> visuallySimilarImages; |
| |
| /// Deduced entities from similar images on the Internet. |
| core.List<WebEntity> webEntities; |
| |
| WebDetection(); |
| |
| WebDetection.fromJson(core.Map _json) { |
| if (_json.containsKey("bestGuessLabels")) { |
| bestGuessLabels = (_json["bestGuessLabels"] as core.List) |
| .map<WebLabel>((value) => new WebLabel.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<WebImage>((value) => new WebImage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("pagesWithMatchingImages")) { |
| pagesWithMatchingImages = (_json["pagesWithMatchingImages"] as core.List) |
| .map<WebPage>((value) => new WebPage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<WebImage>((value) => new WebImage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("visuallySimilarImages")) { |
| visuallySimilarImages = (_json["visuallySimilarImages"] as core.List) |
| .map<WebImage>((value) => new WebImage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("webEntities")) { |
| webEntities = (_json["webEntities"] as core.List) |
| .map<WebEntity>((value) => new WebEntity.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (bestGuessLabels != null) { |
| _json["bestGuessLabels"] = |
| bestGuessLabels.map((value) => (value).toJson()).toList(); |
| } |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pagesWithMatchingImages != null) { |
| _json["pagesWithMatchingImages"] = |
| pagesWithMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (visuallySimilarImages != null) { |
| _json["visuallySimilarImages"] = |
| visuallySimilarImages.map((value) => (value).toJson()).toList(); |
| } |
| if (webEntities != null) { |
| _json["webEntities"] = |
| webEntities.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Parameters for web detection request. |
| class WebDetectionParams { |
| /// Whether to include results derived from the geo information in the image. |
| core.bool includeGeoResults; |
| |
| WebDetectionParams(); |
| |
| WebDetectionParams.fromJson(core.Map _json) { |
| if (_json.containsKey("includeGeoResults")) { |
| includeGeoResults = _json["includeGeoResults"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (includeGeoResults != null) { |
| _json["includeGeoResults"] = includeGeoResults; |
| } |
| return _json; |
| } |
| } |
| |
| /// Entity deduced from similar images on the Internet. |
| class WebEntity { |
| /// Canonical description of the entity, in English. |
| core.String description; |
| |
| /// Opaque entity ID. |
| core.String entityId; |
| |
| /// Overall relevancy score for the entity. Not normalized and not comparable |
| /// across different image queries. |
| core.double score; |
| |
| WebEntity(); |
| |
| WebEntity.fromJson(core.Map _json) { |
| if (_json.containsKey("description")) { |
| description = _json["description"]; |
| } |
| if (_json.containsKey("entityId")) { |
| entityId = _json["entityId"]; |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (description != null) { |
| _json["description"] = description; |
| } |
| if (entityId != null) { |
| _json["entityId"] = entityId; |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for online images. |
| class WebImage { |
| /// (Deprecated) Overall relevancy score for the image. |
| core.double score; |
| |
| /// The result image URL. |
| core.String url; |
| |
| WebImage(); |
| |
| WebImage.fromJson(core.Map _json) { |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// Label to provide extra metadata for the web detection. |
| class WebLabel { |
| /// Label for extra metadata. |
| core.String label; |
| |
| /// The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". For |
| /// more information, see |
| /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| core.String languageCode; |
| |
| WebLabel(); |
| |
| WebLabel.fromJson(core.Map _json) { |
| if (_json.containsKey("label")) { |
| label = _json["label"]; |
| } |
| if (_json.containsKey("languageCode")) { |
| languageCode = _json["languageCode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (label != null) { |
| _json["label"] = label; |
| } |
| if (languageCode != null) { |
| _json["languageCode"] = languageCode; |
| } |
| return _json; |
| } |
| } |
| |
| /// Metadata for web pages. |
| class WebPage { |
| /// Fully matching images on the page. Can include resized copies of the query |
| /// image. |
| core.List<WebImage> fullMatchingImages; |
| |
| /// Title for the web page, may contain HTML markups. |
| core.String pageTitle; |
| |
| /// Partial matching images on the page. Those images are similar enough to |
| /// share some key-point features. For example an original image will likely |
| /// have partial matching for its crops. |
| core.List<WebImage> partialMatchingImages; |
| |
| /// (Deprecated) Overall relevancy score for the web page. |
| core.double score; |
| |
| /// The result web page URL. |
| core.String url; |
| |
| WebPage(); |
| |
| WebPage.fromJson(core.Map _json) { |
| if (_json.containsKey("fullMatchingImages")) { |
| fullMatchingImages = (_json["fullMatchingImages"] as core.List) |
| .map<WebImage>((value) => new WebImage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("pageTitle")) { |
| pageTitle = _json["pageTitle"]; |
| } |
| if (_json.containsKey("partialMatchingImages")) { |
| partialMatchingImages = (_json["partialMatchingImages"] as core.List) |
| .map<WebImage>((value) => new WebImage.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("score")) { |
| score = _json["score"].toDouble(); |
| } |
| if (_json.containsKey("url")) { |
| url = _json["url"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fullMatchingImages != null) { |
| _json["fullMatchingImages"] = |
| fullMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (pageTitle != null) { |
| _json["pageTitle"] = pageTitle; |
| } |
| if (partialMatchingImages != null) { |
| _json["partialMatchingImages"] = |
| partialMatchingImages.map((value) => (value).toJson()).toList(); |
| } |
| if (score != null) { |
| _json["score"] = score; |
| } |
| if (url != null) { |
| _json["url"] = url; |
| } |
| return _json; |
| } |
| } |
| |
| /// A word representation. |
| class Word { |
| /// The bounding box for the word. The vertices are in the order of top-left, |
| /// top-right, bottom-right, bottom-left. When a rotation of the bounding box |
| /// is detected the rotation is represented as around the top-left corner as |
| /// defined when the text is read in the 'natural' orientation. For example: * |
| /// when the text is horizontal it might look like: 0----1 | | 3----2 * when |
| /// it's rotated 180 degrees around the top-left corner it becomes: 2----3 | | |
| /// 1----0 and the vertex order will still be (0, 1, 2, 3). |
| BoundingPoly boundingBox; |
| |
| /// Confidence of the OCR results for the word. Range [0, 1]. |
| core.double confidence; |
| |
| /// Additional information detected for the word. |
| TextProperty property; |
| |
| /// List of symbols in the word. The order of the symbols follows the natural |
| /// reading order. |
| core.List<Symbol> symbols; |
| |
| Word(); |
| |
| Word.fromJson(core.Map _json) { |
| if (_json.containsKey("boundingBox")) { |
| boundingBox = new BoundingPoly.fromJson(_json["boundingBox"]); |
| } |
| if (_json.containsKey("confidence")) { |
| confidence = _json["confidence"].toDouble(); |
| } |
| if (_json.containsKey("property")) { |
| property = new TextProperty.fromJson(_json["property"]); |
| } |
| if (_json.containsKey("symbols")) { |
| symbols = (_json["symbols"] as core.List) |
| .map<Symbol>((value) => new Symbol.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (boundingBox != null) { |
| _json["boundingBox"] = (boundingBox).toJson(); |
| } |
| if (confidence != null) { |
| _json["confidence"] = confidence; |
| } |
| if (property != null) { |
| _json["property"] = (property).toJson(); |
| } |
| if (symbols != null) { |
| _json["symbols"] = symbols.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |