I have followed this great tutorial on pan sharpening using Grass GIS 7 (I'm using beta 3). Everything in the tutorial seemed to have worked, but my final output is not as expected (pictured below). PanSharp RGB output

I tried with various sharpening methods, colour balancing stages and with and without atmospheric correction. I also tried with different images.

Any advice on where I'm going wrong?

Here's the output from r.univar:

Of the non-null cells:

n: 41623319 minimum: 0.089549 maximum: 1.17079 range: 1.08124 mean: 0.161591 mean of absolute values: 0.161591 standard deviation: 0.110987 variance: 0.0123181 variation coefficient: 68.6836 % sum: 6725971.35730981

  • What are the pixel value stats? Please add the output of r.univar somechannel to your post.
    – markusN
    Aug 27, 2014 at 20:17
  • Is it possible that a radiance versus reflectance mishap happened?
    – markusN
    Aug 30, 2014 at 21:47
  • Radiance-reflectance mishap - I'm not sure. Would it Provide some insight if I ran i.toar in verbose mode?
    – Simon
    Aug 31, 2014 at 15:28
  • Please, post full commands to make clear, for example, on which maps the statistics refer to. Also, for the sharpening part, you can give a try of this one: i.fusion.hpf (works for GRASS GIS ver. 7.x). Dec 8, 2014 at 19:30

1 Answer 1


Thank you Nikos and Markus for the comments.

Using Nikos' hpf module I get a nice pansharpened image. The steps taken to do this (also in i.fusion.hpf documentation):

  • Download the module from github, open Grass 7.x.x
  • In the Grass command console (bottom of the layer manager window, second tab from the left), navigate to the directory where you extracted the github archive (eg: cd c:\somefolder\ifusion...). Then run 'make MODULE_TOPDIR=$GISBASE'
  • Run the i.fusion.hpf module (eg. i.fusion.hpf -l -c --o pan=L_B8 msx=L_B2,L_B3,L_B4 center=high modulation=max). Refer to documentation for explanations and other options. For me, it took 21 mins
  • Colour enhance (eg. i.colors.enhance red=L_B4.hpf@Morogoro green=L_B3.hpf@Morogoro blue=L_B2.hpf@Morogoro)
  • display rgb or make a composite (eg. r.composite red=L_B4.hpf@Morogoro green=L_B3.hpf@Morogoro blue=L_B2.hpf@Morogoro output=MorogoroPanSharpen

(This was done on a Windows machine)

Here's the result from an image of part of Tanzania - before (left) and after (right): Pansharpened before and after

The river and crops are sharper and you can make out clumps of trees on the barren patches.

  • The sharpening effect is obvious in the screenshots (more details on the right image). Yet, the colors are not vivid/contrast not high(?). Maybe the appearance can be improved further by experimenting with i.colors.enhance. What is the purpose of the sharpening in this case? Nice visuals or subsequent classification? Apr 1, 2015 at 1:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.