Toolbox to simulate colorimetric observers for evaluation of photoreceptor isolation
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
ConeContrastCalcs Removed orphan line Mar 31, 2018
ContrastSplatter Comment update. Jul 23, 2017
HemoglobinTransmittance Updates Jun 6, 2017
LightCalcs Moved lightcalcs out of SST folder Dec 4, 2017
Nomograms Updates Jun 6, 2017
PhotoreceptorSensitivity Debug field size generalization code. Jul 20, 2018
ReceptorIsolate Add L-M direction to demo Aug 10, 2018
.gitignore Added gitignore Jan 15, 2015
CheckSSTInstalled.m Updates Sep 8, 2017
Contents.m Updates Jun 6, 2017 Update May 15, 2018

Silent Substitution Toolbox

1. Description

MATLAB toolbox to compute estimates of human photoreceptor spectral sensitivities, compute silent substitution spectral modulations for a variety of devices (including standard monitors and devices with many narrowband primaries), and to estimate the normal variation of photoreceptor spectral sensitivities and how much contrast splatter a given modulation can be expected to produce on nominally silenced photoreceptors.

2. License

This software is licensed under the license specified in (MIT License). The code may be used freely. Using it to compute robust modulations by silencing multiple photoreceptor classes is covered by a U.S. Patent Application (United States Patent Application 14/852001, "ROBUST TARGETING OF PHOTOSENSITIVE MOLECULES", 09/11/2015) and is subject to licensing.

3. Developers

This software is developed by:

4. Citing

If you use this code in support of work in a published paper, please cite us:

  • Spitschan M, Aguirre GK, Brainard DH (2015) Selective Stimulation of Penumbral Cones Reveals Perception in the Shadow of Retinal Blood Vessels. PLoS ONE 10(4): e0124328. doi: 10.1371/journal.pone.0124328

5. Dependencies and pre-requisites

The Silent Substitution Toolbox relies on functions from Psychtoolbox-3 and the Brainard Lab Toolbox. These dependencies can be obtained manually and put on the path. Alternatively, they can be obtained using ToolboxToolbox (TbTb). Once TbTb is installed, simply run:


To check if the requirements are fullfilled, run the function:


It will check if the required toolboxes are on the path and yell at you if they're not.

6. Use

For an overview of the functions contained within this toolbox, please look at Contents.m.

7. Version history

  • v1.2.1 (April 24, 2017)
  • v1.2 (January 15, 2017)
  • v1.1 (January 29, 2015)
  • v1.0 (December 14, 2014)

7. Questions, Feedback?

Please open an issue on the GitHub page for this toolbox. For other questions, email Manuel Spitschan.