/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the rekognition-2016-06-27.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Rekognition.Model
{
///
/// Container for the parameters to the GetLabelDetection operation.
/// Gets the label detection results of a Amazon Rekognition Video analysis started by
/// StartLabelDetection.
///
///
///
/// The label detection operation is started by a call to StartLabelDetection which
/// returns a job identifier (JobId
). When the label detection operation
/// finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification
/// Service topic registered in the initial call to StartlabelDetection
.
///
///
///
///
/// To get the results of the label detection operation, first check that the status value
/// published to the Amazon SNS topic is SUCCEEDED
. If so, call GetLabelDetection
/// and pass the job identifier (JobId
) from the initial call to StartLabelDetection
.
///
///
///
/// GetLabelDetection
returns an array of detected labels (Labels
)
/// sorted by the time the labels were detected. You can also sort by the label name by
/// specifying NAME
for the SortBy
input parameter. If there
/// is no NAME
specified, the default sort is by timestamp.
///
///
///
/// You can select how results are aggregated by using the AggregateBy
input
/// parameter. The default aggregation method is TIMESTAMPS
. You can also
/// aggregate by SEGMENTS
, which aggregates all instances of labels detected
/// in a given segment.
///
///
///
/// The returned Labels array may include the following attributes:
///
/// -
///
/// Name - The name of the detected label.
///
///
-
///
/// Confidence - The level of confidence in the label assigned to a detected object.
///
///
-
///
/// Parents - The ancestor labels for a detected label. GetLabelDetection returns a hierarchical
/// taxonomy of detected labels. For example, a detected car might be assigned the label
/// car. The label car has two parent labels: Vehicle (its parent) and Transportation
/// (its grandparent). The response includes the all ancestors for a label, where every
/// ancestor is a unique label. In the previous example, Car, Vehicle, and Transportation
/// are returned as unique labels in the response.
///
///
-
///
/// Aliases - Possible Aliases for the label.
///
///
-
///
/// Categories - The label categories that the detected label belongs to.
///
///
-
///
/// BoundingBox — Bounding boxes are described for all instances of detected common object
/// labels, returned in an array of Instance objects. An Instance object contains a BoundingBox
/// object, describing the location of the label on the input image. It also includes
/// the confidence for the accuracy of the detected bounding box.
///
///
-
///
/// Timestamp - Time, in milliseconds from the start of the video, that the label was
/// detected. For aggregation by
SEGMENTS
, the StartTimestampMillis
,
/// EndTimestampMillis
, and DurationMillis
structures are what
/// define a segment. Although the “Timestamp” structure is still returned with each label,
/// its value is set to be the same as StartTimestampMillis
.
///
///
///
/// Timestamp and Bounding box information are returned for detected Instances, only if
/// aggregation is done by TIMESTAMPS
. If aggregating by SEGMENTS
,
/// information about detected instances isn’t returned.
///
///
///
/// The version of the label model used for the detection is also returned.
///
///
///
/// Note DominantColors
isn't returned for Instances
, although
/// it is shown as part of the response in the sample seen below.
///
///
///
/// Use MaxResults
parameter to limit the number of labels returned. If there
/// are more results than specified in MaxResults
, the value of NextToken
/// in the operation response contains a pagination token for getting the next set of
/// results. To get the next page of results, call GetlabelDetection
and
/// populate the NextToken
request parameter with the token value returned
/// from the previous call to GetLabelDetection
.
///
///
public partial class GetLabelDetectionRequest : AmazonRekognitionRequest
{
private LabelDetectionAggregateBy _aggregateBy;
private string _jobId;
private int? _maxResults;
private string _nextToken;
private LabelDetectionSortBy _sortBy;
///
/// Gets and sets the property AggregateBy.
///
/// Defines how to aggregate the returned results. Results can be aggregated by timestamps
/// or segments.
///
///
public LabelDetectionAggregateBy AggregateBy
{
get { return this._aggregateBy; }
set { this._aggregateBy = value; }
}
// Check to see if AggregateBy property is set
internal bool IsSetAggregateBy()
{
return this._aggregateBy != null;
}
///
/// Gets and sets the property JobId.
///
/// Job identifier for the label detection operation for which you want results returned.
/// You get the job identifer from an initial call to StartlabelDetection
.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string JobId
{
get { return this._jobId; }
set { this._jobId = value; }
}
// Check to see if JobId property is set
internal bool IsSetJobId()
{
return this._jobId != null;
}
///
/// Gets and sets the property MaxResults.
///
/// Maximum number of results to return per paginated call. The largest value you can
/// specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results
/// is returned. The default value is 1000.
///
///
[AWSProperty(Min=1)]
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// If the previous response was incomplete (because there are more labels to retrieve),
/// Amazon Rekognition Video returns a pagination token in the response. You can use this
/// pagination token to retrieve the next set of labels.
///
///
[AWSProperty(Max=255)]
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property SortBy.
///
/// Sort to use for elements in the Labels
array. Use TIMESTAMP
/// to sort array elements by the time labels are detected. Use NAME
to alphabetically
/// group elements for a label together. Within each label group, the array element are
/// sorted by detection confidence. The default sort is by TIMESTAMP
.
///
///
public LabelDetectionSortBy SortBy
{
get { return this._sortBy; }
set { this._sortBy = value; }
}
// Check to see if SortBy property is set
internal bool IsSetSortBy()
{
return this._sortBy != null;
}
}
}