docs: def from_bytes(cls, image_bytes, affine, crs, band_names=None):
          """Create GeoRaster from image BytesIo object.
  
          :param image_bytes: io.BytesIO object
          :param affine: rasters affine
          :param crs: rasters crs
          :param band_names: e.g. ['red', 'blue'] or 'red'
          """
          b = io.BytesIO(image_bytes)
          image = imageio.imread(b)
          roll = np.rollaxis(image, 2)
          if band_names is None:
              band_names = [0, 1, 2]
          elif isinstance(band_names, str):
              band_names = [band_names]
  
          return GeoRaster2(image=roll[:3, :, :], affine=affine, crs=crs, band_names=band_names)