class_docstr: A simple Kalman filter for tracking bounding boxes in image space.
  
  The implementation is referred to https://github.com/nwojke/deep_sort.
  
  Args:
      center_only (bool): If True, distance computation is done with
          respect to the bounding box center position only.
          Defaults to False.
      use_nsa (bool): Whether to use the NSA (Noise Scale Adaptive) Kalman
          Filter, which adaptively modulates the noise scale according to
          the quality of detections. More details in
          https://arxiv.org/abs/2202.11983. Defaults to False.
class_docstr_tok: ["A","simple","Kalman","filter","for","tracking","bounding","boxes","in","image","space",".","The","implementation","is","referred","to","https",":","\/\/github.com\/nwojke\/deep_sort",".","Args",":","center_only","(","bool",")",":","If","True",",","distance","computation","is","done","with","respect","to","the","bounding","box","center","position","only",".","Defaults","to","False",".","use_nsa","(","bool",")",":","Whether","to","use","the","NSA","(","Noise","Scale","Adaptive",")","Kalman","Filter",",","which","adaptively","modulates","the","noise","scale","according","to","the","quality","of","detections",".","More","details","in","https",":","\/\/arxiv.org\/abs\/2202.11983",".","Defaults","to","False","."]
docstr: Track forward.
  
  Args:
      tracks (dict[int:dict]): Track buffer.
      bboxes (Tensor): Detected bounding boxes.
  
  Returns:
      (dict[int:dict], ndarray): Updated tracks and bboxes.
docstr_tok: ["Track","forward",".","Args",":","tracks","(","dict","[","int",":","dict","]",")",":","Track","buffer",".","bboxes","(","Tensor",")",":","Detected","bounding","boxes",".","Returns",":","(","dict","[","int",":","dict","]",",","ndarray",")",":","Updated","tracks","and","bboxes","."]
code: def track(
      self, tracks: dict, bboxes: torch.Tensor
  ) -> Tuple[dict, np.array]:
      """Track forward.
  
      Args:
          tracks (dict[int:dict]): Track buffer.
          bboxes (Tensor): Detected bounding boxes.
  
      Returns:
          (dict[int:dict], ndarray): Updated tracks and bboxes.
      """
      costs = []
      for id, track in tracks.items():
          track.mean, track.covariance = self.predict(
              track.mean, track.covariance
          )
          gating_distance = self.gating_distance(
              track.mean,
              track.covariance,
              bboxes.cpu().numpy(),
              self.center_only,
          )
          costs.append(gating_distance)
  
      costs = np.stack(costs, 0)
      costs[costs > self.gating_threshold] = np.nan
      return tracks, costs
  
file_path: mmdetection/mmdet/models/task_modules/tracking/kalman_filter.py
imports: from typing import Tuple
  import numpy
  import torch
  from mmdet.registry import TASK_UTILS
label_desc: Use image node_id 7 for calling the KalmanFilter obj's underlying member method code with example usage: obj.track(tracks, bboxes) and returns: tracks,  costs