[GRASS-dev] Implementation of the High Pass Filter Additive Fusion technique (i.fusion.hpf)

Michael Barton Michael.Barton at asu.edu
Fri Nov 15 16:11:39 PST 2013


I haven't had time today to look into this. I used a fairly standard histogram matching algorithm, for which I cited the reference. But I don't remember exactly how it went. Matching the SD was not part of it however. 

Michael
______________________________
C. Michael Barton 
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University
Tempe, AZ  85287-2402
USA

voice: 	480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
fax:          480-965-7671(SHESC), 480-727-0709 (CSDC)
www: 	http://csdc.asu.edu, http://shesc.asu.edu
		http://www.public.asu.edu/~cmbarton

On Nov 15, 2013, at 3:20 AM, Moritz Lennert <mlennert at club.worldonline.be> wrote:

> On 15/11/13 10:50, Nikos Alexandris wrote:
>> Nikos Alexandris wrote:
>> 
>> > > together with Nikos Ves, we share the "i.fusion.hpf" idea/proof of
>> 
>> > > concept. At the moment, we have a custom shell script named
>> 
>> > > `i.fusion.hpf` (an attempt for a proper GRASS add-on), which implements
>> 
>> > > the High Pass Filter Additive (HPFA) Fusion Technique for
>> Pan-Sharpening
>> 
>> > > [*]. Nikos V started already porting to Python. How can we proceed in
>> 
>> > > sharing it?
>> 
>> >
>> 
>> > [...]
>> 
>> >
>> 
>> > > Two questions
>> 
>> > >
>> 
>> > > ? Can someone confirm that the part of the existing "i.pansharpen" code
>> 
>> > > that performs histogram matching (code lines 348 - 431), do so as
>> 
>> > > "linearly stretching an image to match another image's Mean and
>> StdDev"?
>> 
>> Moritz Lennert:
>> 
>> > AFAICT, it applies the method described in [1].
>> 
>> Is that a reference also indicated in i.pansharpen's manual?
> 
> It's not in the manual, but there's a long list of other references. But Michael is the one who knows where the inspiration came from. AFAIK, this is the classical, generic method of histogram matching.
> 
>> 
>> > I don't know (and don't have the time to think about) what this
>> method does
>> 
>> > in terms of mean and stddev.
>> 
>> My guess was/is that it is not the same, i.e. it does not match Mean and
>> StdDev. As a quick test, I tried the identical (me thinks) tool in
>> WhiteboxGIS "Histogram Matching (Two Images)", does not give identical
>> Means and StdDevs after the operation -- which is the case with
>> i.pansharpen too if I am not wrong.
>> 
> 
> I just did a quick test:
> 
> pan in:
> 
> mean: 31.813
> standard deviation: 3.75447
> 
> ms in:
> 
> mean: 15.2307
> standard deviation: 3.55858
> 
> pan out:
> 
> mean: 15.6117
> standard deviation: 3.23408
> 
> So for this example, mean seems to have been adjusted, but stddev not.
> 
>> > > ? Would it be desired to get the HPFA algorithm integrated in
>> 
>> > > i.pansharpen?
>> 
>> >
>> 
>> > Yes. I think that if we have a generic module such as i.pansharpen, it
>> 
>> > would be preferable to have all pansharpening methods in that one module.
>> 
>> There is one "difference" in that HPFA treats all bands to be sharpened
>> separately. And, in this manner, it can be (mis-)used to sharpen any
>> low-res band. For example, WorldView-2 products have 8 multi-spectral
>> bands. Hence the "not red= green= blue=" design so far from my side.
> 
> i.pansharpen does not imply rgb either (although the description of the ms* parameters does suggest that. You can obviously use any ms bands you want.
> 
> Moritz



More information about the grass-dev mailing list