label: Labelling of unique patches and detection of percolation.

View source: R/label.R

labelR 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

patchsizes, patchdistr_sews

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))


spatialwarnings documentation built on March 21, 2022, 5:08 p.m.