How to pansharpen LANDSAT 8 in GRASS?

Take a look at i.landsat.rgb - Performs auto-balancing of colors for LANDSAT images, probably before running the pansharpening. You may also consider to convert the digital numbers of the individual channels to top-of-atmosphere radiance or reflectance with i.landsat.toar. See also http://grasswiki.osgeo.org/wiki/LANDSAT

BTW: having a range of 0-65535 for original LANDSAT data is odd since they are delivered as 8 bit channels (0-255). So check your input data first.

Update: 10/2013

For a simplified procedure with current GRASS GIS 7, see the page enter image description hereProcessing Landsat 8 data in GRASS GIS 7: RGB composites and pan sharpening


Thanks Michal and Markus. Finally I was able to do the pansharpening with the indicated function brov. Once performed in GRASS, I exported the RGB rasters to gdal GTiff with as data type Uint16. Markus, I have been downloading and using several Landsat 8 images (tiff of each of the 11 bands), obtaining nice visual results, both in natural/false color. To my knowledge, the original landsat tiffs come as Uint16 with values ranging from 0 to 65535 (or am I missing something?)...Thanks for the GRASS LANDSAT link...


Pan-sharpening FIHS or Brovery Transform is quite simple if you follow the formulae from an article such as this: http://www.sensorsportal.com/HTML/DIGEST/august_2014/Vol_177/P_RP_0183.pdf

Assuming you are using GRASS GIS and pansharpening Landsat 8.

Set your region using the pan 8 tif - important to have resolution 15m which will be set if you do this.

For Brovery without weights enter this into Map Calculator for blue, green and red respectively:

band8 / (band2+band3+band4) / 3 * band2

band8 / (band2+band3+band4) / 3 * band3

band8 / (band2+band3+band4) / 3 * band4

Run r.colors for each of the above outputs and set histogram equalisation and color table to grey.

Run r.composite, select the appropriate bands (red=4,green=3,blue=2)

Check out image.

Obviously this process could be done with more consideration for atmospheric correction, color stretch and band weights as discussed in above article.