code: def __call__(
      self,
      object_predictions: List[ObjectPrediction],
  ):
      object_prediction_list = ObjectPredictionList(object_predictions)
      object_predictions_as_torch = object_prediction_list.totensor()
      if self.class_agnostic:
          keep = nms(
              object_predictions_as_torch,
              match_threshold=self.match_threshold,
              match_metric=self.match_metric,
          )
      else:
          keep = batched_nms(
              object_predictions_as_torch,
              match_threshold=self.match_threshold,
              match_metric=self.match_metric,
          )
  
      selected_object_predictions = object_prediction_list[
          keep
      ].tolist()
      if not isinstance(selected_object_predictions, list):
          selected_object_predictions = [selected_object_predictions]
  
      return selected_object_predictions
  
imports: import logging
  from typing import List
  import torch
  from sahi.postprocess.utils import ObjectPredictionList, has_match, merge_object_prediction_pair
  from sahi.prediction import ObjectPrediction
  from sahi.utils.import_utils import check_requirements
label_desc: Use image node_id 1 for calling the NMSPostprocess obj's underlying member method code with example usage: obj.__call__(object_predictions) and returns: selected_object_predictions