LiDAR metric sets by publication¶
- class pyForMetrix.metricCalculators.publications.MCalc_Hollaus_et_al_2009(height_bins_upper=numpy.array)¶
Metric calculation class
Calculate metrics following Hollaus et al. (2009): Growing stock estimation for alpine forests in Austria: a robust lidar-based approach.
https://doi.org/10.1139/X09-042
See Table 3 in the paper and
__call__()for more information.- Parameters:
height_bins_upper – a
numpy.ndarraydefining the upper limits for the height bin classes
- __call__(points_in_poly, CHM_pixel_size=1)¶
Calculate the metrics
- Parameters:
points_in_poly –
dictthat contains a key points, pointing to anumpy.ndarrayof shape (n,3)CHM_pixel_size – the pixel size for the canopy height model calculation
- Returns:
relative count of first echoes in each canopy height class
- Return type:
- class pyForMetrix.metricCalculators.publications.MCalc_White_et_al_2015¶
Metric calculation class
Calculate metrics following White et al. (2015): Comparing ALS and Image-Based Point Cloud Metrics and Modelled Forest Inventory Attributes in a Complex Coastal Forest Environment
https://doi.org/10.3390/f6103704
See Table 6 in the paper and
__call__()for more information.- __call__(points_in_poly, rumple_pixel_size=1)¶
Calculate the metrics
- Parameters:
points_in_poly –
dictthat contains a key points, pointing to anumpy.ndarrayof shape (n,3)rumple_pixel_size – pixel size used for rumple index calculation
- Returns:
Hmean
CoV
Skewness
Kurtosis
P10
P90
CCmean
Rumple
- Return type:
- class pyForMetrix.metricCalculators.publications.MCalc_Woods_et_al_2009(percentiles=numpy.array, density_percentiles=numpy.array)¶
Metric calculation class
Calculate metrics following Woods et al. (2009): Predicting forest stand variables from LiDAR data in the Great Lakes – St. Lawrence forest of Ontario
https://doi.org/10.5558/tfc84827-6
See Section “LIDAR based predictors” in the paper and
__call__()for more information.- Parameters:
percentiles – a
numpy.ndarraywith values between 0 and 100, representing the percentiles to be calculateddensity_percentiles – a
numpy.ndarraywith values between 0 and 100, representing the height percentiles for which densities are calculated
- __call__(points_in_poly: dict)¶
Calculate the metrics
- Parameters:
points_in_poly –
dictthat contains keys points, echo_number and classification. Each of the keys points to a numpy.ndarray with n entries (3xn for points),- Returns:
Statistical metrics (h_mean, h_stddev, h_absdev, h_skew, h_kurtosis)
Canopy height metrics (default: p10, p20, p30, p40, p50, p60, p70, p80, p90, p100)
Density metrics (default: d10, d20, d30, d40, d50, d60, d70, d80, d90) (The proportion of points above the height percentiles, Shen et al., 2018: https://doi.org/10.3390/rs10111729)
Fraction of first returns
Fraction of first returns in the vegetation class
- Return type:
- class pyForMetrix.metricCalculators.publications.MCalc_Xu_et_al_2019(percentiles=numpy.array, density_percentiles=numpy.array)¶
Metric calculation class
Calculate metrics following Xu et al. (2019): Estimation of secondary forest parameters by integrating image and point cloud-based metrics acquired from unmanned aerial vehicle
https://doi.org/10.1117/1.JRS.14.022204
See Table 3 in the paper and
__call__()for more information.- Parameters:
percentiles – a
numpy.ndarraywith values between 0 and 100, representing the percentiles to be calculateddensity_percentiles – a
numpy.ndarraywith values between 0 and 100, representing the height percentiles for which densities are calculated
- __call__(points_in_poly)¶
Calculate the metrics
- Parameters:
points_in_poly – points_in_poly:
dictthat contains a key points, pointing to anumpy.ndarrayof shape (n,3)- Returns:
Height percentiles (p10, p25, p30, p40, p60, p75, p85, p90)
Density metrics (d10, d25, d30, d40, d60, d75, d85, d90)
(The proportion of points above the height percentiles, Shen et al., 2018: https://doi.org/10.3390/rs10111729)
Height variation metrics (h_mean, h_max, h_min, h_cv)
- Return type:
LiDAR metric sets by type¶
- class pyForMetrix.metricCalculators.types.MCalc_CoverMetrics¶
- class pyForMetrix.metricCalculators.types.MCalc_DensityMetrics(density_percentiles=numpy.array)¶
- class pyForMetrix.metricCalculators.types.MCalc_EchoMetrics¶
- class pyForMetrix.metricCalculators.types.MCalc_HeightMetrics(percentiles=numpy.array)¶
- class pyForMetrix.metricCalculators.types.MCalc_VarianceMetrics¶
- class pyForMetrix.metricCalculators.types.MCalc_VisMetrics¶
Calculate metrics for visualisation of the point cloud data
- Parameters:
points – np.array of shape (n, 3) with points in a single compute unit – normalized height required
progressbar – multiprocessing queue object to push updates to or None
- Returns:
np.array of shape (2, ) with metrics: <br /> - Total number of points <br /> - Max. height model (CHM) <br /> - Number of unique strips at location <br />
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_HOME¶
- __call__(points)¶
Call self as a function.
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_Lmoments¶
- __call__(points)¶
Call self as a function.
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_basic¶
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_canopydensity(num_groups: int = 10)¶
- __call__(points)¶
Call self as a function.
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_dispersion¶
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_echo¶
- __call__(points)¶
Call self as a function.
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_interval(intervals=numpy.array)¶
- __call__(points)¶
Call self as a function.
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_kde¶
- __call__(points, bw=2)¶
Call self as a function.
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_lad¶
Following http://doi.org/10.1016/j.rse.2014.10.004
- __call__(points, dz=1)¶
Call self as a function.
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_percabove(p_above=numpy.array)¶
- class pyForMetrix.metricCalculators.types.MCalc_lidRmetrics_percentiles(percentiles=numpy.array)¶