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

Description Usage Arguments Author(s) References See Also Examples

View source: R/STARbar.R

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
STARbar(object, ...)

## S3 method for class 'plant3dlist'
STARbar(object, quiet = FALSE, ...)

## S3 method for class 'plant3d'
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.

Author(s)

Remko Duursma

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## 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)

YplantQMC documentation built on May 29, 2017, 7:02 p.m.

Related to STARbar in YplantQMC...