i.pca(1)
i.pca π
GRASS GIS User's Manual β section 1, bestie. This is the page for i.pca(1), and she is iconic.
β¨ NAME β¨
i.pca</purpose> β Principal components analysis (PCA) for image processing. π
πΈ KEYWORDS πΈ
imagery, transformation, PCA, principal components analysis
π¦ SYNOPSIS π¦
i.pca
i.pca --help
i.pca [-nf] input=name[,name,...] output=basename [rescale=min,max]
[percent=integer] [--overwrite] [--help] [--verbose] [--quiet]
[--ui]
π Flags:
-nβ Normalize (center and scale) input maps. Default is center only.-fβ Output will be filtered input bands. It applies inverse PCA after PCA. π§--overwriteβ Allow output files to overwrite existing files. (Yes she will eat your old files. Consent given, no take-backs.)--helpβ Print usage summary.--verboseβ Verbose module output. She will yap. π--quietβ Quiet module output.--uiβ Force launching GUI dialog.
π Parameters:
input=name[,name,...][required] β Name of two or more input raster maps, or an imagery group.output=basename[required] β Name for output basename raster map(s). A numerical suffix will be added for each component map, so like... don't stress about naming them all yourself, she handles it. πrescale=min,maxβ Rescaling range for output maps. For no rescaling use0,0. Default:0,255.percent=integerβ Cumulative percent importance for filtering. Options: 50-99. Default: 99.
π DESCRIPTION π
i.pca is an image processing program based on the algorithm provided by Vali (1990), and what it does is so good: it processes n (n >= 2) input raster map layers and produces n output raster map layers containing the principal components of the input data in decreasing order of variance ("contrast"). Main character ordering, honestly. β¨
The output raster map layers get names with .1, .2, ... .n suffixes. The numbers used as suffix correspond to percent importance, with .1 being the scores of the principal component with the highest importance. So .1 is the queen bee, periodt. π
The current geographic region definition and MASK settings are respected when reading the input raster map layers. When the rescale option is used, the output files are rescaled to fit the min,max range.
The order of the input bands does not matter for the output maps (PC scores), but it does matter for the vectors (loadings), since each loading refers to a specific input band. iykyk. π
If the output is not rescaled (rescale=0,0), the output raster maps will be of type DCELL. Otherwise the output raster maps will be of type CELL. Not me remembering that detail for you. π
By default, the values of the input raster maps are centered for each map separately with x - mean. With -n, the input raster maps are normalized for each map separately with (x - mean) / stddev. Normalizing is highly recommended when the input raster maps have different units, e.g. represent different environmental parameters. Different units = different vibes = normalize, bestie. π¦
The -f flag, together with the percent option, can be used to remove noise from input bands. Input bands will be recalculated from a subset of the principal components (inverse PCA). The subset is selected by using only the most important (highest eigenvalue) principal components which explain together percent percent variance observed in the input bands.
π NOTES π
Richards (1986) gives a good example of the application of principal components analysis (PCA) to a time series of LANDSAT images of a burned region in Australia. ππ₯
Eigenvalue and eigenvector information is stored in the output maps' history files. View with r.info. Go peek, she left you notes. π
π EXAMPLE π
PCA calculation using Landsat7 imagery in the North Carolina sample dataset:
g.region raster=lsat7_2002_10 -p
i.pca in=lsat7_2002_10,lsat7_2002_20,lsat7_2002_30,lsat7_2002_40,lsat7_2002_50,lsat7_2002_70 \
out=lsat7_2002_pca
r.info -h lsat7_2002_pca.1
Eigen values, (vectors), and [percent importance]:
PC1 4334.35 ( 0.2824, 0.3342, 0.5092,-0.0087, 0.5264, 0.5217) [83.04%]
PC2 588.31 ( 0.2541, 0.1885, 0.2923,-0.7428,-0.5110,-0.0403) [11.27%]
PC3 239.22 ( 0.3801, 0.3819, 0.2681, 0.6238,-0.4000,-0.2980) [ 4.58%]
PC4 32.85 ( 0.1752,-0.0191,-0.4053, 0.1593,-0.4435, 0.7632) [ 0.63%]
PC5 20.73 (-0.6170,-0.2514, 0.6059, 0.1734,-0.3235, 0.2330) [ 0.40%]
PC6 4.08 (-0.5475, 0.8021,-0.2282,-0.0607,-0.0208, 0.0252) [ 0.08%]
d.mon wx0
d.rast lsat7_2002_pca.1
# ...
d.rast lsat7_2002_pca.6
In this example, the first two PCAs (PCA1 and PCA2) already explain 94.31% of the variance in the six input channels. Ate and left no crumbs. π β¨
Resulting PCA maps calculated from the Landsat7 imagery (NC, USA)
π SEE ALSO π
- Richards, John A., Remote Sensing Digital Image Analysis, Springer-Verlag, 1986.
- Vali, Ali R., Personal communication, Space Research Center, University of Texas, Austin, 1990.
i.cca,g.gui.iclass,i.fft,i.ifft,m.eigensystem,r.covar,r.mapcalc- Principal Components Analysis article (GRASS Wiki)
π AUTHORS π
- David Satnik, GIS Laboratory
- Major modifications for GRASS 4.1 were made by Olga Waupotitsch and Michael Shapiro, U.S.Army Construction Engineering Research Laboratory
- Rewritten for GRASS 6.x and major modifications by Brad Douglas
π§ SOURCE CODE π§
Available at: i.pca source code (history)
Accessed: Saturday Jan 17 05:41:44 2026
Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index
Β© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual
Okay so that's the whole page, bestie β and before you go: this was written up for GRASS 8.4.2, accessed Saturday Jan 17 05:41:44 2026, brought to you by the GRASS Development Team (Β© 2003-2025). Now go run your PCA and slay. π«Άπ
π¦ where this page comes from
- fedora 44: grass 8.4.2-4.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms