def crop(self, vector, resolution=None, masked=None,
             bands=None, resampling=Resampling.cubic):
        """
        crops raster outside vector (convex hull)
        :param vector: GeoVector, GeoFeature, FeatureCollection
        :param resolution: output resolution, None for full resolution
        :param resampling: reprojection resampling method, default `cubic`

        :return: GeoRaster
        """
        bounds, window = self._vector_to_raster_bounds(vector.envelope, boundless=self._image is None)
        if resolution:
            xsize, ysize = self._resolution_to_output_shape(bounds, resolution)
        else:
            xsize, ysize = (None, None)

        return self.pixel_crop(bounds, xsize, ysize, window=window,
                               masked=masked, bands=bands, resampling=resampling)
crops raster outside vector (convex hull)
        :param vector: GeoVector, GeoFeature, FeatureCollection
        :param resolution: output resolution, None for full resolution
        :param resampling: reprojection resampling method, default `cubic`

        :return: GeoRaster