CTTKmodel {colourvision}R Documentation

Chittka (1992) colour vision model


Chittka (1992) colour hexagon extended to animals with any number of photoreceptors types.


CTTKmodel(photo=ncol(C)-1, R, I, Rb, C,
          interpolate=TRUE, nm=seq(300,700,1))



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.


Reflectance of observed objects. A data frame with first column corresponding to wavelength values and following columns with reflectance values. R must be in the same scale as Rb (percentage or proportion).


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.


Background reflectance. A data frame with two columns only: first column corresponding to wavelength values and second column with reflectance values. Rb must be in the same scale as R (percentage or proportion).


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).


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


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


The original model is available for trichromatic animals only. Thery and Casas (2002) derived a version for tetrachromatic animals which is implemented here. In colourvision, this model was extended to any number of photoreceptors types (Gawryszewski 2018; see also Pike 2012). The colour hexagon in Chittka (1992) has a vector of length = 1.0 The chromaticity coordinates in colourvision preserve the same vector length.

Photoreceptor outputs (Ei) are calculated by:

Ei = qi/(qi+1)

where qi is given by Qr.

Then, for trichromatic vision, coordinates in the colour space are found by (Chittka 1992):

X1 = (sqrt(3)/2)*(E3-E1)

X2 = E2-0.5*(E1+E3)

For tetrachromatic vision (Thery and Casas 2002):

X1 = ((sqrt(3)*sqrt(2))/3)*(E3-E4)

X2 = E1-(1/3)*(E2+E3+E4)

X3 = (2*sqrt(2)/3)*(0.5*(E3+E4)-E2)

For a pentachromatic animal following the same vector length:

X1 = (5/(2*sqrt(2)*sqrt(5)))*(E2-E1)

X2 = (5*sqrt(2)/(2*sqrt(3)*sqrt(5)))*(E3-(E1+E2)/2)

X3 = (5*sqrt(3)/(4*sqrt(5)))*(E4-(E1+E2+E3)/3)

X4 = E5-(E1+E2+E3+E4)/4



Photoreceptor photon catch values after the von Kries transformation (see function Qr).


Photoreceptor output values. Values can vary from 0 to 1.


Coordinates in the colour space.


Euclidean distance to the origin of the colour space. It represents the conspicuousness of the stimulus (R) in relation to the background (Rb).


Felipe M. Gawryszewski f.gawry@gmail.com


Chittka, L. 1992. The colour hexagon: a chromaticity diagram based on photoreceptor excitations as a generalized representation of colour opponency. J Comp Physiol A 170:533-543.

Gawryszewski, F.M. 2018. Colour vision models: Some simulations, a general n-dimensional model, and the colourvision R package. Ecology and Evolution, 10.1002/ece3.4288.

Pike, T.W. 2012. Generalised chromaticity diagrams for animals with n-chromatic colour vision. Journal of Insect Behavior 255: 277-286.

Thery, M., and J. Casas. 2002. Predator and prey views of spider camouflage. Nature 415:133-133.

See Also

CTTKhexagon, CTTKhexagon3D, photor, RNLmodel, EMmodel, deltaS


##Photoreceptor sensitivity curves
##with lambda max at 350nm, 450nm and 550nm:

## Grey background
## with 10 percent reflectance from 300 to 700nm:
Rb <- data.frame(300:700, rep(10, length(300:700)))

## Read CIE D65 standard illuminant

## Reflectance data
## with a sigmoid spectrum and midpoint at 500nm
R<-logistic(x=seq(300,700,1), x0=500, L=50, k=0.04)

## Run model 
model<-CTTKmodel(photo=3, R=R, I=D65,
    Rb=Rb, C=C)

[Package colourvision version 2.0.3 Index]