Learn R Programming

⚠️There's a newer version (0.2.5.6) of this package.Take me there.

rTLS

This is an R package to that compiles a series of tools to process and calculate metrics on point clouds derived from Terrestrial Laser Scanners (TLS), also know as Terrestrial-Light Detection and Ranging (T-LiDAR).

Originally, rTLS started as a hobby by J. Antonio Guzman Q. (antguz06@gmail.com) at the University of Alberta. It compiles several functions that students at the Centre for Earth Observation Sciences use to process their point cloud of vegetation. Due to its constant use, it was decided to formalize its routines as an R package. This was done under the supervision of Dr. Arturo Sanchez (arturo.sanchez@ualberta.ca) and the supreme help of Ronny Hernandez (ronny.hernandezm@gmail.com).

rTLS goal is to provide a single environment to process point clouds as fast as it can be done. That it is why the rTLS coding has been evolving using different packages. The current code has been enhanced using C++ language through Rcpp and RcppArmadillo packages, and most of the time-consuming processed can be run using for parallel computing through OpenMP. In the future, if there is a faster way to run our main routines, we will probably change our code!

The current development of rTLS is focused on five major processes applied on TLS scans: i) voxelization, ii) point neighborhood features, iii) filtering, and iv) optimal voxel and entropy, and iv) estimation of the forest structure. Likewise, the package also contains other functions that can be used to mange point clouds such as 2D- 3D-rotation, conversion to cardinal-polar coordinates, and functions to estimate tree metrics such as truck volume or crown area.


Major features include:

  • Support for major platforms: Windows, Linux, macOS.

  • Fast computation using parallel processing options.

  • Fast voxelization using grid base methods.

  • Applications of voxel-counting methods.

  • Fast estimation of geometry features of the neighboring points using two approach:

    • radius search.
    • k-nearest neighbors.
  • Estimation of canopy structure using single point hemispherical scanning

  • Filtering of point clouds using:

    • Statistical Outlier Removal (SOR)
    • Minimum of neighbors
    • Nearest point to voxel center
  • Line AABB tracing path (ray-tracing)

  • Estimation of tree metrics:

    • DBH using RANSAC fitting
    • Crown area using convex hull
  • And many more!


Installation

You can install the rTLS using the CRAN platform following (pending)

install.packages("rTLS")

or using the development version in github following (recommended)

remotes::install_github("Antguz/rTLS")

if you have problems also try

devtools::install_github("Antguz/rTLS", INSTALL_opts= c("--no-multiarch"))

Most common problems for installation comes from rgl package. If required, try to install rgl first and then rTLS.


Usage

Take a look to the vignettes were we provide details for the use and potential applications of our functions.

Copy Link

Version

Install

install.packages('rTLS')

Monthly Downloads

15

Version

0.2.3

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

J. Antonio Guzm<c3><a1>n Q.

Last Published

March 16th, 2021

Functions in rTLS (0.2.3)

line_AABB

Line-AABB
plot_voxels

Plot Method for Voxels
knn

K Nearest Neighbors
geometry_features

Geometry features of Neighboring Points.
voxels_counting

Voxels Counting
filter

Filtering of Point Clouds
trunk_volume

Tree Trunk Volume
pc_tree

A Tree Point Cloud
voxels

Voxelization of a Point Cloud
canopy_structure

Canopy Structure
euclidean_distance

Euclidean Distance Between 3D points
rotate2D

Rotate a plane of coordinates
radius_search

Radius Search of Points
circleRANSAC

Adaptive RANSAC Circle Fitting
TLS_scan

A TLS scan
artificial_stand

Artificial Forest Stand
polar_to_cartesian

Polar to Cartesian Coordinates
rotate3D

Rotate a Point Cloud
cartesian_to_polar

Cartesian to Polar Coordinates
rTLS-package

rTLS: Tools to Process Point Clouds Derived From Terrestrial Laser Scanning
stand_counting

Stand Counting
tree_metrics

Tree Metrics
summary_voxels

Voxels Summary
lines_interception

Intersection of Lines by AABBs
min_distance

Minimum Distance Between Points