code: def add_object(self, o):
      object_id = self.next_object_id
      frame_object_dict = o.frame_object_dict
      self._update_frame_interval(o.frame_interval)
      for frame_num, frame_dict in frame_object_dict.items():
          if frame_num not in self.base_labels["openlabel"]["frames"]:
              self.base_labels["openlabel"]["frames"][frame_num] = {
                  "objects": {}
              }
          self.base_labels["openlabel"]["frames"][frame_num]["objects"][
              object_id
          ] = frame_dict
  
      self.base_labels["openlabel"]["objects"][
          object_id
      ] = o.object_dict
  
imports: from collections import defaultdict
  import os
  import eta.core.serial
  import fiftyone.core.odm.dataset
label_desc: Use image node_id 8 for calling the OpenLABELLabels obj's underlying member method code with example usage: obj.add_object(o) without return types