Learn R Programming

pavo (version 1.0.0)

vismodel: Visual Models

Description

Calculates quantum catches at each photoreceptor. Both raw and relative values can be returned, for use in a suite of colorspace and non-colorspace models.

Usage

vismodel(rspecdata, visual = c("avg.uv", "avg.v", "bluetit", "star", "pfowl", "apis", "canis", "cie2", "cie10", "musca"), achromatic = c("bt.dc", "ch.dc", "st.dc", "ml", "l", "md.r1", "none"), illum = c("ideal", "bluesky", "D65", "forestshade"), trans = c("ideal", "bluetit", "blackbird"), qcatch = c("Qi", "fi", "Ei"), bkg = c("ideal", "green"), vonkries = FALSE, scale = 1, relative = TRUE)

Arguments

rspecdata
(required) a data frame, possibly an object of class rspec that has wavelength range in the first column, named 'wl', and spectral measurements in the remaining columns.
visual
the visual system to be used. Options are:
  • a data frame such as one produced containing by sensmodel, containing sensitivity for the user-defined visual system. The data frame must contain a 'wl' column with the range of wavelengths included, and the sensitivity for each other cone as a column.
  • avg.uv: average avian UV system.
  • avg.v: average avian V system.
  • bluetit: Blue tit Cyanistes caeruleus visual system.
  • star: Starling Sturnus vulgaris visual system.
  • pfowl: Peafowl Pavo cristatus visual system.
  • apis: Honeybee Apis mellifera visual system.
  • canis: Canid Canis familiaris visual system.
  • musca: Housefly Musca domestica visual system.
  • cie2: 2-degree colour matching functions for CIE models of human colour vision. Functions are linear transformations of the 2-degree cone fundamentals of Stockman & Sharpe (2000), as ratified by the CIE (2006).
  • cie10: 10-degree colour matching functions for CIE models of human colour vision. Functions are linear transformations of the 10-degree cone fundamentals of Stockman & Sharpe (2000), as ratified by the CIE (2006).
achromatic
the sensitivity data to be used to calculate luminance (achromatic) cone stimulation. Either a vector containing the sensitivity for a single receptor, or one of the options:
  • bt.dc: Blue tit Cyanistes caeruleus double cone
  • ch.dc: Chicken Gallus gallus double cone
  • st.dc: Starling Sturnus vulgaris double cone
  • md.r1: Housefly Musca domestica R1-6 photoreceptor
  • ml: sum of the two longest-wavelength photoreceptors
  • l: the longest-wavelength photoreceptor
  • none
illum
either a vector containing the illuminant, or one of the options:
  • ideal: homogeneous illuminance of 1 accross wavelengths (default)
  • 'bluesky' open blue sky.
  • 'D65': standard daylight.
  • 'forestshade' forest shade.
trans
either a vector containing the ocular or environmental transmission spectra, or one of the options:
  • ideal: homogeneous transmission of 1 accross all wavelengths (default)
  • 'bluetit': blue tit Cyanistes caeruleus ocular transmission (from Hart et al. 2000).
  • 'blackbird': blackbird Turdus merula ocular transmission (from Hart et al. 2000).
qcatch
Which quantal catch metric to return. Options are:
  • Qi: Quantum catch for each photoreceptor
  • fi: Quantum catch according to Fechner law (the signal of the receptor channel is proportional to the logarithm of the quantum catch)
  • Ei: Hyperbolic-transformed quantum catch, where Ei = Qi / (Qi + 1).
bkg
either a vector containing the background spectra, or one of the options:
  • ideal: homogeneous illuminance of 1 accross all wavelengths (default).
  • 'green': green foliage.
vonkries
logical. Should the von Kries color correction transformation be applied? (defaults to FALSE).
scale
a value by which the illuminant will be multiplied. Useful for when the illuminant is a relative value (i.e. transformed to a maximum of 1 or to a percentage), and does not correspond to quantum flux units ($umol*s^-1*m^-2$). Useful values are, for example, 500 (for dim light) and 10000 (for bright illumination). Note that if vonkries = TRUE this transformation has no effect.
relative
should relative quantum catches be returned (i.e. is it a color space model? Defaults to TRUE).

Value

An object of class vismodel containing the photon catches for each of the photoreceptors considered. Information on the parameters used in the calculation are also stored and can be called using the summary.vismodel function.

References

Vorobyev, M., Osorio, D., Bennett, A., Marshall, N., & Cuthill, I. (1998). Tetrachromacy, oil droplets and bird plumage colours. Journal Of Comparative Physiology A-Neuroethology Sensory Neural And Behavioral Physiology, 183(5), 621-633.

Hart, N. S., Partridge, J. C., Cuthill, I. C., Bennett, A. T. D. (2000). Visual pigments, oil droplets, ocular media and cone photoreceptor distribution in two species of passerine bird: the blue tit (Parus caeruleus L.) and the blackbird (Turdus merula L.). Journal of Comparative Physiology A, 186, 375-387.

Hart, N. S. (2001). The visual ecology of avian photoreceptors. Progress In Retinal And Eye Research, 20(5), 675-703.

Stoddard, M. C., & Prum, R. O. (2008). Evolution of avian plumage color in a tetrahedral color space: A phylogenetic analysis of new world buntings. The American Naturalist, 171(6), 755-776.

Endler, J. A., & Mielke, P. (2005). Comparing entire colour patterns as birds see them. Biological Journal Of The Linnean Society, 86(4), 405-431.

Chittka L. (1992). The colour hexagon: a chromaticity diagram based on photoreceptor excitations as a generalized representation of colour opponency. Journal of Comparative Physiology A, 170(5), 533-543.

Stockman, A., & Sharpe, L. T. (2000). Spectral sensitivities of the middle- and long-wavelength sensitive cones derived from measurements in observers of known genotype. Vision Research, 40, 1711-1737.

CIE (2006). Fundamental chromaticity diagram with physiological axes. Parts 1 and 2. Technical Report 170-1. Vienna: Central Bureau of the Commission Internationale de l' Eclairage.

Examples

Run this code
## Not run: 
# # Dichromat (dingo)
# data(flowers)
# vis.flowers <- vismodel(flowers, visual = 'canis')
# di.flowers <- colspace(vis.flowers, space = 'di')
# 
# # Trichromat (honeybee)
# data(flowers)
# vis.flowers <- vismodel(flowers, visual = 'apis')
# tri.flowers <- colspace(vis.flowers, space = 'tri')
# 
# # Tetrachromat (blue tit)
# data(sicalis)
# vis.sicalis <- vismodel(sicalis, visual = 'bluetit')
# tcs.sicalis <- colspace(vis.sicalis, space = 'tcs')
# ## End(Not run)

Run the code above in your browser using DataLab