ShapePattern-package {ShapePattern} | R Documentation |
Tools for Analyzing Shapes and Patterns
Description
This is an evolving and growing collection of tools for the quantification, assessment, and comparison of shape and pattern. This collection provides tools for: (1) the spatial decomposition of planar shapes using 'ShrinkShape' to incrementally shrink shapes to extinction while computing area, perimeter, and number of parts at each iteration of shrinking; the spectra of results are returned in graphic and tabular formats (Remmel 2015) <doi:10.1111/cag.12222>, (2) simulating landscape patterns, (3) provision of tools for estimating composition and configuration parameters from a categorical (binary) landscape map (grid) and then simulates a selected number of statistically similar landscapes. Class-focused pattern metrics are computed for each simulated map to produce empirical distributions against which statistical comparisons can be made. The code permits the analysis of single maps or pairs of maps (Remmel and Fortin 2013) <doi:10.1007/s10980-013-9905-x>, (4) counting the number of each first-order pattern element and converting that information into both frequency and empirical probability vectors (Remmel 2020) <doi:10.3390/e22040420>, and (5) computing the porosity of raster patches <doi:10.3390/su10103413>. NOTE: This is a consolidation of existing packages ('PatternClass', 'ShapePattern') to begin warehousing all shape and pattern code in a common package. Additional utility tools for handling data are provided and this package will be added to as more tools are created, cleaned-up, and documented. Note that all future developments will appear in this package and that 'PatternClass' will eventually be archived.
Details
The DESCRIPTION file:
Type: | Package |
Package: | ShapePattern |
Title: | Tools for Analyzing Shapes and Patterns |
Version: | 3.0.1 |
Authors@R: | c( person("Tarmo K.", "Remmel", email = "remmelt@yorku.ca", role = c("aut", "cre"), comment = c(ORCID = "0000-0001-6251-876X")), person("Marie-Josee", "Fortin", role = "ctb"), person("Ferenc", "Csillag", role = "ctb"), person("Sandor", "Kabos", role = "ctb")) |
Maintainer: | Tarmo K. Remmel <remmelt@yorku.ca> |
Description: | This is an evolving and growing collection of tools for the quantification, assessment, and comparison of shape and pattern. This collection provides tools for: (1) the spatial decomposition of planar shapes using 'ShrinkShape' to incrementally shrink shapes to extinction while computing area, perimeter, and number of parts at each iteration of shrinking; the spectra of results are returned in graphic and tabular formats (Remmel 2015) <doi:10.1111/cag.12222>, (2) simulating landscape patterns, (3) provision of tools for estimating composition and configuration parameters from a categorical (binary) landscape map (grid) and then simulates a selected number of statistically similar landscapes. Class-focused pattern metrics are computed for each simulated map to produce empirical distributions against which statistical comparisons can be made. The code permits the analysis of single maps or pairs of maps (Remmel and Fortin 2013) <doi:10.1007/s10980-013-9905-x>, (4) counting the number of each first-order pattern element and converting that information into both frequency and empirical probability vectors (Remmel 2020) <doi:10.3390/e22040420>, and (5) computing the porosity of raster patches <doi:10.3390/su10103413>. NOTE: This is a consolidation of existing packages ('PatternClass', 'ShapePattern') to begin warehousing all shape and pattern code in a common package. Additional utility tools for handling data are provided and this package will be added to as more tools are created, cleaned-up, and documented. Note that all future developments will appear in this package and that 'PatternClass' will eventually be archived. |
License: | GPL-3 |
LazyData: | true |
LazyDataCompression: | xz |
Depends: | R (>= 4.3.0), sp, igraph, terra |
Imports: | landscapemetrics, raster |
NeedsCompilation: | no |
Packaged: | 2023-08-22 18:53:14 UTC; tarmo |
Author: | Tarmo K. Remmel [aut, cre] (<https://orcid.org/0000-0001-6251-876X>), Marie-Josee Fortin [ctb], Ferenc Csillag [ctb], Sandor Kabos [ctb] |
Repository: | CRAN |
Date/Publication: | 2023-08-22 16:50:02 UTC |
Index of help topics:
CARsimu This function simulates an image using a FFT implementation of a Conditional Autoregressive (CAR) model. KLPQ Computes and returns the Kullback-Leibler divergence between two probability distributions ShapePattern-package Tools for Analyzing Shapes and Patterns build.lut Bias correction lookup table (LUT) builder based on simulations. buildsurfs Build an array of surfaces across compositional and configuration analysis space. data This is a generic data environment that provides some demo data and control functionality. doubleplotter A comparison of two maps based on their empirical (null) distributions for a class-focused pattern metric findcol An internal utility that identifies that identifies the appropriate column of the Whittle correction matrix. findrow An internal utility that identifies that identifies the appropriate row of the Whittle correction matrix. imaks Draws a matrix in the proper orientation, as it it were a raster landscape. patternbits Decompose a binary landscape (grid) to count its pattern elements porosity Compute the porosity of raster zones (patches) singlemap Process a single binary map singleplotter Depict the empirical (null) distribution for class-focused pattern metrics. ssr Decompose a planar shape (polygon) to produce area, perimeter, and number of parts spectra surfplot Produce graphic plots providing class-focused pattern metric context for a landcape map wi An internal utility that helps with the Whittle estimation. wtest.run Whittle estimation for binary map
This package combines the legacy functionality of package PatternClass
and package ShapePattern
and sets the environment for continuing to contribute to shape and pattern analyses. Eventually, package PatternClass
will be archived (please point to this package to maintain functionality). Functions are provided to perform (1) ShrinkShape, a spatial decomposition by iterative shrinking of planar shapes (ploygons); (2) PatternClass, a tool for computing and visualizing statistical differences between class-level landscape maps; (3) Patternbits, a means for producing probability distributions for the most elemental hyper-local pattern elements in a binary landscape map and using Kullback-Leibler divergence to assess similarity and differnece between two such distributions; (4) CAR 2D simulation of stationary and isotropic landscape patterns, and (5) a tool for computing raster zone (patch) porosity.
Author(s)
Tarmo K. Remmel [aut, cre] (<https://orcid.org/0000-0001-6251-876X>), Marie-Josee Fortin [ctb], Ferenc Csillag [ctb], Sandor Kabos [ctb]
Maintainer: Tarmo K. Remmel <remmelt@yorku.ca>
References
1. Polygon shape analysis:
Remmel, T.K. 2015. ShrinkShape2: a FOSS toolbox for computing rotation-invariant shape spectra for characterizing and comparing polygons. The Canadian Geographer 59(4):532-547.
2. Comparing binary landscapes:
Remmel, T.K. and M.-J. Fortin. 2016. What constitutes a significant difference in landscape pattern? (using R). In Gergel, S.E. and M.G. Turner. Learning landscape ecology: concepts and techniques for a sustainable world (2nd ed.). New York: Springer. http://sarahgergel.net/lel/learning-landscape-ecology/
Remmel, T.K. and M.-J. Fortin. 2013. Categorical class map patterns: characterization and comparison. Landscape Ecology. DOI: 10.1007/s/10980-013-9905-x.
Remmel, T.K. and F. Csillag. 2003. When are two landscape pattern indices significantly different? Journal of Geographical Systems 5(4):331-351.
3. For computing pattern elements:
Remmel, T.K. 2020. Distributions of hyper-local configuration elements to characterize, compare, and assess landscape-level spatial patterns. Entropy 22(4):420.
4. Simulating Landscapes:
Remmel, T.K. and F. Csillag. When are two landscape pattern indices significantly different? Journal of Geographical Systems 5(4):331-351.
5. For computing raster patch porosity:
Remmel, T.K. 2018. An incremental and philosophically different approach to measuring raster patch porosity. Sustainability 10:3413.
See Also
It would be prudent to also observe the landscapemetrics
package.
Examples
# Specific examples are provided on the individual function manual pages.
# This package provides functions for different areas of analysis:
#
# 1. ShrinkShape
# ssr()
#
# 2. PatternClass (legacy package moved here)
# The order of function calls should be: singlemap() > singleplotter()
# or
# singlemap(), singlemap() > doubleplotter()
#
# 3. Patternbits
# patternbits() and KLPQ()
#
# 4. Conditional AutoRegressive 2D pattern simulator
# CARsimu()