Calculate the autocorrelation feature or metric for a gray-level co-occurrence matrix. For definition and application, see Lofstedt et al. (2019) doi:10.1371/journal.pone.0212110 .

autocorrelation(x, ...)

# S3 method for default
autocorrelation(x, ...)

# S3 method for matrix
autocorrelation(x, ...)

# S3 method for FitLandDF
autocorrelation(x, nlevels, ...)

Arguments

x

gray-level co-occurrence matrix

...

additional parameters

nlevels

desired number of discrete gray levels

Value

autocorrelation metric of x

Examples

## calculate autocorrelation of arbitrary GLCM
# define arbitrary GLCM
x <- matrix(1:16, nrow = 4)

# normalize
n_x <- normalize_glcm(x)

# calculate autocorrelation
autocorrelation(n_x)
#> [1] 8.088235

## calculate autocorrelation of arbitrary fitness landscape
# create fitness landscape using FitLandDF object
vals <- runif(64)
vals <- array(vals, dim = rep(4, 3))
my_landscape <- fitscape::FitLandDF(vals)

# calculate autocorrelation of fitness landscape, assuming 2 discrete gray levels
autocorrelation(my_landscape, nlevels = 2)
#> [1] 2.237705

## confirm value of autocorrelation for fitness landscape
# extract normalized GLCM from fitness landscape
my_glcm <- get_comatrix(my_landscape, discrete = equal_discrete(2))

# calculate autocorrelation of extracted GLCM
autocorrelation(my_glcm)  # should match value of above autocorrelation function call
#> [1] 2.237705