I tested the algorithm and the output is an array with the same dimensions as the input while my goal is to have fewer dimensions. Unless I made a mistake, using the function scipy.ndimage.gaussian_filter I cannot change the pixel size (or the dimensions of the array in python's terms).
To put it differently, I am trying to simulate coarse data (resample panchromatic band) as though they were measured with a coarse PSF.
To do this I need to apply a transfer function (TF; e.g., Gaussian) to the fine data, but with a very large width.
This produces the coarse data. The PSF (point spread function) is the Gaussian filter.
Also, the tool Gauss blur (plus) I think works like this:
From ArcGIS documentation, "Applies a Gaussian convolution to the source raster and calculates pixel value using the distance-weighted value of four nearest pixels from the blurred raster. It is appropriate for removing noise in resampled data and for down-sampling to a larger pixel size."
It simply apply the filter to blur the image then go ahead to resample it (in this case, from their definition, bilinear interpolation)
From ArcGIS "Bilinear Interpolation—Calculates the pixel value using the distance-weighted value of the four nearest pixels. This method is computationally efficient to process".
For a more detailed explanation of what I want to achieve, please refer to the paper 'The effect of point spread function on downscaling continua'. The file size of the pdf is 35mb and I can't upload it.