code: def clip(self):
          
  
          self.output("Clipping", normal=True)
  
          # create new folder for clipped images
          path = check_create_folder(join(self.scene_path, 'clipped'))
  
          try:
              temp_bands = copy(self.bands)
              temp_bands.append('QA')
              for i, band in enumerate(temp_bands):
                  band_name = self._get_full_filename(band)
                  band_path = join(self.scene_path, band_name)
  
                  self.output("Band %s" % band, normal=True, color='green', indent=1)
                  with rasterio.open(band_path) as src:
                      bounds = transform_bounds(
                          {
                              'proj': 'longlat',
                              'ellps': 'WGS84',
                              'datum': 'WGS84',
                              'no_defs': True
                          },
                          src.crs,
                          *self.bounds
                      )
  
                      if disjoint_bounds(bounds, src.bounds):
                          bounds = adjust_bounding_box(src.bounds, bounds)
  
                      window = src.window(*bounds)
  
                      out_kwargs = src.meta.copy()
                      out_kwargs.update({
                          'driver': 'GTiff',
                          'height': window[0][1] - window[0][0],
                          'width': window[1][1] - window[1][0],
                          'transform': src.window_transform(window)
                      })
  
                      with rasterio.open(join(path, band_name), 'w', **out_kwargs) as out:
                          out.write(src.read(window=window))
  
              # Copy MTL to the clipped folder
              copyfile(join(self.scene_path, self.scene + '_MTL.txt'), join(path, self.scene + '_MTL.txt'))
  
              return path
  
          except IOError as e:
              exit(e.message, 1)
docs: Clip images based on bounds provided
          Implementation is borrowed from
          https://github.com/brendan-ward/rasterio/blob/e3687ce0ccf8ad92844c16d913a6482d5142cf48/rasterio/rio/convert.py