[GRASS-dev] PCA (i.pca) in G7: filtering and rescaling

Nikos Alexandris nik at nikosalexandris.net
Wed Dec 4 05:53:19 PST 2013


Hi list and Markus.

The i.pca module in G7 offers a "forward/filtering/backward" PCA.  I have an 
issue first with filtering and second with rescaling.


1) I can't see any differences in the derived Principal Components between 
percent=70 and percent=99 for 4 bands which the PCs (both centered and scaled) 
are:

PC1      2.78 ( 0.4947, 0.5922, 0.5743, 0.2735) [69.53%]
PC2      1.08 ( 0.5196, 0.0517,-0.0974,-0.8473) [26.99%]
PC3      0.11 ( 0.4210, 0.2486,-0.7926, 0.3644) [ 2.86%]
PC4      0.03 (-0.5551, 0.7647,-0.1805,-0.2729) [ 0.63%]

What is filtering doing actually?  Shouldn't percent=70 just filter out the 
rest, somehow?


2) a centered but non-scaled attempt, with rescaling (to [0,255] desired] 
gives me floating point PCs as an output:

r.info -rh PC.1
min=167.116641509957
max=1063.871704546
Data Source:
   
   
Data Description:
   generated by i.pca
Comments:
   Eigen values, (vectors), and [percent importance]:
   PC1 142403.37 ( 0.0058,-0.0899,-0.0817,-0.9926) [93.76%]
   PC2   8979.58 ( 0.4285, 0.7402, 0.5071,-0.1062) [ 5.91%]
   PC3    416.51 (-0.3800,-0.3668, 0.8483,-0.0388) [ 0.27%]
   PC4     88.39 (-0.8197, 0.5563,-0.1287,-0.0446) [ 0.06%]
   
   i.pca -f input="Blue_DNs,Green_DNs,Red_DNs,NIR_DNs" output_prefix="P\
   C" rescale=0,255 percent=99

This isn't expected, right?


Thanks for this module as well -- it solved big issues (i.e. with hazed 
images), Nikos


More information about the grass-dev mailing list