code: def get_window(self, window, bands=None,
                     xsize=None, ysize=None,
                     resampling=Resampling.cubic, masked=None, affine=None
                     ):
          
          bands = bands or list(range(1, self.num_bands + 1))
  
          # requested_out_shape and out_shape are different for out of bounds window
          out_shape = self._get_window_out_shape(bands, window, xsize, ysize)
          try:
              read_params = {
                  "window": window,
                  "resampling": resampling,
                  "boundless": True,
                  "out_shape": out_shape,
              }
  
              # to handle get_window / get_tile of in memory rasters
              filename = self._raster_backed_by_a_file()._filename
              with self._raster_opener(filename) as raster:  # type: rasterio.io.DatasetReader
                  read_params["masked"] = self._read_with_mask(raster, masked)
                  array = raster.read(bands, **read_params)
              nodata = 0 if not np.ma.isMaskedArray(array) else None
              affine = affine or self._calculate_new_affine(window, out_shape[2], out_shape[1])
              raster = self.copy_with(image=array, affine=affine, nodata=nodata)
  
              return raster
  
          except (rasterio.errors.RasterioIOError, rasterio._err.CPLE_HttpResponseError) as e:
              raise GeoRaster2IOError(e)
docs: Get window from raster.
  
          :param window: requested window
          :param bands: list of indices of requested bads, default None which returns all bands
          :param xsize: tile x size default None, for full resolution pass None
          :param ysize: tile y size default None, for full resolution pass None
          :param resampling: which Resampling to use on reading, default Resampling.cubic
          :param masked: if True uses the maks, if False doesn't use the mask, if None looks to see if there is a mask,
                         if mask exists using it, the default None
          :return: GeoRaster2 of tile