diff --git a/functions_for_rasterio.py b/functions_for_rasterio.py index 2c76300b4fe5c35c376816fae6d4863341dccc98..563e42ba6341aeddbdc5f6521b555b1814a3c18d 100644 --- a/functions_for_rasterio.py +++ b/functions_for_rasterio.py @@ -1,8 +1,21 @@ -import numpy as np -from skimage.transform import rescale -import skimage.color as color +from scipy import ndimage +def rcs_pansharpen(xs, pan): + """ + Implemented by me + cf https://www.sfpt.fr/hyperspectral/wp-content/uploads/2018/01/May_panorama_pansharpening.pdf + """ + + xs_zoom = ndimage.zoom(xs, zoom=4) + pan_low_pass = ndimage.gaussian_filter(pan, sigma=1) + + pansharpened = xs_zoom * (pan / pan_low_pass) + return pansharpened + + +## NOT USED ANYMORE (can not compare speed with OTB) +""" # functions def stretch(bands, lower_percent=2, higher_percent=98): out = np.zeros_like(bands) @@ -96,4 +109,5 @@ def pansharpen(m, pan, method='browley', W=0.1, all_data=False): if all_data: return rgbn_scaled, image, I else: - return image \ No newline at end of file + return image +""" \ No newline at end of file diff --git a/with_rasterio.py b/with_rasterio.py index 01dfbd90044c56cce99517bb886deffbeadce308..c363b62322c1d8abdb1c69518eb0be6a1900f765 100644 --- a/with_rasterio.py +++ b/with_rasterio.py @@ -1,5 +1,5 @@ import rasterio -from functions_for_rasterio import pansharpen +from functions_for_rasterio import rcs_pansharpen xs_path = 'xs.tif' pan_path = 'pan.vrt' @@ -17,5 +17,5 @@ print(xs.shape) print(pan.shape) # Pansharpening -pxs = pansharpen(xs, pan) +pxs = rcs_pansharpen(xs, pan)