Skip to content
This repository was archived by the owner on Feb 16, 2026. It is now read-only.

petteriTeikari/silentSubstitution

Repository files navigation

silentSubstitution

Silent substitution wavelength optimization for photoreceptor separability -- simulate how illuminant bandwidth affects selective photoreceptor modulation.

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#E8F4FD', 'primaryBorderColor': '#7BA7C9', 'primaryTextColor': '#2C3E50', 'secondaryColor': '#FDF2E9', 'secondaryBorderColor': '#D4A574', 'secondaryTextColor': '#2C3E50', 'tertiaryColor': '#EAFAF1', 'tertiaryBorderColor': '#82C9A1', 'tertiaryTextColor': '#2C3E50', 'lineColor': '#5D6D7E', 'textColor': '#2C3E50', 'background': '#FFFFFF', 'mainBkg': '#E8F4FD', 'nodeBorder': '#7BA7C9', 'clusterBkg': '#F8F9FA', 'clusterBorder': '#BDC3C7', 'fontSize': '14px'}}}%%
graph LR
    A[Target Photoreceptor<br/>modulated]:::input --> B[Optimal Wavelengths]
    B --> C[Other Receptors<br/>held constant]
    C --> D[Separability Index]:::output

    classDef input fill:#FDF2E9,stroke:#D4A574
    classDef output fill:#EAFAF1,stroke:#82C9A1
Loading

Overview

Silent substitution is an experimental technique that selectively modulates one photoreceptor class while keeping all others at a constant excitation level. This MATLAB toolkit computes pairwise ratio spectra and modulation depths across different illuminant bandwidths (1 nm, 10 nm, 25 nm FWHM) to help researchers identify optimal wavelength configurations for their silent substitution experiments.

The toolkit generates pairwise separability surfaces for all six relevant spectral sensitivity functions (S-cone, M-cone, L-cone, rod, melanopsin, and V(lambda)) and quantifies how narrowband versus broadband light sources affect achievable photoreceptor isolation.

Key Features

  • Ratio spectra computation -- pairwise spectral ratios for all 15 photoreceptor pairs from 6 sensitivity functions
  • Bandwidth simulation -- compare separability with 1 nm (interference filter), 10 nm (narrowband), and 25 nm (typical LED) half-bandwidths
  • Modulation depth analysis -- quantify achievable contrast for each photoreceptor under different illuminant configurations
  • Separation surfaces -- 3D visualization of pairwise photoreceptor separability across wavelength space
  • Photoreception tools -- bundled submodule with nomogram generation and ocular media filtering

Quick Start

git clone --recurse-submodules https://github.com/petteriTeikari/silentSubstitution

In MATLAB:

% Generate separation surfaces and modulation depth plots
plot_separation_surfaces

Project Structure

silentSubstitution/
├── plot_separation_surfaces.m  # Main entry point
├── set_paths.m                 # Path configuration
├── subfunctions/               # Helper functions for spectral computation
├── photoreception_tools/       # Submodule: nomogram and ocular media utilities
└── figures_out/                # Generated figures (ratio spectra, modulation depths)

Citation

If you use this software in your research, please cite:

@software{teikari2018silentsubstitution,
  author = {Teikari, Petteri},
  title  = {{silentSubstitution}: Wavelength Optimization for Photoreceptor Separability},
  year   = {2018},
  url    = {https://github.com/petteriTeikari/silentSubstitution}
}

License

MIT License. See LICENSE for details.

About

Silent substitution wavelength optimization — simulating photoreceptor separability for narrowband and broadband light sources

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages