Learn R Programming

colourvision (version 2.1.0)

RNLthres: Colour thresholds based on the Receptor Noise Limited Model (Vorobyev & Osorio 1998).

Description

Colour thresholds based on receptor noise for any number of photoreceptor types (Vorobyev & Osorio 1998).

Usage

RNLthres(photo=ncol(C)-1, Rb, I, C, noise=TRUE, v=NA, n=NA, e=NA,
         interpolate=TRUE, nm=seq(300,700,1))

Value

A data.frame with the following columns:

nm

Wavelength in nm.

T

Colour threshold value.

S

Log of sensitivity value (inverse of threshold).

Arguments

photo

Number of photoreceptor types. Model accepts any number of photoreceptor types (>=2). For instance, dichromatic: photo=2; trichromatic: photo=3; tetrachromatic: photo=4, etc. Default gets number of photoreceptor types from C argument.

Rb

Background reflectance. A data frame with two columns only: first column corresponding to wavelength values and second column with reflectance values.

I

Irradiance spectrum. A data frame with two columns only: first column corresponding to wavelength values and second column with irradiance values. Irradiance values must be in quantum flux units.

C

Photoreceptor sensitivity curves, from lowest to longest lambda-max. A data frame: first column corresponding to wavelength values and following columns with photoreceptor sensitivity values (see function photor).

noise

Logical. Whether receptor noise is provided (noise = TRUE) or calculated from photoreceptor relative abundances (noise = FALSE).

e

Receptor noise of each photoreceptor type. Used when noise = TRUE

n

Relative number of each photoreceptor type in the retina. Usually increases with lambda-max. Used to calculate e when noise = FALSE.

v

Noise-to-signal ratio of a single photoreceptor. Used to calculate e when noise = FALSE.

interpolate

Whether data files should be interpolated before further calculations. See approx.

nm

A sequence of numeric values specifying where interpolation is to take place. See approx.

Author

Felipe M. Gawryszewski f.gawry@gmail.com

Details

Colour thresholds based on receptor noise limited model as in Vorobyev and Osorio (1998). In lack of a direct measurement, receptor noise (\(e_i\)) can be estimated by the relative abundance of photoreceptor types in the retina, and a measurement of a single photoreceptor noise-to-signal ratio: $$e_i=\frac{\nu}{\sqrt{\eta _i}}$$ where \(\nu\) is the noise-to-signal ratio of a single photoreceptor, and \(\eta\) is the relative abundance of photoreceptor i in the retina. Alternatively, noise may be dependent of the intensity, but this possibility is not implement in colourvision yet. Noise dependent of intensity usually holds for low light conditions only (Vorobyev et al. 1998).

References

Vorobyev, M., and D. Osorio. 1998. Receptor noise as a determinant of colour thresholds. Proceedings of the Royal Society B 265:351-358.

See Also

photor, RNLmodel

Examples

Run this code
###Bee photoreceptors normalized to max=1.
data("bee")
C<-bee
C[,2]<-C[,2]/max(C[,2])
C[,3]<-C[,3]/max(C[,3])
C[,4]<-C[,4]/max(C[,4])

##Grey background:
Rb <- data.frame(300:700, rep(0.1, length(300:700)))

## CIE D65 illuminant:
data("D65")

#Thresholds
thres<-RNLthres(photo=3, Rb=Rb, I=D65, C=C,
       noise=TRUE, e = c(0.13, 0.06, 0.12))

plot(thres)     

Run the code above in your browser using DataLab