class_docstr: Base class for all parsers, implements the main parsing logic.
  
  The actual fields to be parsed are defined by the mixins used when
  defining a custom parser. The only required fields for all parsers
  are `image_id` and `image_width_height`.
  
  # Arguments
      idmap: Maps from filenames to unique ids, pass an `IDMap()` if you need this information.
  
  # Examples
  
  Create a parser for image filepaths.
  ```python
  class FilepathParser(Parser, FilepathParserMixin):
      # implement required abstract methods
  ```
code: def parse_dicted(
      self, show_pbar: bool = True
  ) -> Dict[int, RecordType]:
      records = RecordCollection(self.create_record)
  
      for sample in pbar(self, show_pbar):
          try:
              self.prepare(sample)
              record_id = self.record_id(sample)
              record = records.get_by_record_id(record_id)
              self.parse_fields(
                  sample, record=record, is_new=record.is_new
              )
  
          except AbortParseRecord as e:
              logger.warning(
                  "Record with record_id: {} was skipped because: {}",
                  record_id,
                  str(e),
              )
  
      return records
  
imports: from icevision.imports import *
  from icevision.utils import *
  from icevision.utils.code_template import *
  from icevision.core import *
  from icevision.data import *
label_desc: Use image node_id 6 for calling the Parser obj's underlying member method code with example usage: obj.parse_dicted(show_pbar) and returns: records