              The sha1 hash of the loaded image. Only yielded if :class:`BackgroundIO` was
              initialized with :attr:`load_with_hash` set to ``True`` and the :attr:`location`
              is a folder of images.
          """
          logger.debug("Loading images from folder: '%s'", self._input)
          for filename in self._input:
              image_read = read_image(filename, raise_error=False, with_hash=with_hash)
              if with_hash:
                  retval = filename, *image_read
              else:
                  retval = filename, image_read
 
</s> remove             The sha1 hash of the loaded image. Only yielded if :class:`BackgroundIO` was
 </s> add             The sha1 hash of the loaded image. Only yielded if :class:`ImageIO` was </s> remove             The sha1 hash of the loaded image. Only yielded if :class:`BackgroundIO` was
 </s> add             The sha1 hash of the loaded image. Only yielded if :class:`ImageIO` was </s> remove         If :class:`BackgroundIO` was initialized with :attr:`load_with_hash` set to ``True`` then
 </s> add         If :class:`ImageIO` was initialized with :attr:`load_with_hash` set to ``True`` then </s> remove         logger.debug("Loading frames from video: '%s'", self._input)
        vidname = os.path.splitext(os.path.basename(self._input))[0]
        reader = imageio.get_reader(self._input, "ffmpeg")
        for i, frame in enumerate(reader):
 </s> add         logger.debug("Loading frames from video: '%s'", self.location)
        reader = imageio.get_reader(self.location, "ffmpeg")
        for idx, frame in enumerate(reader):
            if idx in self._skip_list:
                logger.trace("Skipping frame %s due to skip list")
                continue
        with_hash = self._args[0]
        logger.debug("Loading images from folder: '%s'. with_hash: %s", self.location, with_hash)
        for idx, filename in enumerate(self.file_list):
            if idx in self._skip_list:
                logger.trace("Skipping frame %s due to skip list")
                continue
              The sha1 hash of the loaded image. Only yielded if :class:`BackgroundIO` was
              initialized with :attr:`load_with_hash` set to ``True`` and the :attr:`location`
              is a folder of images.
          """
        with_hash = self._args[0]
        logger.debug("Loading images from folder: '%s'. with_hash: %s", self.location, with_hash)
        for idx, filename in enumerate(self.file_list):
            if idx in self._skip_list:
                logger.trace("Skipping frame %s due to skip list")
                continue
        with_hash = self._args[0]
        logger.debug("Loading images from folder: '%s'. with_hash: %s", self.location, with_hash)
        for idx, filename in enumerate(self.file_list):
            if idx in self._skip_list:
                logger.trace("Skipping frame %s due to skip list")
                continue
              image_read = read_image(filename, raise_error=False, with_hash=with_hash)
              if with_hash:
                  retval = filename, *image_read
              else:
                  retval = filename, image_read
keep keep keep keep replace replace keep keep keep keep keep
 scripts.extract - code optimizations

Limit queue sizes to reduce RAM usage
Rename lib.image.BackgroundIO to ImageIO
Create separate ImagesLoader and ImagesSaver classes
Load/Save images from centralized lib.image.ImageIO
scripts.extract documentation 
lib/image.py