Since version 0.2.4, the glcm
function has used Rcpp code that was inherited from the now-defunct radiomics
package. My intention was for ForestTool
to adapt GCLM metrics for segmented tree crowns, not provide the foundational code to compute those metrics. Now that the GLCMTextures library is carrying the GLCM computation torch, I have added it as a dependency for ForestTools
.
The glcm
function still works the same way, although it is now 1) a bit faster and 2) calculates fewer metrics. See table below for changes in metrics output by glcm
.
Metric | v1.0.1 | v1.0.2 | Notes |
---|---|---|---|
glcm_mean | ✔ | ✔ | |
glcm_variance | ✔ | ✔ | |
glcm_autoCorrelation | ✔ | ||
glcm_cProminence | ✔ | ||
glcm_cShade | ✔ | ||
glcm_cTendency | ✔ | ||
glcm_contrast | ✔ | ✔ | |
glcm_correlation | ✔ | ✔ | |
glcm_differenceEntropy | ✔ | ||
glcm_dissimilarity | ✔ | ✔ | |
glcm_energy | ✔ | ||
glcm_entropy | ✔ | ✔ | |
glcm_homogeneity1 | ✔ | ✔ | Renamed to ‘glcm_honogeneity’ |
glcm_homogeneity2 | ✔ | ||
glcm_IDMN | ✔ | ||
glcm_IDN | ✔ | ||
glcm_inverseVariance | ✔ | ||
glcm_maxProb | ✔ | ||
glcm_sumAverage | ✔ | ✔ | Renamed to ‘glcm_SA’ |
glcm_sumEntropy | ✔ | ||
glcm_sumVariance | ✔ | ||
glcm_ASM | ✔ |
Add additional tests and fixed a few bugs.
Replaced raster
, sf
, and rgeos
dependencies with terra
and sf
.
Performance improvements for glcm
. Tests indicate it’s now running 2.7x faster than before.
Removed glcm_img
. If you would like to generate GLCM statistics for a single, unsegmented image, simply use glcm
without a segs
argument.
Removed sp_summarise
. Other packages offered better, more flexible options for summarizing tree-level information by geographical units. If you thought this tool was useful and would like me to restore it, please let me know.
Behaviour change for gclm
: images are now discretized BEFORE segmentation. Note that this will impact the results returned by the function.
Added glcm_img
to allow GLCM statistics to be computed for an entire unsegmented image.
The radiomics
package is no longer maintained, so with permission from the author, Joel Carlson, I’ve integrated the code for computing GLCM statistics into this library
Added:
kootenayOrtho
, an orthographic image of the area covered by kootenayCHM
, kootenayTrees
and kootenayCrowns
New function:
glcm
, for computing textural metrics of a segmented canopy. Thanks to Jean-Romain Roussel for providing code for this function.BACKWARD INCOMPATIBILITY WARNING
Although this can cause backward compatibility issues, I felt it was necessary to rename the following functions:
TreetopFinder
-> vwf
(stands for Variable Window Filter)
SegmentCrowns
-> mcws
(stands for Marker-Controlled Watershed Segmentation)
SpatialStatistics
-> sp_summarise
Reasons for the changes are:
In addition, I’ve made the following changes to vwf
(formerly TreetopFinder
):
maxWinDiameter
argument to 99. Note that this value sets the maximum width in cells of the widest allowable window diameter. As explained in the documentation, this argument is to prevent the function from gobbling up too much memory, and can be disabled by setting to NULL.minWinNeib
argument.TileManager
package. Although I had put considerable effort into adding this feature initially, I’ve realized that A) no one was using it, B) it is preferable for the user to manage tiles him or herself instead of having them managed “under the hood” by the vwf
function. Let me know if you thought this feature was useful and perhaps I can write a vignette suggesting preferable ways to manage a tiled CHM.Modified ‘SegmentCrowns’ function so that it can produce tree crowns in polygon format. The function will also calculate crown area, and filter out crowns that are not associated with a treetop point location.
Changed name of ‘TreeTopSummary’ function to ‘SpatialStatistics’. This reflects its new functionality, which allows crown maps to be inputted as well as treetop locations.