code: def parse_fields(self, o, record, is_new):
      fp, w, h, lab, box, iscrowd = o
  
      if iscrowd is None:
          iscrowd = 0
  
      if is_new:
          record.set_filepath(fp)
          record.set_img_size(ImgSize(width=w, height=h))
          record.detection.set_class_map(self.class_map)
  
      box = self._reformat_bbox(*box, w, h)
  
      record.detection.add_bboxes([BBox.from_xyxy(*box)])
      record.detection.add_labels([lab])
      record.detection.add_iscrowds([iscrowd])
  
imports: from typing import Any, Dict, Hashable, List, Optional, Sequence
  from flash.core.data.io.classification_input import ClassificationInputMixin
  from flash.core.data.io.input import DataKeys
  from flash.core.data.utilities.classification import TargetFormatter
  from flash.core.data.utilities.paths import PATH_TYPE, filter_valid_files
  from flash.core.data.utilities.samples import to_samples
  from flash.core.integrations.fiftyone.utils import FiftyOneLabelUtilities
  from flash.core.integrations.icevision.data import IceVisionInput
  from flash.core.utilities.imports import _FIFTYONE_AVAILABLE, _ICEVISION_AVAILABLE, lazy_import, requires
  from flash.image.data import IMG_EXTENSIONS, NP_EXTENSIONS, ImageFilesInput, ImageInput, ImageNumpyInput, ImageTensorInput
label_desc: Use image node_id 5 for calling the FiftyOneParser obj's underlying member method code with example usage: obj.parse_fields(o, record, is_new) without return types