Description Usage Arguments Value Author(s) References See Also Examples
View source: R/ConnCompLabel.R
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).
1 | ConnCompLabel(mat)
|
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) |
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.
Jeremy VanDerWal jjvanderwal@gmail.com
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #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)))
|
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0 0 0 1 0 0 2 2 0 3
[2,] 0 0 1 0 1 0 0 0 0 0
[3,] 0 1 NA 1 0 1 0 0 0 4
[4,] 1 0 1 1 1 0 1 0 0 4
[5,] 0 1 0 1 0 1 0 0 0 4
[6,] 0 0 1 0 1 0 0 4 4 0
[7,] 4 0 0 1 0 0 4 0 0 4
[8,] 0 4 0 0 0 4 0 0 0 4
[9,] 0 0 4 4 4 0 0 0 0 4
[10,] 4 4 4 0 0 0 0 0 0 4
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.