
Finding minima and maxima 31
Listing 1.10 : Principal components a nalysis with the new ENVI API.
1 PRO E X1_6
2 COMPILE_OPT IDL2
3 ; start ENVI 5 GUI
4 envi5 = ENVI ()
5 ; read i mage
6 UI = envi5 . UI
7 inRaster = UI . Sel ectInp utD at a (/ raster , $
8 / disabl e_sub_ rect , b ands = bands )
9 ; get image b ands in BIP fo rmat
10 data = inRa ster . GetData ( in terlea ve = ’ bip ’, $
11 ban ds = band s )
12 sz = size ( data )
13 num_ bands = sz [1]
14 cols = sz [2]
15 rows = sz [3]
16 ; data mat rix
17 G = ref orm (data , num_bands , cols * rows )
18 ; subt ract means
19 FOR i =0 , num_bands -1 DO G[i ,*] = G[ i ,*] $
20 - mean (G [i ,*])
21 ; prin cipal co