NAME
i.fusion.hpf - Fusing high resolution panchromatic and low resolution multi-spectral data based on the High-Pass Filter Addition technique (Gangkofner, 2008).
KEYWORDS
imagery,
fusion,
sharpening,
high pass filter,
HPFA
SYNOPSIS
i.fusion.hpf
i.fusion.hpf --help
i.fusion.hpf [-l2ca] pan=name msx=name[,name,...] suffix=basename [ratio=float] [center=string] [center2=string] [modulation=string] [modulation2=string] [trim=float] [--overwrite] [--help] [--verbose] [--quiet] [--ui]
Flags:
- -l
- Linearly match histogram of Pan-sharpened output to Multi-Spectral input
- Default: Quantile scaling
- -2
- 2-Pass Processing (recommended) for large resolution ratio (>=5.5)
- -c
- Match color table of Pan-Sharpened output to Multi-Spectral input
- -a
- Align output to pan band
- Default: set resolution from pan band
- --overwrite
- Allow output files to overwrite existing files
- --help
- Print usage summary
- --verbose
- Verbose module output
- --quiet
- Quiet module output
- --ui
- Force launching GUI dialog
Parameters:
- pan=name [required]
- High resolution Panchromatic image
- msx=name[,name,...] [required]
- Low resolution Multi-Spectral image(s)
- suffix=basename [required]
- Suffix for output image(s)
- Names of Pan-Sharpened image(s) will end with this suffix
- Default: hpf
- ratio=float
- Custom ratio
- Custom ratio overriding standard calculation
- Options: 1.0-10.0
- center=string
- Center cell value
- Center cell value of the High-Pass-Filter
- Options: low, mid, high
- Default: low
- center2=string
- 2nd Pass center cell value
- Center cell value for the second High-Pass-Filter (use -2 flag)
- Options: low, mid, high
- Default: low
- modulation=string
- Modulation level
- Modulation level weighting the HPF image determining crispness
- Options: min, mid, max
- Default: mid
- modulation2=string
- 2nd Pass modulation level (use -2 flag)
- Modulation level weighting the second HPF image determining crispness (use -2 flag)
- Options: min, mid, max
- Default: mid
- min: Minimum: 0.25
- mid: Mid: 0.35
- max: Maximum: 0.5
- trim=float
- Trimming factor
- Trim output border pixels by a factor of the pixel size of the low resolution image. A factor of 1.0 may suffice.
i.fusion.hpf is an implementation of the High Pass Filter Additive
(HPFA) Fusion Technique. It combines high-resolution panchromatic data with
lower resolution multispectral data, resulting in an output with both excellent
detail and a realistic representation of original multispectral scene colors.
The process involves a convolution using a High Pass Filter (HPF) on the high
resolution data, then combining this with the lower resolution multispectral
data. Optionally, a linear histogram matching technique is performed in a way that
matches the resulting Pan-Sharpened image to the statistical mean and standard
deviation of the original multi-spectral image.
- Computing ratio of low (Multi-Spectral) to high (Panchromatic)
resolutions
- High Pass Filtering the Panchromatic Image
- Resampling MSX image to the higher resolution
- Adding weighted High-Pass-Filetred image to the upsampled MSX
image
- Optionally, matching histogram of Pansharpened image to the one of
the original MSX image
Figure:
____________________________________________________________________________
+ +
| Pan Img -> High Pass Filter -> HP Img |
| | |
| v |
| MSx Img -> Weighting Factors -> Weighted HP Img |
| | | |
| | v |
| +------------------------> Addition to MSx Img => Fused MSx Image |
+____________________________________________________________________________+
Source: Gangkofner, 2008
- Grasping and testing the various parameters that define the High-Pass
filter's kernel size and center value is a matter of short time.
- Works with any number and type of raster imagery (8-bit, 16-bit)
- The "black border" effect, possibly caused due to a non-perfect match of the high vs. the low
resolution of the input images, can be trimmed out by using the
trim
option --a floating point "trimming factor" with which to multiply the
pixel size of the low resolution image-- and shrink the extent of the
output image.
The module is fairly easy to use. Arbitrary examples:
i.fusion.hpf pan=Panchromatic msx=Red
i.fusion.hpf pan=Panchromatic msx=Red,Green,Blue,NIR
Example using the North Carolina sample dataset,
landsat mapset:
# pansharpening of R, G, B, NIR
g.region raster=lsat7_2002_80 -p
i.fusion.hpf pan=lsat7_2000_80 msx=lsat7_2000_10,lsat7_2000_20,lsat7_2000_30,lsat7_2000_40 suffix=_hpf
# visual comparison
d.mon wx0
d.rgb b=lsat7_2000_10 g=lsat7_2000_20 r=lsat7_2000_30
# color balance pansharpened scene
i.colors.enhance b=lsat7_2000_10_hpf g=lsat7_2000_20_hpf r=lsat7_2000_30_hpf
d.rgb b=lsat7_2000_10_hpf g=lsat7_2000_20_hpf r=lsat7_2000_30_hpf
Figure: Original Landsat 7 RGB color composite at 28.5m resolution (North Carolina, Raleigh subset)
Figure: Pansharpened Landsat 7 RGB color composite at 14.25m resolution(North Carolina, Raleigh subset)
Various illustrated examples detailed in the document
i.fusion.hpf, implementation of the High Pass Filter Additive (HPFA) Image Fusion Technique (PDF)
- Go through Submitting Python
- Access input raster by row I/O
- Support for parallel processing
- Proper command history tracking.
- Add timestamps (r.timestamp, temporal framework)
- Deduplicate code where applicable
- Make verbose level messages shorter, yet more informative (ie report center cell)
- Test if it compiles in other systems
- Check options to integrate in i.pansharpen. Think of FFM methods vs. Others?
- Improve Documentation.lyx
- Gangkofner, U. G., Pradhan, P. S., and Holcomb, D. W. (2008). Optimizing
the high-pass filter addition technique for image fusion.
PHOTOGRAMMETRIC ENGINEERING & REMOTE SENSING, 74(9):1107--1118.
- "ERDAS IMAGINE." Accessed March 19, 2015. ERDAS
IMAGINE Help.
- Aniruddha Ghosh & P.K. Joshi (2013) Assessment of pan-sharpened very
high-resolution WorldView-2 images, International Journal of Remote
Sensing, 34:23, 8336-8359
i.pansharpen
Nikos Alexandris
Panagiotis Mavrogiorgos
SOURCE CODE
Available at:
i.fusion.hpf source code
(history)
Latest change: Monday Jan 30 19:52:26 2023 in commit: cac8d9d848299297977d1315b7e90cc3f7698730
Main index |
Imagery index |
Topics index |
Keywords index |
Graphical index |
Full index
© 2003-2023
GRASS Development Team,
GRASS GIS 8.3.dev Reference Manual