View source: R/raster.entropy.R
raster.entropy | R Documentation |
Calculates entropy on integer raster (i.e., 8 bit 0-255)
raster.entropy(x, d = 5, categorical = FALSE, global = FALSE, ...)
x |
A terra SpatRaster object (requires integer raster) |
d |
Size of matrix (window) |
categorical |
Is the data categorical or continuous (FALSE/TRUE) |
global |
Should the model use a global or local n to calculate entropy (FALSE/TRUE) |
... |
Optional arguments passed terra focal function |
Entropy calculated as: H = -sum(Pi*ln(Pi)) where; Pi, Proportion of one value to total values Pi=n(p)/m and m, Number of unique values. Expected range: 0 to log(m) H=0 if window contains the same value in all cells. H increases with the number of different values in the window. The ellipsis arguments can be used to write to disk using the filename argument.
terra SpatRaster class object
Jeffrey S. Evans <jeffrey_evans@tnc.org>
Fuchs M., R. Hoffmann, F. Schwonke (2008) Change Detection with GRASS GIS - Comparison of images taken by different sensor.
library(terra)
r <- rast(ncols=100, nrows=100)
r[] <- round(runif(ncell(r), 1,8), digits=0)
rEnt <- raster.entropy(r, d=5, categorical = TRUE, global = TRUE)
opar <- par(no.readonly=TRUE)
par(mfcol=c(2,1))
plot(r)
plot(rEnt)
par(opar)
# Maximum entropy is reached when all values are different, same as log(m)
# for example; log( length( unique(x) ) )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.