Skip to content

About

Point cloud processing for plant science research

Resources

Stars

3 stars

Watchers

1 watching

Forks

Latest commit

 

History

715 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phytograph

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.

Phytograph demo

📖 Full documentation & user guide: https://plantsimulationlab.github.io/Phytograph/

Phytograph runs on macOS (Apple Silicon and Intel), Windows 10/11, and Linux (x64, glibc 2.38 or newer). 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.


Download & install

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 (x64, glibc 2.38+) 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. If the app opens but reports that Windows blocked one of its components, see the install guide.

  • Linux — run it from a terminal: chmod +x Phytograph-x86_64.AppImage then ./Phytograph-x86_64.AppImage. Double-clicking often does nothing — GNOME Files and similar managers refuse to launch executables. (Also needs FUSE; on a minimal install use --appimage-extract-and-run.)

    Requires glibc 2.38 or newer — Ubuntu 23.10+ (24.04 LTS), Debian 13, Fedora 39+, or a current rolling release. Check yours with ldd --version. It does not run on Ubuntu 22.04 LTS, Debian 12, or RHEL/Rocky/Alma 8–9: the app window opens but the compute backend cannot start, and the log shows a loader error naming GLIBC_2.38. See the install guide.

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.

Updates

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.


What it does

  • Import LiDAR scans — drag and drop .las, .laz, .e57, .ptx, .ply, .pcd, or ASCII (.xyz, .txt, .csv, .pts, .asc, .ascii) point clouds into a 3D viewer that handles tens of millions of points. RIEGL .riproject and .PROJ scanner projects import directly, and an SBET trajectory places a moving-platform scan. Save the whole scene as a .phyto project.
  • Clean and prepare — transform, crop, erase, filter, resample, and cross-section a cloud, compute normals and new scalar fields, then backfill the sky/miss rays that leaf area density depends on.
  • Register and compare — auto-register rotated scans, refine with ICP, and stitch overlaps into one cloud, with cloud-to-mesh distance statistics (mean, median, percentiles, and coverage at fractions of the bounding-box diagonal).
  • Segment scans — classify ground with a cloth simulation filter, separate wood from leaf with a machine-learning model, split a terrestrial or airborne plot into individual trees, and label a herbaceous plant's soil, stem, and individual leaflets — then carry the labels through the rest of the pipeline.
  • Label points by hand — paint your own classes with a lasso or brush to correct a classifier or build ground truth, with per-class counts and undo.
  • Measure leaf angles — triangulate a leaf-on scan into leaf surfaces and read their orientations: inclination and azimuth distributions, canonical de Wit fits, and the G(θ) that leaf area density depends on. The same triangulation also reconstructs branch and canopy surfaces.
  • Extract skeletons — pull topological skeletons out of woody scans, with branch order colored by Strahler number and total length reported.
  • 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. Add leaves by phyllotaxis and match a measured leaf-angle distribution.
  • Run a tree inventory — turn a segmented plot into a tree list of stem position, DBH, stem curve, height, crown base, and crown size, summarize the stand (stems/ha, basal area, QMD, Lorey's height, canopy cover, biomass), and build a QSM for every tree in one run.
  • Measure leaf and branch area — invert overlapping scans into a voxel grid of leaf area density (m²/m³) with its vertical profile and LAI, and fit crown shapes (ellipsoid, prism, cone, alpha shape) for height and volume.
  • Model the terrain — grid classified ground returns into a bare-earth DEM/DTM, with hillshade, slope, and aspect layers, plus the top-of-canopy DSM and the canopy height model that comes from subtracting them.
  • Generate procedural plants — grow Helios plant models (trees, vines, cereals, vegetables, weeds) to a target age, then morph their parameters interactively.
  • Simulate a scan — place virtual scanners (static or moving-platform) around a plant and synthesize the point cloud they would produce, with full control over beam geometry.

See the User Guide and Workflows for task-by-task walkthroughs.


Building from source / contributing

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.

About

Point cloud processing for plant science research

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages