← DISPATCHES
SCIENCENovember 3, 2025

Reading the Stand: Composition Analysis with TreeLearn

A LiDAR point cloud contains more information than most people know how to ask it. TreeLearn is our pipeline for asking.

DR. MATEO VARGAS

A raw point cloud of an old-growth stand is 2 to 4 billion three-dimensional coordinate measurements. It is, in the strictest sense, a complete record of the physical geometry of the forest at the moment of capture — every branch, every boulder, every fern. The problem is that it doesn't come labelled. There is no annotation in the .laz file that says "this cluster of points is a 400-year Douglas fir, diameter 172 centimetres, regenerating from a 1962 blowdown event." The geometry is there. The interpretation is not.

TreeLearn is the pipeline we use to produce that interpretation.

What TreeLearn Does

At its core, TreeLearn is an instance segmentation model trained on annotated point cloud data from BC coastal forest. Given a normalized point cloud with ground points removed, it segments individual trees — identifying which points belong to which stem — and classifies them by species using geometric features: crown shape, bark texture, branching angle, trunk taper profile.

The output is a per-tree record: a unique identifier, an estimated species, an estimated DBH derived from a fitted cylinder to the stem-height interval, an estimated height from ground to highest associated point, and a crown projection area. For a 1,000-acre block scan, TreeLearn typically produces individual records for 8,000 to 40,000 trees, depending on stand density and point cloud resolution.

From those records we compute stand-level statistics: basal area per hectare, species composition by basal area and by stem count, old-growth indicator density (large-diameter trees ≥ 100 cm DBH per hectare), snag density, canopy height distribution. These are the numbers that translate a visual record into a form that can enter a proceeding.

The Composition Map

The tree-level data feeds a spatial composition map: a rasterized representation of the block divided into 25 × 25 meter grid cells, with composition statistics attributed to each cell. The map makes stand heterogeneity visible in a way that aggregate statistics cannot.

Old-growth stands on BC's coast are not uniform. A 3,000-acre block might contain cathedral-canopy Douglas fir stands at one elevation, dense hemlock-cedar slopes on wet north-facing aspects, and transitional second-growth fringes near the block boundary where earlier disturbance is evident. The composition map reveals this patchwork — which is important both scientifically (heterogeneity is itself an old-growth indicator) and legally (the location of old-growth structure relative to proposed cutblock boundaries matters in licence review proceedings).

What It Doesn't Do

TreeLearn is a tool for first-pass stand characterization, not a replacement for ecological survey. It does not detect fungi. It does not identify epiphyte communities. It does not age trees from LiDAR geometry alone — diameter is a proxy for age in stable stands, but stress, competition, and site conditions create wide variation. It classifies species with high accuracy on well-represented taxa — Douglas fir, Sitka spruce, western redcedar, western hemlock — and lower accuracy on less common species with less training data.

The composition analysis is most powerful in combination with field corroboration. Where TreeLearn identifies high concentrations of large-diameter trees in a specific grid cell, we direct physical survey effort — DBH tape, increment borers — to that area. The model tells us where to look. The field work tells us what we've found.

That combination — automated analysis at scale, physical measurement at the sites it flags — is faster and more defensible than either approach alone.

← ALL DISPATCHESPARTNER WITH US →