// Copyright 2020 The MediaPipe Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License 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.

syntax = "proto2";

package mediapipe;

import "mediapipe/framework/calculator.proto";

message FilterDetectionCalculatorOptions {
  extend CalculatorOptions {
    optional FilterDetectionCalculatorOptions ext = 339582987;
  }
  optional float min_score = 1;
  optional float max_score = 2;
  // Setting fail_on_empty_labels to true will cause the calculator to return a
  // failure status on Open() if an empty list is provided on the external
  // input, immediately terminating the graph run.
  optional bool fail_on_empty_labels = 3 [default = false];
  // If fail_on_empty_labels is set to false setting
  // empty_allowed_labels_means_allow_everything to
  // false will cause the calculator to close output stream and ignore remaining
  // inputs if an empty list is provided. If
  // empty_allowed_labels_means_allow_everything is set to true this will force
  // calculator to pass all labels.
  optional bool empty_allowed_labels_means_allow_everything = 6
      [default = false];
  // Determines whether the input format is a vector<Detection> (use-case object
  // detectors) or Detection (use-case classifiers).
  optional bool use_detection_vector = 4 [deprecated = true];
  // Determines whether the input side packet format is a vector of labels, or
  // a string with comma separated labels.
  optional bool use_allowed_labels_csv = 5 [deprecated = true];
}
