A desktop application for measuring, comparing, and modeling plant architecture from LiDAR scans — built for plant scientists who work with point clouds, meshes, and procedural plant models.
📖 Full documentation & user guide: https://plantsimulationlab.github.io/Phytograph/
Phytograph runs on macOS (Apple Silicon and Intel), Windows 10/11, and Linux (x64). It ships as a single self-contained app with its own embedded scientific Python environment — you don't need to install Python, Conda, or anything else.
Get the latest installer from the Releases page:
| Platform | Download |
|---|---|
| macOS (Apple Silicon — M1/M2/M3/M4) | Phytograph-arm64.dmg |
| macOS (Intel) | Phytograph-x64.dmg |
| Windows 10/11 | Phytograph-Setup.exe |
| Linux (most distros) | Phytograph-x86_64.AppImage |
- macOS — open the
.dmg, drag Phytograph into Applications, and launch it. The build is signed and notarized by Apple, so it opens with a normal double-click. - Windows — run the installer. If SmartScreen warns you, choose More info → Run anyway.
- Linux —
chmod +x Phytograph-x86_64.AppImageand run it. (Needs FUSE; on a minimal install use--appimage-extract-and-run.)
The first launch takes about 30 seconds while the bundled Python environment unpacks itself; subsequent launches are instant.
Full step-by-step install instructions (including first-launch notes for each OS) are in the Install guide.
Phytograph checks for updates on launch and can also be updated on demand via Check for Updates… — in the Phytograph app menu on macOS, or under Help on Windows and Linux. When a newer release is available it downloads and installs in place — no need to return here to re-download.
- Import LiDAR scans — drag and drop
.las,.laz,.xyz,.ply,.e57, or.csvpoint clouds into a 3D viewer that handles tens of millions of points. - Reconstruct meshes — triangulate point clouds with Delaunay, Ball Pivot, or Poisson, or run multi-scan Helios triangulation for branch surfaces from terrestrial LiDAR.
- Extract skeletons — pull topological skeletons out of woody scans, with branch order colored by Strahler number.
- Build QSMs — reconstruct dormant trees as connected cylinders with fitted radii, segment continuous shoots, and classify them by shoot rank, with woody volume, trunk diameter, and per-rank metrics.
- Segment ground, leaf/wood, and individual trees.
- Generate terrain surfaces — rasterize a DEM/DTM (bare earth), DSM (top-of-canopy), and CHM (canopy height model) from a point cloud.
- Measure leaf angle distribution — plot the area-weighted leaf inclination and azimuth of a reconstructed canopy, with canonical de Wit distribution fits.
- Estimate leaf area density from single- or multi-return scans.
- Generate procedural plants — grow Helios plant models (trees, vines, cereals, vegetables) to a target age, then morph their parameters interactively.
- Register and compare — cloud-to-cloud, mesh-to-mesh, and cloud-to-mesh ICP with RMSE, plus cloud-to-mesh distance statistics (mean / median / percentiles and the share of points within 1 / 5 / 10 mm).
- Simulate a scan — place virtual scanners (static or moving-platform) around a plant and synthesize the point cloud they would produce.
See the User Guide and Workflows for task-by-task walkthroughs.
The instructions above are for using Phytograph. If you want to build it from source, run a development instance, or contribute, see the Developer documentation, which covers the setup and dev loop, the architecture, and the release process.
Phytograph is developed at the Bailey Lab at UC Davis. Its procedural plant generation and scan-simulation features are powered by the Helios plant-modeling framework.