Arbor: The Complete R Tutorial Book
From Semantic Segmentation to Quantitative Structure Modelling
Recent book update
- 2026-09-17: Added details on trees excluded by the
qsf()function. It was unclear to users whyqsf()does not compute QSMs for all trees. See section 8 Quantitative Structure Forest. - 2026-09-08: Added section 6.4 Common mistakes that introduces v1.1.0 over-segmentation solver.
Preface
In less than 10 minutes, on a laptop, Arbor turns 2500 m² of raw forest point cloud into a 3D model of every tree it contains. This book presents Arbor, the open source workflow developed by r-lidar inc for processing mobile laser scanning point clouds, from raw data to QSM (Quantitative Structure Models).
Arbor is a production-grade C++ library for large-scale processing of forest mobile laser scanning data, with an R package API. It introduces a new generation of algorithms for tree segmentation and modeling, enabling the processing of hectares of data within minutes and significantly advancing forest point-cloud analysis.
In this book the reader will find an in-depth explanation of the pipeline, how it works, and how to use it in R. By reading this book, the reader will gain insight into the internal workings of the pipeline as well as a step-by-step tutorial on how to use it effectively.
What do we mean by production-grade?
To be considered production-grade, a pipeline must:
- Work under leaf-on conditions.
- Be fast: practitioners should obtain valuable outputs within minutes of computation. Slow workflows do not scale to real inventories.
- Be parameterless: software with an overwhelming number of parameters is impractical. It should work out of the box without adjustment.
- Be easy to install: a production-grade tool should be straightforward to install for everyone.
In addition the internal algorithm follows a classical, rule-based approach rather than a learning-based one. It does not use deep learning, AI models, or training data. Consequently, it does not depend on the characteristics of a particular training dataset and can be applied directly to new datasets without retraining.
To demonstrate the performance of the pipeline, the following sections present a gallery of outputs produced by Arbor.
Showcase
Petawawa Research Forest
75 seconds end-to-end on a laptop. 900 m².
Ontario
1 minute end-to-end on a laptop. 900 m².
Québec - Oak Plantation
8 minutes end-to-end on a laptop. 3,000 m².
Tropical Rain Forest
15 minutes end-to-end on a laptop. 5,000 m².
QSM Showcase
Other instance segmentation
Installation
Arbor is an R package and can be installed just like any other R package.
install.packages('arbor', repos = c('https://r-lidar.r-universe.dev', 'https://cloud.r-project.org'))Minimum Requirements
Laptop with at least 32 GB of RAM and 6 cores:
This workflow is computationally demanding and requires significant memory. On a laptop with 32 GB of RAM, it is possible to process 5,000–6,000 m² in one batch smoothly. Beyond that, the RAM capacity may be exceeded.High-quality data:
The point cloud must be collected using a state-of-the-art walking pattern to ensure proper SLAM alignment and homogeneous sampling. Trees should be scanned from all sides, not just one. Following established best practices will ensure optimal results.Reasonably low noise levels:
Mobile laser scanners naturally produce A LOT of noise, and that’s perfectly fine. However, we occasionally encounter datasets where the noise level is stratospheric, to the point of being unusable. While we understand that not everyone can afford top-tier sensors, there is a reasonable limit. The point cloud should look clean and well-defined, which is achievable even without the most expensive equipment (see 2.2 Point Cloud Quality).Operating System:
Linux or Windows. R packages built under MacOS don’t support parallelization withOpenMP. Without parallelization Arbor will be much slower. We do not recommend using Arbor on a Mac.
Economic Model
Arbor is free and open source. At r-lidar, we don’t believe in locking users behind black boxes. Everybody should be able to figure out how a software is working under the hood. However, free does not mean it’s free to produce. We still have real-world bills to pay. To keep the lights on while keeping our code open, we’ve built our business around a value-driven model:
- Consulting, training, and workshops: Sharing expert knowledge to help users integrate the technology effectively.
- Custom paid development: Building specific features or optimizations tailored to individual client needs.
- Donations to sponsor open source tools: Relying on the community and partners to fund the ongoing maintenance of the projects.
- R&D for Universities & Companies: We partner with academic institutions and private firms on research projects, helping turn theoretical lidar concepts into functional, open-source realities.
Contributors
While Arbor has been developed independently by r-lidar inc., we would like to thank contributors who placed their trust in our economic model.
- Natural Resources Canada (Bastien Vandendaele), who had early access to Arbor prior to its release, performed initial testing, identified bugs, and shared valuable improvement ideas, literature, and expertise regarding MLS, TLS and practitioners needs. He also conducted an independent validation study: Vandendaele et al. 2026 (in prep)
- AMAP-Lab (Olivier Martin; Nicolas Barbier) Contributed financially through IRD funding and One Forest Vision (OFVi) project towards several improvements in Arbor as well as ongoing R&D on tropical rainforest data
- Ministère des Ressources naturelles et des Forêts du Québec contributed financially to improving Arbor’s computational efficiency prior to its public release by requesting a large-scale inventory project (5 ha, 15,000 QSMs). This was made as part of a project funded by the Ministère de l’Environnement, de la Lutte contre les changements climatiques, de la Faune et des Parcs (Plan pour une économie verte 2030, project no. 112959356, led by Julie Godbout).
- Ontario Forestry Futures Trust-Knowledge Transfer and Tool Development (KTTD) funded project with Murray Woods and Margaret Penner who shared early validation data to help test Arbor during its early versions.
- Natural Sciences and Engineering Research Council of Canada (NSERC) Alliance Program ALLRP 566938-21 to Osvaldo Valeria (UQAT): “Suivi et modélisation de la croissance des forêts issues des perturbations à partir du LiDAR aéroporté”); with the collaboration of U Sherbrooke (Richard Fournier), UQAC (Yan Boucher) and (CERFO); Cégep de Baie-Comeau; the Ministère des Forêts, de la Faune et des Parcs; Produits forestiers Résolu inc.; and Chantiers Chibougamau Ltée. contributed financially to the open source release of Arbor by providing the necessary funding to finalize the Arbor’s R API, this documentation and the practitioner oriented tools.






