              logger.trace("Loading video frame: '%s'", filename)
              yield filename, frame
          reader.close()
  
      def _load_images(self, with_hash):
          """ Generator for loading images from a folder
  
          Parameters
          ----------
          with_hash: bool
              If ``True`` adds the sha1 hash to the output tuple as the final item.
 
</s> remove         with_hash: bool
            If ``True`` adds the sha1 hash to the output tuple as the final item.
 </s> add         frame_no: int
            The frame number for the video frame

        Returns
        -------
        str: A dummied filename for a video frame """
        vidname = os.path.splitext(os.path.basename(self.location))[0]
        return "{}_{:06d}.png".format(vidname, frame_no + 1)

    def _from_folder(self):
        """ Generator for loading images from a folder </s> remove             filename = "{}_{:06d}.png".format(vidname, i + 1)
 </s> add             filename = self._dummy_video_framename(idx + 1) </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 </s> remove         logger.debug("Loading images from folder: '%s'", self._input)
        for filename in self._input:
 </s> add         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
    def _dummy_video_framename(self, frame_no):
        """ Return a dummy filename for video files
              logger.trace("Loading video frame: '%s'", filename)
              yield filename, frame
          reader.close()
  
    def _dummy_video_framename(self, frame_no):
        """ Return a dummy filename for video files
    def _dummy_video_framename(self, frame_no):
        """ Return a dummy filename for video files
  
          Parameters
          ----------
          with_hash: bool
              If ``True`` adds the sha1 hash to the output tuple as the final item.
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