              queue.put(retval)
          logger.trace("Putting EOF")
          queue.put("EOF")
  
      def _load_video(self, *args):  # pylint:disable=unused-argument
          """ Generator for loading frames from a video
  
          Parameters
          ----------
          args: tuple
 
</s> remove         Parameters
        ----------
        args: tuple
            Unused

 </s> add  </s> remove     def _load_images(self, with_hash):
        """ Generator for loading images from a folder
 </s> add     def _dummy_video_framename(self, frame_no):
        """ Return a dummy filename for video files </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         for retval in iterator(*io_args):
 </s> add         for retval in iterator():
            filename, image = retval[:2]
            if image is None or (not image.any() and image.ndim not in (2, 3)):
                # All black frames will return not np.any() so check dims too
                logger.warning("Unable to open image. Skipping: '%s'", filename)
                continue </s> remove         queue = args[0]
        io_args = args[1:]
        iterator = self._load_video if self._is_video else self._load_images
 </s> add         iterator = self._from_video if self._is_video else self._from_folder
    def _from_video(self):
              queue.put(retval)
          logger.trace("Putting EOF")
          queue.put("EOF")
  
    def _from_video(self):
          """ Generator for loading frames from a video
  
          Parameters
          ----------
          args: tuple
keep keep keep keep 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