Plant models¶
A plant model is a procedurally generated plant produced by the Helios plant-modeling engine. Unlike a scanned plant — which is a static snapshot of one individual — a plant model is parametric: you can change its age, species, position, growth parameters, and regenerate the geometry.
When you'd use one¶
- Method comparison — generate a "ground truth" plant with known geometry, simulate a scan of it, then test how well your reconstruction recovers the truth.
- Growth studies — render the same plant at multiple ages without collecting multi-temporal scans.
- Sensitivity analysis — morph one parameter (insertion angle, internode length) and observe the effect on derived metrics.
- Synthetic data generation — produce many labeled plants for training ML models.
Available species¶
Phytograph exposes the species library that ships with Helios, grouped into:
- Trees — almond, apple, walnut, pistachio, olive, citrus, and others
- Vines — grapevine
- Cereals — wheat, rice, maize
- Vegetables — tomato, lettuce, strawberry
- Weeds — various
The exact list updates with the bundled Helios version. Pick from the species dropdown in the Generate Plant popup.
How generation works¶
When you click Generate Plant, Phytograph:
- Initializes the model at age 0.
- Advances it day by day to the target age.
- Returns the final mesh — stems, branches, leaves, optionally fruit.
Leaves and bark are rendered with the species' textures from the Helios plant library, with leaf silhouettes cut out by the image's transparency; untextured organs use their organ colors. See Meshes: Textures.
The same growth machinery is exposed live via the Age slider in the Plant panel, so you can scrub through development after generation.
Canopies¶
A canopy is a regularly spaced grid of plants of the same species and age — a synthetic crop stand or orchard block. Rather than placing plants one at a time, you specify a center, the spacing between plants in X and Y, and the number of columns and rows; Phytograph builds the whole grid in a single pass. A germination rate below 1.0 randomly leaves grid positions empty, mimicking a real stand with missing plants.
The entire canopy is returned as one merged mesh (a single object in the scene), which is convenient for whole-stand operations like simulating a LiDAR scan over the plot. See Generate a canopy.
Morphing a generated plant¶
Every plant exposes a set of morphable parameters:
- Geometry parameters (internode length, insertion angle, girth factor, …)
- Geometry scale (leaf scale, petiole length and radius, internode radius)
- Distribution parameters (some values are distributions, not scalars — uniform, normal, or constant)
Editing these and clicking Regrow rebuilds the plant with the new parameters at the current age. See Morph a plant.
What you can do with a plant model¶
| Operation | Where |
|---|---|
| Change the age | Plant panel → Age slider |
| Change a parameter | Morph popup |
| Simulate a scan of it | Add a Scan location, then run Synthetic LiDAR Scan |
| Save a parameter preset | Morph popup → Export parameters |
| Load a parameter preset | Morph popup → Import JSON |
| Export the mesh | Standard mesh export |