blob: 023142af042ae8925f2c82308da74aaeee056736 [file] [log] [blame]
// Copyright 2019 Google Inc. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package vision provides access to the Cloud Vision API.
//
// This package is DEPRECATED. Use package cloud.google.com/go/vision/apiv1 instead.
//
// See https://cloud.google.com/vision/
//
// Usage example:
//
// import "google.golang.org/api/vision/v1p2beta1"
// ...
// visionService, err := vision.New(oauthHttpClient)
package vision // import "google.golang.org/api/vision/v1p2beta1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "vision:v1p2beta1"
const apiName = "vision"
const apiVersion = "v1p2beta1"
const basePath = "https://vision.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
// Apply machine learning models to understand and label images
CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Files = NewFilesService(s)
s.Images = NewImagesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Files *FilesService
Images *ImagesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewFilesService(s *Service) *FilesService {
rs := &FilesService{s: s}
return rs
}
type FilesService struct {
s *Service
}
func NewImagesService(s *Service) *ImagesService {
rs := &ImagesService{s: s}
return rs
}
type ImagesService struct {
s *Service
}
// AnnotateFileResponse: Response to a single file annotation request. A
// file may contain one or more
// images, which individually have their own responses.
type AnnotateFileResponse struct {
// InputConfig: Information about the file for which this response is
// generated.
InputConfig *InputConfig `json:"inputConfig,omitempty"`
// Responses: Individual responses to images found within the file.
Responses []*AnnotateImageResponse `json:"responses,omitempty"`
// ForceSendFields is a list of field names (e.g. "InputConfig") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InputConfig") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AnnotateFileResponse) MarshalJSON() ([]byte, error) {
type NoMethod AnnotateFileResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AnnotateImageResponse: Response to an image annotation request.
type AnnotateImageResponse struct {
// Context: If present, contextual information is needed to understand
// where this image
// comes from.
Context *ImageAnnotationContext `json:"context,omitempty"`
// CropHintsAnnotation: If present, crop hints have completed
// successfully.
CropHintsAnnotation *CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"`
// Error: 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.
Error *Status `json:"error,omitempty"`
// FaceAnnotations: If present, face detection has completed
// successfully.
FaceAnnotations []*FaceAnnotation `json:"faceAnnotations,omitempty"`
// FullTextAnnotation: If present, text (OCR) detection or document
// (OCR) text detection has
// completed successfully.
// This annotation provides the structural hierarchy for the OCR
// detected
// text.
FullTextAnnotation *TextAnnotation `json:"fullTextAnnotation,omitempty"`
// ImagePropertiesAnnotation: If present, image properties were
// extracted successfully.
ImagePropertiesAnnotation *ImageProperties `json:"imagePropertiesAnnotation,omitempty"`
// LabelAnnotations: If present, label detection has completed
// successfully.
LabelAnnotations []*EntityAnnotation `json:"labelAnnotations,omitempty"`
// LandmarkAnnotations: If present, landmark detection has completed
// successfully.
LandmarkAnnotations []*EntityAnnotation `json:"landmarkAnnotations,omitempty"`
// LocalizedObjectAnnotations: If present, localized object detection
// has completed successfully.
// This will be sorted descending by confidence score.
LocalizedObjectAnnotations []*LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"`
// LogoAnnotations: If present, logo detection has completed
// successfully.
LogoAnnotations []*EntityAnnotation `json:"logoAnnotations,omitempty"`
// ProductSearchResults: If present, product search has completed
// successfully.
ProductSearchResults *ProductSearchResults `json:"productSearchResults,omitempty"`
// SafeSearchAnnotation: If present, safe-search annotation has
// completed successfully.
SafeSearchAnnotation *SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"`
// TextAnnotations: If present, text (OCR) detection has completed
// successfully.
TextAnnotations []*EntityAnnotation `json:"textAnnotations,omitempty"`
// WebDetection: If present, web detection has completed successfully.
WebDetection *WebDetection `json:"webDetection,omitempty"`
// ForceSendFields is a list of field names (e.g. "Context") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Context") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AnnotateImageResponse) MarshalJSON() ([]byte, error) {
type NoMethod AnnotateImageResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AsyncAnnotateFileResponse: The response for a single offline file
// annotation request.
type AsyncAnnotateFileResponse struct {
// OutputConfig: The output location and metadata from
// AsyncAnnotateFileRequest.
OutputConfig *OutputConfig `json:"outputConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "OutputConfig") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "OutputConfig") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) {
type NoMethod AsyncAnnotateFileResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AsyncBatchAnnotateFilesResponse: Response to an async batch file
// annotation request.
type AsyncBatchAnnotateFilesResponse struct {
// Responses: The list of file annotation responses, one for each
// request in
// AsyncBatchAnnotateFilesRequest.
Responses []*AsyncAnnotateFileResponse `json:"responses,omitempty"`
// ForceSendFields is a list of field names (e.g. "Responses") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Responses") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
type NoMethod AsyncBatchAnnotateFilesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BatchOperationMetadata: 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.
type BatchOperationMetadata struct {
// EndTime: The time when the batch request is finished
// and
// google.longrunning.Operation.done is set to true.
EndTime string `json:"endTime,omitempty"`
// State: The current state of the batch operation.
//
// Possible values:
// "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.
State string `json:"state,omitempty"`
// SubmitTime: The time when the batch request was submitted to the
// server.
SubmitTime string `json:"submitTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EndTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod BatchOperationMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Block: Logical element on the page.
type Block struct {
// BlockType: Detected block type (text, image etc) for this block.
//
// Possible values:
// "UNKNOWN" - Unknown block type.
// "TEXT" - Regular text block.
// "TABLE" - Table block.
// "PICTURE" - Image block.
// "RULER" - Horizontal/vertical line box.
// "BARCODE" - Barcode block.
BlockType string `json:"blockType,omitempty"`
// BoundingBox: 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).
BoundingBox *BoundingPoly `json:"boundingBox,omitempty"`
// Confidence: Confidence of the OCR results on the block. Range [0, 1].
Confidence float64 `json:"confidence,omitempty"`
// Paragraphs: List of paragraphs in this block (if this blocks is of
// type text).
Paragraphs []*Paragraph `json:"paragraphs,omitempty"`
// Property: Additional information detected for the block.
Property *TextProperty `json:"property,omitempty"`
// ForceSendFields is a list of field names (e.g. "BlockType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BlockType") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Block) MarshalJSON() ([]byte, error) {
type NoMethod Block
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Block) UnmarshalJSON(data []byte) error {
type NoMethod Block
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
return nil
}
// BoundingPoly: A bounding polygon for the detected image annotation.
type BoundingPoly struct {
// NormalizedVertices: The bounding polygon normalized vertices.
NormalizedVertices []*NormalizedVertex `json:"normalizedVertices,omitempty"`
// Vertices: The bounding polygon vertices.
Vertices []*Vertex `json:"vertices,omitempty"`
// ForceSendFields is a list of field names (e.g. "NormalizedVertices")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NormalizedVertices") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *BoundingPoly) MarshalJSON() ([]byte, error) {
type NoMethod BoundingPoly
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Color: 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. Here are some
// examples:
//
// 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('');
// };
//
// // ...
type Color struct {
// Alpha: 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).
Alpha float64 `json:"alpha,omitempty"`
// Blue: The amount of blue in the color as a value in the interval [0,
// 1].
Blue float64 `json:"blue,omitempty"`
// Green: The amount of green in the color as a value in the interval
// [0, 1].
Green float64 `json:"green,omitempty"`
// Red: The amount of red in the color as a value in the interval [0,
// 1].
Red float64 `json:"red,omitempty"`
// ForceSendFields is a list of field names (e.g. "Alpha") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Alpha") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Color) MarshalJSON() ([]byte, error) {
type NoMethod Color
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Color) UnmarshalJSON(data []byte) error {
type NoMethod Color
var s1 struct {
Alpha gensupport.JSONFloat64 `json:"alpha"`
Blue gensupport.JSONFloat64 `json:"blue"`
Green gensupport.JSONFloat64 `json:"green"`
Red gensupport.JSONFloat64 `json:"red"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Alpha = float64(s1.Alpha)
s.Blue = float64(s1.Blue)
s.Green = float64(s1.Green)
s.Red = float64(s1.Red)
return nil
}
// ColorInfo: Color information consists of RGB channels, score, and the
// fraction of
// the image that the color occupies in the image.
type ColorInfo struct {
// Color: RGB components of the color.
Color *Color `json:"color,omitempty"`
// PixelFraction: The fraction of pixels the color occupies in the
// image.
// Value in range [0, 1].
PixelFraction float64 `json:"pixelFraction,omitempty"`
// Score: Image-specific score for this color. Value in range [0, 1].
Score float64 `json:"score,omitempty"`
// ForceSendFields is a list of field names (e.g. "Color") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Color") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ColorInfo) MarshalJSON() ([]byte, error) {
type NoMethod ColorInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *ColorInfo) UnmarshalJSON(data []byte) error {
type NoMethod ColorInfo
var s1 struct {
PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"`
Score gensupport.JSONFloat64 `json:"score"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.PixelFraction = float64(s1.PixelFraction)
s.Score = float64(s1.Score)
return nil
}
// CropHint: Single crop hint that is used to generate a new crop when
// serving an image.
type CropHint struct {
// BoundingPoly: The bounding polygon for the crop region. The
// coordinates of the bounding
// box are in the original image's scale, as returned in `ImageParams`.
BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"`
// Confidence: Confidence of this being a salient region. Range [0, 1].
Confidence float64 `json:"confidence,omitempty"`
// ImportanceFraction: Fraction of importance of this salient region
// with respect to the original
// image.
ImportanceFraction float64 `json:"importanceFraction,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BoundingPoly") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CropHint) MarshalJSON() ([]byte, error) {
type NoMethod CropHint
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *CropHint) UnmarshalJSON(data []byte) error {
type NoMethod CropHint
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
s.ImportanceFraction = float64(s1.ImportanceFraction)
return nil
}
// CropHintsAnnotation: Set of crop hints that are used to generate new
// crops when serving images.
type CropHintsAnnotation struct {
// CropHints: Crop hint results.
CropHints []*CropHint `json:"cropHints,omitempty"`
// ForceSendFields is a list of field names (e.g. "CropHints") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CropHints") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CropHintsAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod CropHintsAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DetectedBreak: Detected start or end of a structural component.
type DetectedBreak struct {
// IsPrefix: True if break prepends the element.
IsPrefix bool `json:"isPrefix,omitempty"`
// Type: Detected break type.
//
// Possible values:
// "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.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "IsPrefix") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IsPrefix") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DetectedBreak) MarshalJSON() ([]byte, error) {
type NoMethod DetectedBreak
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DetectedLanguage: Detected language for a structural component.
type DetectedLanguage struct {
// Confidence: Confidence of detected language. Range [0, 1].
Confidence float64 `json:"confidence,omitempty"`
// LanguageCode: 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.
LanguageCode string `json:"languageCode,omitempty"`
// ForceSendFields is a list of field names (e.g. "Confidence") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Confidence") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DetectedLanguage) MarshalJSON() ([]byte, error) {
type NoMethod DetectedLanguage
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *DetectedLanguage) UnmarshalJSON(data []byte) error {
type NoMethod DetectedLanguage
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
return nil
}
// DominantColorsAnnotation: Set of dominant colors and their
// corresponding scores.
type DominantColorsAnnotation struct {
// Colors: RGB color values with their score and pixel fraction.
Colors []*ColorInfo `json:"colors,omitempty"`
// ForceSendFields is a list of field names (e.g. "Colors") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Colors") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod DominantColorsAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// EntityAnnotation: Set of detected entity features.
type EntityAnnotation struct {
// BoundingPoly: Image region to which this entity belongs. Not
// produced
// for `LABEL_DETECTION` features.
BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"`
// Confidence: **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].
Confidence float64 `json:"confidence,omitempty"`
// Description: Entity textual description, expressed in its `locale`
// language.
Description string `json:"description,omitempty"`
// Locale: The language code for the locale in which the entity
// textual
// `description` is expressed.
Locale string `json:"locale,omitempty"`
// Locations: 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.
Locations []*LocationInfo `json:"locations,omitempty"`
// Mid: Opaque entity ID. Some IDs may be available in
// [Google Knowledge Graph
// Search
// API](https://developers.google.com/knowledge-graph/).
Mid string `json:"mid,omitempty"`
// Properties: Some entities may have optional user-supplied `Property`
// (name/value)
// fields, such a score or string that qualifies the entity.
Properties []*Property `json:"properties,omitempty"`
// Score: Overall score of the result. Range [0, 1].
Score float64 `json:"score,omitempty"`
// Topicality: 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].
Topicality float64 `json:"topicality,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BoundingPoly") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EntityAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod EntityAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *EntityAnnotation) UnmarshalJSON(data []byte) error {
type NoMethod EntityAnnotation
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
Score gensupport.JSONFloat64 `json:"score"`
Topicality gensupport.JSONFloat64 `json:"topicality"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
s.Score = float64(s1.Score)
s.Topicality = float64(s1.Topicality)
return nil
}
// FaceAnnotation: A face annotation object contains the results of face
// detection.
type FaceAnnotation struct {
// AngerLikelihood: Anger likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
AngerLikelihood string `json:"angerLikelihood,omitempty"`
// BlurredLikelihood: Blurred likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
BlurredLikelihood string `json:"blurredLikelihood,omitempty"`
// BoundingPoly: The bounding polygon around the face. The coordinates
// of the bounding box
// are in the original image's scale, as returned in `ImageParams`.
// 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 `json:"boundingPoly,omitempty"`
// DetectionConfidence: Detection confidence. Range [0, 1].
DetectionConfidence float64 `json:"detectionConfidence,omitempty"`
// FdBoundingPoly: 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 <code>fd</code> (face detection) prefix.
FdBoundingPoly *BoundingPoly `json:"fdBoundingPoly,omitempty"`
// HeadwearLikelihood: Headwear likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
HeadwearLikelihood string `json:"headwearLikelihood,omitempty"`
// JoyLikelihood: Joy likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
JoyLikelihood string `json:"joyLikelihood,omitempty"`
// LandmarkingConfidence: Face landmarking confidence. Range [0, 1].
LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"`
// Landmarks: Detected face landmarks.
Landmarks []*Landmark `json:"landmarks,omitempty"`
// PanAngle: 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].
PanAngle float64 `json:"panAngle,omitempty"`
// RollAngle: 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].
RollAngle float64 `json:"rollAngle,omitempty"`
// SorrowLikelihood: Sorrow likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
SorrowLikelihood string `json:"sorrowLikelihood,omitempty"`
// SurpriseLikelihood: Surprise likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"`
// TiltAngle: Pitch angle, which indicates the upwards/downwards angle
// that the face is
// pointing relative to the image's horizontal plane. Range [-180,180].
TiltAngle float64 `json:"tiltAngle,omitempty"`
// UnderExposedLikelihood: Under-exposed likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"`
// ForceSendFields is a list of field names (e.g. "AngerLikelihood") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AngerLikelihood") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *FaceAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod FaceAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *FaceAnnotation) UnmarshalJSON(data []byte) error {
type NoMethod FaceAnnotation
var s1 struct {
DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"`
LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"`
PanAngle gensupport.JSONFloat64 `json:"panAngle"`
RollAngle gensupport.JSONFloat64 `json:"rollAngle"`
TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.DetectionConfidence = float64(s1.DetectionConfidence)
s.LandmarkingConfidence = float64(s1.LandmarkingConfidence)
s.PanAngle = float64(s1.PanAngle)
s.RollAngle = float64(s1.RollAngle)
s.TiltAngle = float64(s1.TiltAngle)
return nil
}
// GcsDestination: The Google Cloud Storage location where the output
// will be written to.
type GcsDestination struct {
// Uri: Google Cloud Storage URI where the results will be stored.
// Results will
// be in JSON format and preceded by its corresponding input URI. This
// field
// can either represent a single file, or a prefix for multiple
// outputs.
// Prefixes must end in a `/`.
//
// Examples:
//
// * File: gs://bucket-name/filename.json
// * Prefix: gs://bucket-name/prefix/here/
// * File: gs://bucket-name/prefix/here
//
// 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.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Uri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Uri") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GcsDestination) MarshalJSON() ([]byte, error) {
type NoMethod GcsDestination
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GcsSource: The Google Cloud Storage location where the input will be
// read from.
type GcsSource struct {
// Uri: Google Cloud Storage URI for the input file. This must only be
// a
// Google Cloud Storage object. Wildcards are not currently supported.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Uri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Uri") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GcsSource) MarshalJSON() ([]byte, error) {
type NoMethod GcsSource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1AnnotateFileResponse: Response to a single
// file annotation request. A file may contain one or more
// images, which individually have their own responses.
type GoogleCloudVisionV1p1beta1AnnotateFileResponse struct {
// InputConfig: Information about the file for which this response is
// generated.
InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"`
// Responses: Individual responses to images found within the file.
Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"`
// ForceSendFields is a list of field names (e.g. "InputConfig") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InputConfig") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1AnnotateImageResponse: Response to an image
// annotation request.
type GoogleCloudVisionV1p1beta1AnnotateImageResponse struct {
// Context: If present, contextual information is needed to understand
// where this image
// comes from.
Context *GoogleCloudVisionV1p1beta1ImageAnnotationContext `json:"context,omitempty"`
// CropHintsAnnotation: If present, crop hints have completed
// successfully.
CropHintsAnnotation *GoogleCloudVisionV1p1beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"`
// Error: 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.
Error *Status `json:"error,omitempty"`
// FaceAnnotations: If present, face detection has completed
// successfully.
FaceAnnotations []*GoogleCloudVisionV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"`
// FullTextAnnotation: If present, text (OCR) detection or document
// (OCR) text detection has
// completed successfully.
// This annotation provides the structural hierarchy for the OCR
// detected
// text.
FullTextAnnotation *GoogleCloudVisionV1p1beta1TextAnnotation `json:"fullTextAnnotation,omitempty"`
// ImagePropertiesAnnotation: If present, image properties were
// extracted successfully.
ImagePropertiesAnnotation *GoogleCloudVisionV1p1beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"`
// LabelAnnotations: If present, label detection has completed
// successfully.
LabelAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"labelAnnotations,omitempty"`
// LandmarkAnnotations: If present, landmark detection has completed
// successfully.
LandmarkAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"`
// LocalizedObjectAnnotations: If present, localized object detection
// has completed successfully.
// This will be sorted descending by confidence score.
LocalizedObjectAnnotations []*GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"`
// LogoAnnotations: If present, logo detection has completed
// successfully.
LogoAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"logoAnnotations,omitempty"`
// ProductSearchResults: If present, product search has completed
// successfully.
ProductSearchResults *GoogleCloudVisionV1p1beta1ProductSearchResults `json:"productSearchResults,omitempty"`
// SafeSearchAnnotation: If present, safe-search annotation has
// completed successfully.
SafeSearchAnnotation *GoogleCloudVisionV1p1beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"`
// TextAnnotations: If present, text (OCR) detection has completed
// successfully.
TextAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"textAnnotations,omitempty"`
// WebDetection: If present, web detection has completed successfully.
WebDetection *GoogleCloudVisionV1p1beta1WebDetection `json:"webDetection,omitempty"`
// ForceSendFields is a list of field names (e.g. "Context") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Context") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse: The response for
// a single offline file annotation request.
type GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse struct {
// OutputConfig: The output location and metadata from
// AsyncAnnotateFileRequest.
OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "OutputConfig") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "OutputConfig") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse: Response
// to an async batch file annotation request.
type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse struct {
// Responses: The list of file annotation responses, one for each
// request in
// AsyncBatchAnnotateFilesRequest.
Responses []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse `json:"responses,omitempty"`
// ForceSendFields is a list of field names (e.g. "Responses") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Responses") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1Block: Logical element on the page.
type GoogleCloudVisionV1p1beta1Block struct {
// BlockType: Detected block type (text, image etc) for this block.
//
// Possible values:
// "UNKNOWN" - Unknown block type.
// "TEXT" - Regular text block.
// "TABLE" - Table block.
// "PICTURE" - Image block.
// "RULER" - Horizontal/vertical line box.
// "BARCODE" - Barcode block.
BlockType string `json:"blockType,omitempty"`
// BoundingBox: 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).
BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"`
// Confidence: Confidence of the OCR results on the block. Range [0, 1].
Confidence float64 `json:"confidence,omitempty"`
// Paragraphs: List of paragraphs in this block (if this blocks is of
// type text).
Paragraphs []*GoogleCloudVisionV1p1beta1Paragraph `json:"paragraphs,omitempty"`
// Property: Additional information detected for the block.
Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
// ForceSendFields is a list of field names (e.g. "BlockType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BlockType") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1Block) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1Block
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1Block) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1Block
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
return nil
}
// GoogleCloudVisionV1p1beta1BoundingPoly: A bounding polygon for the
// detected image annotation.
type GoogleCloudVisionV1p1beta1BoundingPoly struct {
// NormalizedVertices: The bounding polygon normalized vertices.
NormalizedVertices []*GoogleCloudVisionV1p1beta1NormalizedVertex `json:"normalizedVertices,omitempty"`
// Vertices: The bounding polygon vertices.
Vertices []*GoogleCloudVisionV1p1beta1Vertex `json:"vertices,omitempty"`
// ForceSendFields is a list of field names (e.g. "NormalizedVertices")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NormalizedVertices") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1BoundingPoly) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1BoundingPoly
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1ColorInfo: Color information consists of
// RGB channels, score, and the fraction of
// the image that the color occupies in the image.
type GoogleCloudVisionV1p1beta1ColorInfo struct {
// Color: RGB components of the color.
Color *Color `json:"color,omitempty"`
// PixelFraction: The fraction of pixels the color occupies in the
// image.
// Value in range [0, 1].
PixelFraction float64 `json:"pixelFraction,omitempty"`
// Score: Image-specific score for this color. Value in range [0, 1].
Score float64 `json:"score,omitempty"`
// ForceSendFields is a list of field names (e.g. "Color") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Color") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1ColorInfo) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1ColorInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1ColorInfo) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1ColorInfo
var s1 struct {
PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"`
Score gensupport.JSONFloat64 `json:"score"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.PixelFraction = float64(s1.PixelFraction)
s.Score = float64(s1.Score)
return nil
}
// GoogleCloudVisionV1p1beta1CropHint: Single crop hint that is used to
// generate a new crop when serving an image.
type GoogleCloudVisionV1p1beta1CropHint struct {
// BoundingPoly: The bounding polygon for the crop region. The
// coordinates of the bounding
// box are in the original image's scale, as returned in `ImageParams`.
BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
// Confidence: Confidence of this being a salient region. Range [0, 1].
Confidence float64 `json:"confidence,omitempty"`
// ImportanceFraction: Fraction of importance of this salient region
// with respect to the original
// image.
ImportanceFraction float64 `json:"importanceFraction,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BoundingPoly") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1CropHint) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1CropHint
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1CropHint) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1CropHint
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
s.ImportanceFraction = float64(s1.ImportanceFraction)
return nil
}
// GoogleCloudVisionV1p1beta1CropHintsAnnotation: Set of crop hints that
// are used to generate new crops when serving images.
type GoogleCloudVisionV1p1beta1CropHintsAnnotation struct {
// CropHints: Crop hint results.
CropHints []*GoogleCloudVisionV1p1beta1CropHint `json:"cropHints,omitempty"`
// ForceSendFields is a list of field names (e.g. "CropHints") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CropHints") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1CropHintsAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1DominantColorsAnnotation: Set of dominant
// colors and their corresponding scores.
type GoogleCloudVisionV1p1beta1DominantColorsAnnotation struct {
// Colors: RGB color values with their score and pixel fraction.
Colors []*GoogleCloudVisionV1p1beta1ColorInfo `json:"colors,omitempty"`
// ForceSendFields is a list of field names (e.g. "Colors") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Colors") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1DominantColorsAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1EntityAnnotation: Set of detected entity
// features.
type GoogleCloudVisionV1p1beta1EntityAnnotation struct {
// BoundingPoly: Image region to which this entity belongs. Not
// produced
// for `LABEL_DETECTION` features.
BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
// Confidence: **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].
Confidence float64 `json:"confidence,omitempty"`
// Description: Entity textual description, expressed in its `locale`
// language.
Description string `json:"description,omitempty"`
// Locale: The language code for the locale in which the entity
// textual
// `description` is expressed.
Locale string `json:"locale,omitempty"`
// Locations: 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.
Locations []*GoogleCloudVisionV1p1beta1LocationInfo `json:"locations,omitempty"`
// Mid: Opaque entity ID. Some IDs may be available in
// [Google Knowledge Graph
// Search
// API](https://developers.google.com/knowledge-graph/).
Mid string `json:"mid,omitempty"`
// Properties: Some entities may have optional user-supplied `Property`
// (name/value)
// fields, such a score or string that qualifies the entity.
Properties []*GoogleCloudVisionV1p1beta1Property `json:"properties,omitempty"`
// Score: Overall score of the result. Range [0, 1].
Score float64 `json:"score,omitempty"`
// Topicality: 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].
Topicality float64 `json:"topicality,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BoundingPoly") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
Score gensupport.JSONFloat64 `json:"score"`
Topicality gensupport.JSONFloat64 `json:"topicality"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
s.Score = float64(s1.Score)
s.Topicality = float64(s1.Topicality)
return nil
}
// GoogleCloudVisionV1p1beta1FaceAnnotation: A face annotation object
// contains the results of face detection.
type GoogleCloudVisionV1p1beta1FaceAnnotation struct {
// AngerLikelihood: Anger likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
AngerLikelihood string `json:"angerLikelihood,omitempty"`
// BlurredLikelihood: Blurred likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
BlurredLikelihood string `json:"blurredLikelihood,omitempty"`
// BoundingPoly: The bounding polygon around the face. The coordinates
// of the bounding box
// are in the original image's scale, as returned in `ImageParams`.
// 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 *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
// DetectionConfidence: Detection confidence. Range [0, 1].
DetectionConfidence float64 `json:"detectionConfidence,omitempty"`
// FdBoundingPoly: 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 <code>fd</code> (face detection) prefix.
FdBoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"fdBoundingPoly,omitempty"`
// HeadwearLikelihood: Headwear likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
HeadwearLikelihood string `json:"headwearLikelihood,omitempty"`
// JoyLikelihood: Joy likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
JoyLikelihood string `json:"joyLikelihood,omitempty"`
// LandmarkingConfidence: Face landmarking confidence. Range [0, 1].
LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"`
// Landmarks: Detected face landmarks.
Landmarks []*GoogleCloudVisionV1p1beta1FaceAnnotationLandmark `json:"landmarks,omitempty"`
// PanAngle: 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].
PanAngle float64 `json:"panAngle,omitempty"`
// RollAngle: 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].
RollAngle float64 `json:"rollAngle,omitempty"`
// SorrowLikelihood: Sorrow likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
SorrowLikelihood string `json:"sorrowLikelihood,omitempty"`
// SurpriseLikelihood: Surprise likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"`
// TiltAngle: Pitch angle, which indicates the upwards/downwards angle
// that the face is
// pointing relative to the image's horizontal plane. Range [-180,180].
TiltAngle float64 `json:"tiltAngle,omitempty"`
// UnderExposedLikelihood: Under-exposed likelihood.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"`
// ForceSendFields is a list of field names (e.g. "AngerLikelihood") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AngerLikelihood") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation
var s1 struct {
DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"`
LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"`
PanAngle gensupport.JSONFloat64 `json:"panAngle"`
RollAngle gensupport.JSONFloat64 `json:"rollAngle"`
TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.DetectionConfidence = float64(s1.DetectionConfidence)
s.LandmarkingConfidence = float64(s1.LandmarkingConfidence)
s.PanAngle = float64(s1.PanAngle)
s.RollAngle = float64(s1.RollAngle)
s.TiltAngle = float64(s1.TiltAngle)
return nil
}
// GoogleCloudVisionV1p1beta1FaceAnnotationLandmark: A face-specific
// landmark (for example, a face feature).
type GoogleCloudVisionV1p1beta1FaceAnnotationLandmark struct {
// Position: Face landmark position.
Position *GoogleCloudVisionV1p1beta1Position `json:"position,omitempty"`
// Type: Face landmark type.
//
// Possible values:
// "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.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Position") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Position") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotationLandmark
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1GcsDestination: The Google Cloud Storage
// location where the output will be written to.
type GoogleCloudVisionV1p1beta1GcsDestination struct {
// Uri: Google Cloud Storage URI where the results will be stored.
// Results will
// be in JSON format and preceded by its corresponding input URI. This
// field
// can either represent a single file, or a prefix for multiple
// outputs.
// Prefixes must end in a `/`.
//
// Examples:
//
// * File: gs://bucket-name/filename.json
// * Prefix: gs://bucket-name/prefix/here/
// * File: gs://bucket-name/prefix/here
//
// 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.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Uri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Uri") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1GcsDestination) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1GcsDestination
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1GcsSource: The Google Cloud Storage
// location where the input will be read from.
type GoogleCloudVisionV1p1beta1GcsSource struct {
// Uri: Google Cloud Storage URI for the input file. This must only be
// a
// Google Cloud Storage object. Wildcards are not currently supported.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Uri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Uri") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1GcsSource) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1GcsSource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1ImageAnnotationContext: If an image was
// produced from a file (e.g. a PDF), this message gives
// information about the source of that image.
type GoogleCloudVisionV1p1beta1ImageAnnotationContext struct {
// PageNumber: If the file was a PDF or TIFF, this field gives the page
// number within
// the file used to produce the image.
PageNumber int64 `json:"pageNumber,omitempty"`
// Uri: The URI of the file used to produce the image.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "PageNumber") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PageNumber") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1ImageAnnotationContext
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1ImageProperties: Stores image properties,
// such as dominant colors.
type GoogleCloudVisionV1p1beta1ImageProperties struct {
// DominantColors: If present, dominant colors completed successfully.
DominantColors *GoogleCloudVisionV1p1beta1DominantColorsAnnotation `json:"dominantColors,omitempty"`
// ForceSendFields is a list of field names (e.g. "DominantColors") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DominantColors") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1ImageProperties) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1ImageProperties
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1InputConfig: The desired input location and
// metadata.
type GoogleCloudVisionV1p1beta1InputConfig struct {
// GcsSource: The Google Cloud Storage location to read the input from.
GcsSource *GoogleCloudVisionV1p1beta1GcsSource `json:"gcsSource,omitempty"`
// MimeType: The type of the file. Currently only "application/pdf" and
// "image/tiff"
// are supported. Wildcards are not supported.
MimeType string `json:"mimeType,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsSource") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcsSource") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1InputConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1InputConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation: Set of detected
// objects with bounding boxes.
type GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation struct {
// BoundingPoly: Image region to which this object belongs. This must be
// populated.
BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
// LanguageCode: 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.
LanguageCode string `json:"languageCode,omitempty"`
// Mid: Object ID that should align with EntityAnnotation mid.
Mid string `json:"mid,omitempty"`
// Name: Object name, expressed in its `language_code` language.
Name string `json:"name,omitempty"`
// Score: Score of the result. Range [0, 1].
Score float64 `json:"score,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BoundingPoly") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation
var s1 struct {
Score gensupport.JSONFloat64 `json:"score"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Score = float64(s1.Score)
return nil
}
// GoogleCloudVisionV1p1beta1LocationInfo: Detected entity location
// information.
type GoogleCloudVisionV1p1beta1LocationInfo struct {
// LatLng: lat/long location coordinates.
LatLng *LatLng `json:"latLng,omitempty"`
// ForceSendFields is a list of field names (e.g. "LatLng") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "LatLng") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1LocationInfo) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1LocationInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1NormalizedVertex: 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.
type GoogleCloudVisionV1p1beta1NormalizedVertex struct {
// X: X coordinate.
X float64 `json:"x,omitempty"`
// Y: Y coordinate.
Y float64 `json:"y,omitempty"`
// ForceSendFields is a list of field names (e.g. "X") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "X") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex
var s1 struct {
X gensupport.JSONFloat64 `json:"x"`
Y gensupport.JSONFloat64 `json:"y"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.X = float64(s1.X)
s.Y = float64(s1.Y)
return nil
}
// GoogleCloudVisionV1p1beta1OperationMetadata: Contains metadata for
// the BatchAnnotateImages operation.
type GoogleCloudVisionV1p1beta1OperationMetadata struct {
// CreateTime: The time when the batch request was received.
CreateTime string `json:"createTime,omitempty"`
// State: Current state of the batch operation.
//
// Possible values:
// "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.
State string `json:"state,omitempty"`
// UpdateTime: The time when the operation result was last updated.
UpdateTime string `json:"updateTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1OperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1OperationMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1OutputConfig: The desired output location
// and metadata.
type GoogleCloudVisionV1p1beta1OutputConfig struct {
// BatchSize: 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.
BatchSize int64 `json:"batchSize,omitempty"`
// GcsDestination: The Google Cloud Storage location to write the
// output(s) to.
GcsDestination *GoogleCloudVisionV1p1beta1GcsDestination `json:"gcsDestination,omitempty"`
// ForceSendFields is a list of field names (e.g. "BatchSize") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BatchSize") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1OutputConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1OutputConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1Page: Detected page from OCR.
type GoogleCloudVisionV1p1beta1Page struct {
// Blocks: List of blocks of text, images etc on this page.
Blocks []*GoogleCloudVisionV1p1beta1Block `json:"blocks,omitempty"`
// Confidence: Confidence of the OCR results on the page. Range [0, 1].
Confidence float64 `json:"confidence,omitempty"`
// Height: Page height. For PDFs the unit is points. For images
// (including
// TIFFs) the unit is pixels.
Height int64 `json:"height,omitempty"`
// Property: Additional information detected on the page.
Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
// Width: Page width. For PDFs the unit is points. For images
// (including
// TIFFs) the unit is pixels.
Width int64 `json:"width,omitempty"`
// ForceSendFields is a list of field names (e.g. "Blocks") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Blocks") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1Page) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1Page
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1Page) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1Page
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
return nil
}
// GoogleCloudVisionV1p1beta1Paragraph: Structural unit of text
// representing a number of words in certain order.
type GoogleCloudVisionV1p1beta1Paragraph struct {
// BoundingBox: 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).
BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"`
// Confidence: Confidence of the OCR results for the paragraph. Range
// [0, 1].
Confidence float64 `json:"confidence,omitempty"`
// Property: Additional information detected for the paragraph.
Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
// Words: List of words in this paragraph.
Words []*GoogleCloudVisionV1p1beta1Word `json:"words,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoundingBox") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BoundingBox") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1Paragraph) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1Paragraph
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1Paragraph) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1Paragraph
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
return nil
}
// GoogleCloudVisionV1p1beta1Position: 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.
type GoogleCloudVisionV1p1beta1Position struct {
// X: X coordinate.
X float64 `json:"x,omitempty"`
// Y: Y coordinate.
Y float64 `json:"y,omitempty"`
// Z: Z coordinate (or depth).
Z float64 `json:"z,omitempty"`
// ForceSendFields is a list of field names (e.g. "X") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "X") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1Position) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1Position
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1Position) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1Position
var s1 struct {
X gensupport.JSONFloat64 `json:"x"`
Y gensupport.JSONFloat64 `json:"y"`
Z gensupport.JSONFloat64 `json:"z"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.X = float64(s1.X)
s.Y = float64(s1.Y)
s.Z = float64(s1.Z)
return nil
}
// GoogleCloudVisionV1p1beta1Product: A Product contains
// ReferenceImages.
type GoogleCloudVisionV1p1beta1Product struct {
// Description: User-provided metadata to be stored with this product.
// Must be at most 4096
// characters long.
Description string `json:"description,omitempty"`
// DisplayName: The user-provided name for this Product. Must not be
// empty. Must be at most
// 4096 characters long.
DisplayName string `json:"displayName,omitempty"`
// 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.
Name string `json:"name,omitempty"`
// ProductCategory: The category for the product identified by the
// reference image. This should
// be either "homegoods", "apparel", or "toys".
//
// This field is immutable.
ProductCategory string `json:"productCategory,omitempty"`
// ProductLabels: 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
// 100 product_labels.
ProductLabels []*GoogleCloudVisionV1p1beta1ProductKeyValue `json:"productLabels,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1Product) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1Product
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1ProductKeyValue: A product label
// represented as a key-value pair.
type GoogleCloudVisionV1p1beta1ProductKeyValue struct {
// Key: The key of the label attached to the product. Cannot be empty
// and cannot
// exceed 128 bytes.
Key string `json:"key,omitempty"`
// Value: The value of the label attached to the product. Cannot be
// empty and
// cannot exceed 128 bytes.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1ProductKeyValue) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1ProductKeyValue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1ProductSearchResults: Results for a product
// search request.
type GoogleCloudVisionV1p1beta1ProductSearchResults struct {
// IndexTime: Timestamp of the index which provided these results.
// Changes made after
// this time are not reflected in the current results.
IndexTime string `json:"indexTime,omitempty"`
// ProductGroupedResults: 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.
ProductGroupedResults []*GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"`
// Results: List of results, one for each product match.
Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"`
// ForceSendFields is a list of field names (e.g. "IndexTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IndexTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1ProductSearchResults) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResults
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult:
// Information about the products similar to a single product in a
// query
// image.
type GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult struct {
// BoundingPoly: The bounding polygon around the product detected in the
// query image.
BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
// Results: List of results, one for each product match.
Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BoundingPoly") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1ProductSearchResultsResult: Information
// about a product.
type GoogleCloudVisionV1p1beta1ProductSearchResultsResult struct {
// Image: The resource name of the image from the product that is the
// closest match
// to the query.
Image string `json:"image,omitempty"`
// Product: The Product.
Product *GoogleCloudVisionV1p1beta1Product `json:"product,omitempty"`
// Score: A confidence level on the match, ranging from 0 (no
// confidence) to
// 1 (full confidence).
Score float64 `json:"score,omitempty"`
// ForceSendFields is a list of field names (e.g. "Image") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Image") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult
var s1 struct {
Score gensupport.JSONFloat64 `json:"score"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Score = float64(s1.Score)
return nil
}
// GoogleCloudVisionV1p1beta1Property: A `Property` consists of a
// user-supplied name/value pair.
type GoogleCloudVisionV1p1beta1Property struct {
// Name: Name of the property.
Name string `json:"name,omitempty"`
// Uint64Value: Value of numeric properties.
Uint64Value uint64 `json:"uint64Value,omitempty,string"`
// Value: Value of the property.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1Property) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1Property
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1SafeSearchAnnotation: Set of features
// pertaining to the image, computed by computer vision
// methods over safe-search verticals (for example, adult, spoof,
// medical,
// violence).
type GoogleCloudVisionV1p1beta1SafeSearchAnnotation struct {
// Adult: Represents the adult content likelihood for the image. Adult
// content may
// contain elements such as nudity, pornographic images or cartoons,
// or
// sexual activities.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
Adult string `json:"adult,omitempty"`
// Medical: Likelihood that this is a medical image.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
Medical string `json:"medical,omitempty"`
// Racy: 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 values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
Racy string `json:"racy,omitempty"`
// Spoof: Spoof likelihood. The likelihood that an modification
// was made to the image's canonical version to make it appear
// funny or offensive.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
Spoof string `json:"spoof,omitempty"`
// Violence: Likelihood that this image contains violent content.
//
// Possible values:
// "UNKNOWN" - Unknown likelihood.
// "VERY_UNLIKELY" - It is very unlikely that the image belongs to the
// specified vertical.
// "UNLIKELY" - It is unlikely that the image belongs to the specified
// vertical.
// "POSSIBLE" - It is possible that the image belongs to the specified
// vertical.
// "LIKELY" - It is likely that the image belongs to the specified
// vertical.
// "VERY_LIKELY" - It is very likely that the image belongs to the
// specified vertical.
Violence string `json:"violence,omitempty"`
// ForceSendFields is a list of field names (e.g. "Adult") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Adult") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1SafeSearchAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1Symbol: A single symbol representation.
type GoogleCloudVisionV1p1beta1Symbol struct {
// BoundingBox: 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 vertice order will still be (0, 1, 2, 3).
BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"`
// Confidence: Confidence of the OCR results for the symbol. Range [0,
// 1].
Confidence float64 `json:"confidence,omitempty"`
// Property: Additional information detected for the symbol.
Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
// Text: The actual UTF-8 representation of the symbol.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoundingBox") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BoundingBox") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1Symbol) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1Symbol
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1Symbol) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1Symbol
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
return nil
}
// GoogleCloudVisionV1p1beta1TextAnnotation: 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.
type GoogleCloudVisionV1p1beta1TextAnnotation struct {
// Pages: List of pages detected by OCR.
Pages []*GoogleCloudVisionV1p1beta1Page `json:"pages,omitempty"`
// Text: UTF-8 text detected on the pages.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "Pages") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Pages") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1TextAnnotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak: Detected start
// or end of a structural component.
type GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak struct {
// IsPrefix: True if break prepends the element.
IsPrefix bool `json:"isPrefix,omitempty"`
// Type: Detected break type.
//
// Possible values:
// "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.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "IsPrefix") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IsPrefix") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage: Detected
// language for a structural component.
type GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage struct {
// Confidence: Confidence of detected language. Range [0, 1].
Confidence float64 `json:"confidence,omitempty"`
// LanguageCode: 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.
LanguageCode string `json:"languageCode,omitempty"`
// ForceSendFields is a list of field names (e.g. "Confidence") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Confidence") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
return nil
}
// GoogleCloudVisionV1p1beta1TextAnnotationTextProperty: Additional
// information detected on the structural component.
type GoogleCloudVisionV1p1beta1TextAnnotationTextProperty struct {
// DetectedBreak: Detected start or end of a text segment.
DetectedBreak *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"`
// DetectedLanguages: A list of detected languages together with
// confidence.
DetectedLanguages []*GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"`
// ForceSendFields is a list of field names (e.g. "DetectedBreak") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DetectedBreak") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationTextProperty
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1Vertex: A vertex represents a 2D point in
// the image.
// NOTE: the vertex coordinates are in the same scale as the original
// image.
type GoogleCloudVisionV1p1beta1Vertex struct {
// X: X coordinate.
X int64 `json:"x,omitempty"`
// Y: Y coordinate.
Y int64 `json:"y,omitempty"`
// ForceSendFields is a list of field names (e.g. "X") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "X") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudVisionV1p1beta1Vertex) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudVisionV1p1beta1Vertex
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudVisionV1p1beta1WebDetection: Relevant information for the
// image from the Internet.
type GoogleCloudVisionV1p1beta1WebDetection struct {
// BestGuessLabels: The service's best guess as to the topic of the
// request image.
// Inferred from similar images on the open web.
BestGuessLabels []*GoogleCloudVisionV1p1beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"`
// FullMatchingImages: Fully matching images from the Internet.
// Can include resized copies of the query image.
FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
// PagesWithMatchingImages: Web pages containing the matching images
// from the Internet.
PagesWithMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"`
// PartialMatchingImages: 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.
PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitem