Showing posts with label Daltonize. Show all posts
Showing posts with label Daltonize. Show all posts

Monday, May 10, 2010

LMS Daltonization Algorithm

Implementations:
  1. Matlab code from Analysis of Color Blindness
  2. Python code from AccessibleMoin
  3. Javascript code from Daltonize.org
  4. PixelBender code from Daltonize.org
Composed of four primary steps:
  1. Conversion of RGB coordinates into LMS, a color space suitable for calculating color blindness as it's represented by the three types of cones of the human eye, named after their sensitivity at wavelengths; Long (564–580nm), Medium (534–545nm) and Short (420–440nm). 

  2. Simulation of color blindness by reducing the colors along a dichromatic confusion line, the line parallel to the axis of the missing photoreceptor, to a single color.

  3. Compensation for color blindness by shifting wavelengths away from the portion of the spectrum invisible to the dichromat, towards the visible portion.

  4. Conversion of LMS coordinates back into RGB using the inverse of the RGB->LMS matrix.
LMS daltonization evolution:
  1. Analysis of Color Blindness
    Describes how to compensate for color-blindness by calculating the difference of the simulation, and then applying an error modification matrix.

  2. Intelligent modification for the daltonization process of digitized paintings
    Describes how to improve the error modification matrix by modifying it to be adaptive to each image; increasing CPU usage and providing better results.

  3. Intelligent Modification of Colors in Digitized Paintings for Enhancing the Visual Perception of Color-blind Viewers
    Optimizes the previous, reducing computational time through the use of color quantization, and caching.