Learn R Programming

YplantQMC (version 0.6-6)

STARbar: Calculate displayed and projected leaf areas of a 3D plant

Description

From a 3D plant, calculates the area of all leaves facing the viewing angle (from a given azimuth and altitude), or 'projected area', and the area of the leaves that is visible ('displayed area'). By default, repeats calculations from many viewing angles to estimate the hemi-spherically averaged STAR.

This function calculates the displayed area (DA) and projected area (PA) of the entire plant, either over some specified viewing angle(s), or (by default) the hemispherically average values. From these averages, the average STAR is estimated (see Duursma et al. 2012).

The summary.plant3d function also calculates STARbar, if calcSTARbar=TRUE is set.

There are four methods for the calculation of the displayed and projected area from a given viewing angle:

gridtracer
A regular grid is placed over the projected plant. Displayed area is calculated from the number of intersecting grid points, and the grid size. The argument npside sets the number of grid points on the shorter side of the projected plant. Slow for large plants, but good estimates are still obtained with low values of npside.
exact
A polygon method to calculate the exact displayed area. Useful for testing, but very slow.
QuasiMC
Runs QuasiMC over the entire hemisphere - the QuasiMC model does the averaging. Relatively slow for small plants, but fast for large plants.
slowquasimc
Do not use this method (for testing only). Runs QuasiMC once per viewing angle, then averages the results. Painfully slow.

There are three integration methods. Note that if method = "QuasiMC", the integration method is ignored.

Turtlesky
Integrates over 58 points, that are placed approx. uniformly over the hemisphere.

Yplant
Integrates over 160 angles, distributed over the hemisphere as in the original Yplant. Weighing is applied over these angles to yield the average STAR.
Turtle244
As Turtlesky, but uses 244 points (slow method).

Usage

STARbar(object, ...)
"STARbar"(object, quiet = FALSE, ...)
"STARbar"(object, method = c("gridtracer", "exact", "QuasiMC", "slowquasimc"), integration = c("Turtlesky", "Yplant", "Turtle244"), progressbar = TRUE, returnldr = FALSE, quiet = FALSE, npside = 25, silhouette = TRUE, azimuth = NA, altitude = NA, ...)

Arguments

object
An object of class 'plant3d', see constructplant
quiet
If TRUE, prints no progress to the screen.
method
The method to calculate the displayed area. See Details.
integration
The integration method to calculate the average STAR over the hemisphere. See Details.
progressbar
If TRUE (default), displays a graphical progress bar.
returnldr
If TRUE, returns a dataframe with results per viewing angle.
npside
For method = "gridtracer", the number of grid cells per side for raytracing.
silhouette
If TRUE, also calculates the 2D convex hull around the projected plant (see Silhouette).
azimuth, altitude
Azimuth and altitude of the viewing direction (Optional, in Radians).
...
Further arguments are ignored, for now.

References

Duursma, R.A., D.S. Falster, F. Valladares, F.J. Sterck, R.W. Pearcy, C.H. Lusk, K.M. Sendall, M. Nordenstahl, N.C. Houter, B.J. Atwell, N. Kelly, J.W.G. Kelly, M. Liberloo, D.T. Tissue, B.E. Medlyn and D.S. Ellsworth. 2012. Light interception efficiency explained by two simple variables: a test using a diversity of small- to medium-sized woody plants. New Phytologist. 193:397-408.

See Also

projectplant,constructplant,Silhouette, summary.plant3d

Examples

Run this code

## Not run: 
# # Get STARbar for the built-in Toona plant:
# # (Settings are fast, not accurate)
# STARbar(toona, method="gridtracer", npside=15)
# 
# # For exact STAR, use:
# STARbar(toona, method="exact")
# 
# # To produce an LDR file (as in the original Yplant), use:
# clidstar <- STARbar(toona, method="gridtracer", npside=30, integration="Yplant", returnldr=T)
# write.table(clidstar$ldr, "toona.LDR")
# ## End(Not run)


Run the code above in your browser using DataLab