R build status GPLv3 License GitHub tag (latest by date)

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:


You can install the rTLS using the CRAN platform following


or using the development version in github following (recommended)


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.


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