# Data Labeling API . projects . datasets . image

## Instance Methods

Close httplib2 connections.

Starts a labeling task for image. The type of image labeling task is configured by feature in the request.

### Method Details

`close()`

    Close httplib2 connections.

`label(parent, body=None, x__xgafv=None)`

    Starts a labeling task for image. The type of image labeling task is configured by feature in the request.

    Args:
      parent: string, Required. Name of the dataset to request labeling task, format: projects/{project_id}/datasets/{dataset_id} (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for starting an image labeling task.
      "basicConfig": { # Configuration for how human labeling task should be done. # Required. Basic human annotation config.
        "annotatedDatasetDescription": "A String", # Optional. A human-readable description for AnnotatedDataset. The description can be up to 10000 characters long.
        "annotatedDatasetDisplayName": "A String", # Required. A human-readable name for AnnotatedDataset defined by users. Maximum of 64 characters .
        "contributorEmails": [ # Optional. If you want your own labeling contributors to manage and work on this labeling request, you can set these contributors here. We will give them access to the question types in crowdcompute. Note that these emails must be registered in crowdcompute worker UI: https://crowd-compute.appspot.com/
          "A String",
        ],
        "instruction": "A String", # Required. Instruction resource name.
        "labelGroup": "A String", # Optional. A human-readable label used to logically group labeling tasks. This string must match the regular expression `[a-zA-Z\\d_-]{0,128}`.
        "languageCode": "A String", # Optional. The Language of this question, as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Default value is en-US. Only need to set this when task is language related. For example, French text classification.
        "questionDuration": "A String", # Optional. Maximum duration for contributors to answer a question. Maximum is 3600 seconds. Default is 3600 seconds.
        "replicaCount": 42, # Optional. Replication of questions. Each question will be sent to up to this number of contributors to label. Aggregated answers will be returned. Default is set to 1. For image related labeling, valid values are 1, 3, 5.
        "userEmailAddress": "A String", # Email of the user who started the labeling task and should be notified by email. If empty no notification will be sent.
      },
      "boundingPolyConfig": { # Config for image bounding poly (and bounding box) human labeling task. # Configuration for bounding box and bounding poly task. One of image_classification_config, bounding_poly_config, polyline_config and segmentation_config are required.
        "annotationSpecSet": "A String", # Required. Annotation spec set resource name.
        "instructionMessage": "A String", # Optional. Instruction message showed on contributors UI.
      },
      "feature": "A String", # Required. The type of image labeling task.
      "imageClassificationConfig": { # Config for image classification human labeling task. # Configuration for image classification task. One of image_classification_config, bounding_poly_config, polyline_config and segmentation_config are required.
        "allowMultiLabel": True or False, # Optional. If allow_multi_label is true, contributors are able to choose multiple labels for one image.
        "annotationSpecSet": "A String", # Required. Annotation spec set resource name.
        "answerAggregationType": "A String", # Optional. The type of how to aggregate answers.
      },
      "polylineConfig": { # Config for image polyline human labeling task. # Configuration for polyline task. One of image_classification_config, bounding_poly_config, polyline_config and segmentation_config are required.
        "annotationSpecSet": "A String", # Required. Annotation spec set resource name.
        "instructionMessage": "A String", # Optional. Instruction message showed on contributors UI.
      },
      "segmentationConfig": { # Config for image segmentation # Configuration for segmentation task. One of image_classification_config, bounding_poly_config, polyline_config and segmentation_config are required.
        "annotationSpecSet": "A String", # Required. Annotation spec set resource name. format: projects/{project_id}/annotationSpecSets/{annotation_spec_set_id}
        "instructionMessage": "A String", # Instruction message showed on labelers UI.
      },
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }