code: def data(self, data, part=False, dataset=''):
          
          #if self.parser is None:
          #    raise ValueError('no parser')
          imgs = self.imgtype.convert(data)
          for channel, data in zip(self.imgtype.channels, imgs):
              key = dataset + channel
              data = self.scanner(data, part)
              if isinstance(self.parser, LevelParser):
                  self.storage.add_links(self.parser(data, part, key))
              else:
                  for level, level_data in enumerate(data):
                      level_key = key + level_dataset(level)
                      level_data = self.parser(level_data, part, level_key)
                      self.storage.add_links(level_data)
docs: Parameters
          ----------
          data : `PIL.Image`
              Image to parse.
          part : `bool`, optional
              True if data is partial (default: `False`).
          dataset : `str`, optional
              Dataset key prefix (default: '').