label {spatialwarnings} | R Documentation |
Labelling of unique patches and detection of percolation.
Description
Label each patch with a number in a binary matrix
percolation()
detects whether percolation occurs in the
matrix (i.e. a patch has a width or a height equal to the size of the
matrix)
Usage
label(
mat,
nbmask = matrix(c(0, 1, 0, 1, 0, 1, 0, 1, 0), ncol = 3),
wrap = FALSE
)
percolation(mat, nbmask = matrix(c(0, 1, 0, 1, 0, 1, 0, 1, 0), ncol = 3))
Arguments
mat |
A binary matrix |
nbmask |
a "neighboring mask": a matrix with odd dimensions describing which cells are to be considered as neighbors around a cell (see examples). |
wrap |
Whether to wrap around lattice boundaries ('TRUE'/'FALSE'), effectively using periodic boundaries. |
Details
The label
function "labels" the patches of a binary
(TRUE/FALSE) matrix. It returns a matrix of similar height and width,
with integer values representing the ID of each unique patch (contiguous
cells). Empty cells are labelled as NA
.
Value
A matrix containing ID numbers for each connected patch. Default parameters assume 4-cell neighborhood and periodic boundaries. The distribution of patch sizes is returned as the attribute "psd" and the percolation status as "percolation" (whether a TRUE patch has a width or height equal to the size of the matrix).
See Also
Examples
data(forestgap)
rmat <- matrix(rnorm(100) > .1, ncol = 10)
display_matrix(label(rmat))
# With 8-way neighborhood mask and no wrapping around borders
nbmask8 <- matrix(c(1,1,1,
1,0,1,
1,1,1), ncol=3)
display_matrix(label(rmat, nbmask8, wrap = FALSE))
# On real data:
display_matrix(label(forestgap[[5]], nbmask8, wrap = FALSE))