R: Connected Components Labelling - Unique Patch Labelling

ConnCompLabel {SDMTools} | R Documentation

## Connected Components Labelling – Unique Patch Labelling

### Description

`ConnCompLabel` is a 1 pass implementation of connected components labelling. Here it is applied to identify disjunt patches within a distribution.
The raster matrix can be a raster of class 'asc' (adehabitat package), 'RasterLayer' (raster package) or 'SpatialGridDataFrame' (sp package).

### Usage

    ConnCompLabel(mat)

### Arguments

`mat` | is a binary matrix of data with 0 representing background and 1 representing environment of interest. NA values are acceptable. The matrix can be a raster of class 'asc' (this & adehabitat package), 'RasterLayer' (raster package) or 'SpatialGridDataFrame' (sp package)

### Value

A matrix of the same dim and class of `mat` in which unique components (individual patches) are numbered 1:n with 0 remaining background value.

### Author(s)

Jeremy VanDerWal jjvanderwal@gmail.com

### References

Chang, F., C.-J. Chen, and C.-J. Lu. 2004. A linear-time component-labeling algorithm using contour tracing technique. Comput. Vis. Image Underst. 93:206-220.

### See Also

`PatchStat`, `ClassStat`

### Examples

    #define a simple binary matrix
    tmat = { matrix(c( 0,0,0,1,0,0,1,1,0,1,
                       0,0,1,0,1,0,0,0,0,0,
                       0,1,NA,1,0,1,0,0,0,1,
                       1,0,1,1,1,0,1,0,0,1,
                       0,1,0,1,0,1,0,0,0,1,
                       0,0,1,0,1,0,0,1,1,0,
                       1,0,0,1,0,0,1,0,0,1,
                       0,1,0,0,0,1,0,0,0,1,
                       0,0,1,1,1,0,0,0,0,1,
                       1,1,1,0,0,0,0,0,0,1),nr=10,byrow=TRUE) }

    #do the connected component labelling
    ccl.mat = ConnCompLabel(tmat)
    ccl.mat
    image(t(ccl.mat[10:1,]),col=c('grey',rainbow(length(unique(ccl.mat))-1)))

[Package SDMTools version 1.1-221.2 Index]