This tool can be used to estimate the Pearson product-moment correlation
coefficient (*r*) between two images. The *r*-value is a measure of
the linear association in the variation of the input variables (images, in this
case). The coefficient ranges from -1, indicated a perfect negative linear
association, to 1, indicated a perfect positive linear association. An
*r*-value of 0 indicates no correlation between the test variables.

Note that this index is a measure of the *linear* association; two
variables may be strongly related by a non-linear association (e.g. a power
function curve) which will lead to an apparent weak association based on the
Pearson coefficient. In fact, non-linear associations are very common among
spatial variables, e.g. terrain indices such as slope and contributing area. In
such cases, it is advisable that the input images are transformed prior to the
estimation of the Pearson coefficient, or that an alternative, non-parametric
statistic be used, e.g. the Spearman rank correlation coefficient.

The user must specify the names of two or more input images. All input
images must share the same grid, as the coefficient requires a comparison of a
pair of images on a grid-cell-by-grid-cell basis. If more than two image names
are selected, the correlation coefficient will be calculated for each pair of
images and reported in the text output as a correlation matrix. Caution must be
exercised when attempted to estimate the significance of a correlation
coefficient derived from image data. The remarkably high *N*-value
(essentially the number of pixels in the image pair) means that even small
correlation coefficients can be found to be statistically significant, despite
being practically insignificant.

** NoData** values in either of the two input images are ignored
during the calculation of the correlation between images.

The following is an example of a Python script using this tool:

```
wd = pluginHost.getWorkingDirectory()
```

# You may have multiple input files but they must

# be separated by semicolons in the string.

inputFiles = wd + "input1.dep" + ";" + wd + "input2.dep" + ";" + wd + "input3.dep"

args = [inputFiles]

pluginHost.runPlugin("ImageCorrelation", args, False)

This is a Groovy script also using this tool:

```
def wd = pluginHost.getWorkingDirectory()
```

// You may have multiple input files but they must

// be separated by semicolons in the string.

def inputFiles = wd + "input1.dep" + ";" + wd + "input2.dep" + ";" + wd + "input3.dep"

String[] args = [inputFiles]

pluginHost.runPlugin("ImageCorrelation", args, false)

- John Lindsay (2012) email: jlindsay@uoguelph.ca