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_to_merge_list = nmm(
              object_predictions_as_torch,
              match_threshold=self.match_threshold,
              match_metric=self.match_metric,
          )
      else:
          keep_to_merge_list = batched_nmm(
              object_predictions_as_torch,
              match_threshold=self.match_threshold,
              match_metric=self.match_metric,
          )
  
      selected_object_predictions = []
      for keep_ind, merge_ind_list in keep_to_merge_list.items():
          for merge_ind in merge_ind_list:
              if has_match(
                  object_prediction_list[keep_ind].tolist(),
                  object_prediction_list[merge_ind].tolist(),
                  self.match_metric,
                  self.match_threshold,
              ):
                  object_prediction_list[
                      keep_ind
                  ] = merge_object_prediction_pair(
                      object_prediction_list[keep_ind].tolist(),
                      object_prediction_list[merge_ind].tolist(),
                  )
          selected_object_predictions.append(
              object_prediction_list[keep_ind].tolist()
          )
  
      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 NMMPostprocess obj's underlying member method code with example usage: obj.__call__(object_predictions) and returns: selected_object_predictions