class_docstr: Generates a text file with your predicted tracked objects, in the MOTChallenge format.
  It needs the 'input_path', which is the path to the sequence being processed,
  the 'save_path', and optionally the 'information_file' (in case you don't give an
  'information_file', is assumed there is one in the input_path folder).
class_docstr_tok: ["Generates","a","text","file","with","your","predicted","tracked","objects",",","in","the","MOTChallenge","format",".","It","needs","the","'input_path","'",",","which","is","the","path","to","the","sequence","being","processed",",","the","'save_path","'",",","and","optionally","the","'information_file","'","(","in","case","you","do","n't","give","an","'information_file","'",",","is","assumed","there","is","one","in","the","input_path","folder",")","."]
code: def update(self, predictions, frame_number=None):
      if frame_number is None:
          frame_number = self.frame_number
      """
          Write tracked object information in the output file (for this frame), in the format
          frame_number, id, bb_left, bb_top, bb_width, bb_height, -1, -1, -1, -1
          """
      for obj in predictions:
          frame_str = str(int(frame_number))
          id_str = str(int(obj.id))
          bb_left_str = str((obj.estimate[0, 0]))
          bb_top_str = str((obj.estimate[0, 1]))  # [0,1]
          bb_width_str = str((obj.estimate[1, 0] - obj.estimate[0, 0]))
          bb_height_str = str((obj.estimate[1, 1] - obj.estimate[0, 1]))
          row_text_out = (
              frame_str
              + ","
              + id_str
              + ","
              + bb_left_str
              + ","
              + bb_top_str
              + ","
              + bb_width_str
              + ","
              + bb_height_str
              + ",-1,-1,-1,-1"
          )
          self.text_file.write(row_text_out)
          self.text_file.write("\n")
  
      self.frame_number += 1
  
      if self.frame_number > self.length:
          self.text_file.close()
  
imports: import os
  import numpy
  from rich import print
  from rich.progress import track
  from norfair import Detection
  from collections import OrderedDict
label_desc: Use image node_id 2 for calling the PredictionsTextFile obj's underlying member method code with example usage: obj.update(predictions, frame_number) without return types