pavo v2.5.0


Monthly downloads



Perceptual Analysis, Visualization and Organization of Spectral Colour Data

A cohesive framework for parsing, analyzing and organizing colour from spectral data.



cran version cran downloads R build status cran checks

An R package for the spectral and spatial analysis of color patterns

Currently maintained by Rafael Maia, Thomas White, and Hugo Gruson.


pavo is an R package developed with the goal of establishing a flexible and integrated workflow for working with spectral and spatial colour data. It includes functions that take advantage of new data classes to work seamlessly from importing raw spectra and images, to visualisation and analysis. It provides flexible ways to input spectral data from a variety of equipment manufacturers, process these data, extract variables, and produce publication-quality figures.

pavo was written with the following workflow in mind:

  • Organise data by importing and processing spectra and images (e.g., to remove noise, negative values, smooth curves, etc.).
  • Analyse the resulting files, using spectral analyses of shape (hue, saturation, brightness), visual models based on perceptual data, and/or spatial adjacency and boundary strength analyses.
  • Visualise the output, with multiple options provided for exploration, presentation, and analysis.

Need more information, or help with the package?

Citing pavo

The manuscript describing the current iteration of the package has been published and is free to access:

Maia R., Gruson H., Endler J.A., and White T.E. 2019 pavo 2: New tools for the spectral and spatial analysis of colour in R. Methods in Ecology and Evolution, 10(7):1097‑1107.


This is the development page for pavo. The stable release is available from CRAN. Simply use install.packages("pavo") to install.

If you want to install the bleeding edge version of pavo, you can:

# install.packages("remotes")
  • download files from GitHub and install using $R CMD INSTALL or, from within R:
install.packages(path, type = "source", repos = NULL)

Functions in pavo

Name Description
as.rimg Convert data to an rimg object
axistetra Plot reference axes in a static tetrahedral colourspace
as.rspec Convert data to an rspec object
categorical Categorical fly-visual model
aggspec Aggregate reflectance spectra
adjacent Run an adjacency and boundary strength analysis
bootcoldist Bootstrap colour distance confidence intervals
aggplot Plot aggregated reflectance spectra
catplot Plot the categorical colour vision model
bgandilum Default background and illuminant data
classify Identify colour classes in an image for adjacency analyses
coc Color opponent coding model
coldist2mat Convert coldist to distance matrix
img_conversion Convert images between class rimg and cimg or magick-image
colspace Model spectra in a colorspace
is.colspace Test if object is of class 'colspace'
hexplot Plot a colour hexagon
irrad2flux Converts between irradiance and photon (quantum) flux
coldist Colour distances
cocplot Plot the colour opponent coding diagram
find_astar Compute the value
explorespec Plot spectral curves
cie CIE colour spaces
diplot Plot a dichromat segment
plotsmooth Plot loess smoothed curves
plot.rspec Plot spectra
sicalis Spectral curves from three body regions of stripe-tailed yellow finch (Sicalis citrina) males
jndplot Perceptually-corrected chromaticity diagrams
jndrot Rotate Cartesian coordinates obtained from jnd2xyz()
sensdata Retrieve or plot in-built spectral sensitivity data
sensmodel Modeling spectral sensitivity
spec2rgb Spectrum to rgb colour conversion
cieplot CIE plot
flowers Reflectance spectra from a suite of native Australian flowers, collected around Cairns, Queensland.
getimg Import image data
tcsplot Interactive plot of a tetrahedral colourspace
vissyst Animal visual systems data
vol Plot a tetrahedral colour space
plot.colspace Plot spectra in a colourspace
points.colspace Plot points in a colourspace
getspec Import spectra files
plot.rimg Plot unprocessed or colour-classified images
hexagon Colour hexagon
dispace Dichromatic colour space
is.vismodel Test if object is of class 'vismodel'
legendtetra Add legend to a static tetrahedral colourspace
teal Angle-resolved reflectance data for the iridescent wing patch of a male green-winged teal (Anas carolinensis)
pavo-package pavo: Perceptual Analysis, Visualization and Organization of Spectral Colour Data
triplot Plot a Maxwell triangle
subset.rspec Subset rspec, vismodel, and colspace objects
summary.colspace Colourspace data summary
jnd2xyz Convert JND distances into perceptually-corrected Cartesian coordinates
ttvertex vertex for the tetrahedral color space
voloverlap Colour volume overlap
trispace Trichromatic colour space
procimg Process images
vismodel Visual models
merge.rspec Merge two rspec objects
segplot Plot the segment-analysis model
summary.rimg Image summary
segspace Segment classification
summary.rspec Colourimetric variables
tetraplot Plot a static tetrahedral colorspace
transmissiondata Default ocular transmission data
procspec Process spectra
summary.vismodel Visual model summary
peakshape Peak shape descriptors
projplot 2D projection of a tetrahedral colourspace
tcspace Tetrahedral colourspace
No Results!

Vignettes of pavo

No Results!

Last month downloads


License GPL (>= 2)
VignetteBuilder knitr
Encoding UTF-8
Language en-GB
RoxygenNote 7.1.1
Config/testthat/edition 3
NeedsCompilation no
Packaged 2020-11-11 23:17:02 UTC; twhite
Repository CRAN
Date/Publication 2020-11-12 09:00:02 UTC

Include our badge in your README