code: def gate_cost_matrix(
      kf,
      cost_matrix,
      tracks,
      detections,
      track_indices,
      detection_indices,
      gated_cost=INFTY_COST,
      only_position=False,
  ):
      """
      Invalidate infeasible entries in cost matrix based on the state
      distributions obtained by Kalman filtering.
  
      Args:
          kf (object): The Kalman filter.
          cost_matrix (ndarray): The NxM dimensional cost matrix, where N is the
              number of track indices and M is the number of detection indices,
              such that entry (i, j) is the association cost between
              `tracks[track_indices[i]]` and `detections[detection_indices[j]]`.
          tracks (list[Track]): A list of predicted tracks at the current time
              step.
          detections (list[Detection]): A list of detections at the current time
              step.
          track_indices (List[int]): List of track indices that maps rows in
              `cost_matrix` to tracks in `tracks`.
          detection_indices (List[int]): List of detection indices that maps
              columns in `cost_matrix` to detections in `detections`.
          gated_cost (Optional[float]): Entries in the cost matrix corresponding
              to infeasible associations are set this value. Defaults to a very
              large value.
          only_position (Optional[bool]): If True, only the x, y position of the
              state distribution is considered during gating. Default False.
      """
      gating_dim = 2 if only_position else 4
      gating_threshold = kalman_filter.chi2inv95[gating_dim]
      measurements = np.asarray(
          [detections[i].to_xyah() for i in detection_indices]
      )
      for row, track_idx in enumerate(track_indices):
          track = tracks[track_idx]
          gating_distance = kf.gating_distance(
              track.mean, track.covariance, measurements, only_position
          )
          cost_matrix[
              row, gating_distance > gating_threshold
          ] = gated_cost
      return cost_matrix
  
file_path: PaddleHub/modules/video/multiple_object_tracking/jde_darknet53/modeling/mot/matching/deepsort_matching.py
imports: import numpy
  from scipy.optimize import linear_sum_assignment
  from ..motion import kalman_filter
label_desc: Use image node_id 7 for calling a global function with example usage: gate_cost_matrix(kf, cost_matrix, tracks, detections, track_indices, detection_indices, gated_cost, only_position) and returns: cost_matrix