Does that snippet of code need to be that way? It seems it could pretty easily be changed to work a band at a time and a weight of zero would contribute nothing. Now I do not know the domain at all and maybe that violates some assumptions. Curious as to what you think.
On Thu, Jan 9, 2025 at 2:36 PM Even Rouault via gdal-dev <gdal-dev@lists.osgeo.org> wrote: > > > Le 09/01/2025 à 20:27, Joe McGlinchy via gdal-dev a écrit : > > Hello, > > I'm wanting to pansharpen only a subset of multispectral bands I have > available. Say for instance I have blue-green-red-nir, and a panchromatic > band, I can calculate the relative weights to specify when using > `gdal_pansharpen` on the full multispectral dataset. If I want to only > pansharpen, for example, the red and NIR bands, is it best to perform the > pansharpening on the full dataset and only retain the bands I need? Or can i > provide only the weights specific to the bands I want to pansharpen? If I can > do the latter (which I can, given the parameter set to `gdal_pansharpen`), do > I need to recalculate those weights, or only provide the subset of weights > for those specific bands? > > Given the formula at > https://gdal.org/en/stable/drivers/raster/vrt.html#gdal-vrttut-pansharpen > > pseudo_panchro[pixel] = sum(weight[i] * spectral[pixel][i] for i=0 to > nb_spectral_bands-1) > ratio = panchro[pixel] / pseudo_panchro[pixel] > for i=0 to nb_spectral_bands-1: > output_value[pixel][i] = input_value[pixel][i] * ratio > > > if you only provide a subset of the input spectral bands, you won't be able > to reconstruct a plausible pseudo_panchro values, hence the scaling ratio > will not be accurate. > > > If your spectral dataset has bands in the R,G,B,NIR order, you can achieve > what you want with: > > > $ gdal_pansharpen panchro.tif rgbnir.tif,band=1 rgbnir.tif,band=2 > rgbnir.tif,band=3 rgbnir.tif,band=4 out.tif -b 1 -b 4 > > Even > > -- > http://www.spatialys.com > My software is free, but my time generally not. > Butcher of all kinds of standards, open or closed formats. At the end, this > is just about bytes. > > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/gdal-dev _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev