[GRASS-dev] PCA question

Michael Barton Michael.Barton at asu.edu
Tue Jun 26 09:59:56 PDT 2012


Hi Nicos
On Jun 26, 2012, at 4:24 AM, Nikos Alexandris wrote:

> Michael Barton:
> 
> [...]
> 
>> However, my question is about performing an *inverse pca*--getting back to
>> the original values from the principal components maps.
> 
> Michael, getting back to the original values can _only_ be done if one does 
> not "touch" the data in any of the intermediate steps, i.e. Input > EVD (or 
> SVD) > Inverse PCA > Original values.
> 
> If one alters the data at any step prior to the Eigenanalysis or SVD, I don't 
> think it is possible to land back on "level 1". From the moment that global 
> stats of a multivariarte dataset, subject to PCA, are changed, one will 
> probably jump into a "new" reality.  This means that it takes an extra effort 
> to interpret the "new" stuff.

Right. That is why I'm not doing any alteration of the data after transforming to PC's.

> 
>> The idea of pca sharpening is that you perform a pca, then do an inverse pca
>> substituting the pan band for pc1 to enhance the resolution.
> 
> I haven't tried PCA sharpening.  So, apologies for my simplistic question(s), 
> I just want to understand the trick here.
> 
> Which resolution is to be enhanced?  The geometric?  Is it meant to keep PC1 
> and mix it with the rest, or keep the Pan and throw away PC1?
> 
> Principal Component 1 will contain the highest variance of your input data -- 
> which, in fact, is a composition of different amount of information originated 
> from all input bands. If you throw that away you are left with a dataset which 
> is likely to be useless!

The way this works is to:

1) transform 3 lower resolution bands to 3 principal components
2) replace PC1 with the higher resolution panchromatic band (under the reasonable assumption that the pan band will include more of the total spectral variability than will any more spectrally limited band). Histogram matching the pan band to PC1 is recommended here.
3) do an inverse PCA to get back to the original bands with a similar range of spectral response but with higher spatial resolution.

There have been--and continue to be--studies of the performance of different pan sharpening algorithms from various perspectives. For myself, pan sharpening can help with visually resolving more features in greater detail. But this is at the cost of making it considerably more difficult to understand what the pixel values of the enhanced bands mean.

> 
> 
>> The equations I show below seem to work, but what I've read indicates that
>> it is not possible to *exactly* get the original values back; you can only
>> approximate them.
> 
> As Markus' demonstration showed in another post, the results can be close 
> enough so the differences can be disregarded. As far as I have understood PCA, 
> it depends on how many decimals are taken into account, while doing all the 
> math and _not_ effectively altering the data at any of the intermediate steps.

Yes. Markus' demo made me more comfortable with the algorithm overall. When you replace PC1 with the pan band, of course, you don't get back to the original values. But the ranges look pretty good now. 

I'll attach the script here in case you want to try it. Ver. 2 and 3 represent different kinds of optimizing for calculation speed. v3 only works with a new GRASS python function that Hamish committed to trunk yesterday. V2 should work with all current versions of GRASS.

Here are some helpful references:

Amarsaikhan, D., & Douglas, T. (2004). Data fusion and multisource image classification. International Journal of Remote Sensing, 25(17), 3529–3539.
Behnia, P. (2005). Comparison between four methods for data fusion of ETM+ multispectral and pan images. Geo-spatial Information Science, 8(2), 98–103. doi:10.1007/BF02826847
Du, Q., Younan, N. H., King, R., & Shah, V. P. (2007). On the Performance Evaluation of Pan-Sharpening Techniques. Geoscience and Remote Sensing Letters, IEEE, 4(4), 518 –522. doi:10.1109/LGRS.2007.896328
Karathanassi, V., Kolokousis, P., & Ioannidou, S. (2007). A comparison study on fusion methods using evaluation indicators. International Journal of Remote Sensing, 28(10), 2309–2341. doi:10.1080/01431160600606890

Michael

 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: i.pansharpen2
Type: application/octet-stream
Size: 14570 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20120626/0d745779/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: i.pansharpen3
Type: application/octet-stream
Size: 14288 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20120626/0d745779/attachment-0003.obj>
-------------- next part --------------

> 
> Pff, it's been a while I got my hands dirty with PCA and I might forget 
> something here.
> 
> [...]
> 
>>>>>>>> I'm working on a pan sharpening script that will combine your
>>>>>>>> i.fusion.brovey with options to do other pan sharpening methods. An
>>>>>>>> IHS transformation is easy. I think that a PCA sharpening is doable
>>>>>>>> too if I can find an equation to rotate the PCA channels back into
>>>>>>>> unrotated space--since i.pca does provide the eigenvectors.>>>>> 
> 
> [...]
> 
> Thanks, Nikos

_____________________
C. Michael Barton
Visiting Scientist, Integrated Science Program
National Center for Atmospheric Research &
University Corporation for Atmospheric Research
303-497-2889 (voice)

Director, Center for Social Dynamics & Complexity 
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu



More information about the grass-dev mailing list