tag:blogger.com,1999:blog-32144289707233931662024-03-28T04:34:25.250-07:00Daltonize.orgMichaelhttp://www.blogger.com/profile/04587306156021387333noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-3214428970723393166.post-58114242207444783752010-05-18T11:53:00.000-07:002010-05-18T22:25:15.718-07:00There is not just one color blindnessWhen people hear about color blindness they usually relate it to the term red-green color blindness, which is interpreted as 'not being able to distinguish the colors red and green'. Unfortunately this is misleading and merely describes the most common form of color vision deficiency.<br />
<br />
In 1798, John Dalton (of atomic theory fame) was the first known scientist to describe color blindness in detail, as he discovered to be colorblind himself [1]. After studying his color vision, comparing his results with his brother, who was also colorblind, and talking to other colorblind people which he found during his research, he put together a list of <i>Characteristic Facts of our Vision</i> (by our he refers to the group of colorblind people including himself and his brother). This list includes the following points:<br />
<blockquote style="font-style: italic;">1. In the solar spectrum three colors appear, yellow, blue, and purple. [...]<br />
2. Pink appears, by day-light, to be sky-blue a little faded, [...]<br />
5. There is not much difference in color between a stick of red sealing wax and grass, by day.</blockquote>John Dalton was suffering from deuteranopia [2] - one specific form of red-green color blindness - and his findings already show us, that this is not only about having troubles with the colors red and green but affects the whole color spectrum.<br />
<br />
During the 19th century many scientists such as Young, Helmholtz, Maxwell, and Wilson became interested in the topic of color vision and color blindness. These scientists formed the fundamental research paving the way to our understanding of the perception and misperception of colors. In 1855 Maxwell wrote in a letter to Wilson: <i>"The mathematical expression of the difference between colour-blind and ordinary vision is that colour to the former is a function of two independent variables, but to an ordinary eye, of three; [...] If we find two combinations of colours which appear identical to a colour-blind person, and mark their positions on the triangle of colours, then the straight line passing through these points will pass through all points corresponding to other colours, which, to such a person, appear identical with the first two. We may in the same way find other lines passing through the series of colours which appear alike to the colour-blind. All these lines either pass through one point or are parallel, according to the standard colours which we have assumed, and the other arbitrary assumptions we may have made."</i> [3]<br />
<br />
<b>Color vision</b><br />
<br />
In order to understand the source of the different types of color vision deficiency, it is important to understand how our color vision works. The human eye consists of approximately seven million cone cells and one hundred twenty million rod cells. Cone cells are responsible for color vision and function best in high levels of illumination; this is the reason color vision is absent at night. Rod cells function in low levels of illumination, and play a secondary role in color vision as they can only distinguish between lightness and darkness.<br />
<br />
The average person has three types of cone cells, referred to as <i>trichromacy</i>, which differ in their peak sensitivity along the color spectrum. Long-wave sensitive cones have a maximum absorbance at 560nm, medium-wave sensitive cones at 530nm and short-wave sensitive cones at 420nm. These wavelengths are very close to the the primary colors red, green and blue and therefore are often referred to by those three colors [4].<br />
<br />
Mixing the input of those three types of cones makes up our entire visible color spectrum. With this knowledge it is easy to understand that someone with more than three types of cones would have an increased perception of color; an example being <i>tetrachromacy</i> with four cone types. Whereas, on the other side, if there is a problem with one of those cone types or if one is missing the perceived variety of colors can be reduced dramatically.<br />
<br />
<div style="float: right; margin: 0pt 0pt 10px 10px; width: 290px;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZdriYfxgDmhVK4qkVnK_ybRkkUzvtVP7sBKANRYO1RN56i12yJHYDsXdv-9Oc4m6Fur-AnuUjnTOG2YpyJRRR3GdMKhVAQo65uRIGAncTJsvc2JKBA0P3XGjVEigGcmzyua2w_4Nd-s0/s1600/MacAdams+Ellipses.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="MacAdams Ellipses" border="0" id="BLOGGER_PHOTO_ID_5472689272082830130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZdriYfxgDmhVK4qkVnK_ybRkkUzvtVP7sBKANRYO1RN56i12yJHYDsXdv-9Oc4m6Fur-AnuUjnTOG2YpyJRRR3GdMKhVAQo65uRIGAncTJsvc2JKBA0P3XGjVEigGcmzyua2w_4Nd-s0/s320/MacAdams+Ellipses.png" style="cursor: pointer; height: 320px; width: 290px;" /></a><br />
<div style="font-size: 0.9em; font-style: italic;">Diagram 1: MacAdam ellipses in the CIE 1931 chromaticity diagram.</div></div>Even people with normal color vision, or <i>tetrachromacy</i> for that matter, cannot distinguish differences within the entire color spectrum. This is important to understand as otherwise even people with no defect could be classified as colorblind.<br />
<br />
In the 1940s MacAdam conducted a series of tests and introduced the discrimination ellipses, also known as MacAdam ellipses (see Diagram 1), into the CIE 1931 chromaticity diagram [5]. Every ellipse encloses colors which cannot be discriminated at the same level of luminance. These ellipses provide the tolerance limits for color specification and color reproduction. MacAdam estimated that a <i>trichromat</i> can distinguish about seventeen thousand unique colors at each level of luminance, or about three million perceivable colors overall.<br />
<br />
<span style="font-weight: bold;">Color vision deficiency</span><br />
<br />
With the theory of color vision in the backpack, understanding the different types of color blindness is one step away. As our color vision is based on the three types of cones - red, green, and blue - a slight shift of the maximal sensitivity of one of those three types of cones results in less possible color mixtures, and reduction of the perceived color spectrum. This form of color blindness is an abnormality of the normal <span style="font-style: italic;">trichromatic</span> color vision and referred to as <span style="font-style: italic;">anomalous trichromacy</span>.<br />
<br />
If one cone type is missing completely there are only two receptors left to mix the perceived range of colors, resulting in a dramatic reduction of the amount of visible colors; this type of color vision deficiency is called <span style="font-style: italic;">dichromacy</span>.<br />
<br />
If we keep removing cones we end up in forms of color blindness where two or even all are missing. In this case the term 'color blindness' is really correct, as only shades of gray or slight hints of colors can be seen. This complete form of color blindness is called <span style="font-style: italic;">monochromacy</span> and is accompanied by a severe light sensitivity as only rods are used to retrieve visual information.<br />
<br />
<iframe frameborder="0" height="220" src="http://spreadsheets.google.com/pub?key=t9bpk5tl3v2nE3lgDwv1JEQ&single=true&gid=0&range=A1%3AE5&output=html&widget=false" width="700"></iframe><br />
<div style="font-size: 0.9em; font-style: italic;">Table 1: Classification of congential color vision deficiency [6]</div><br />
Table 1 shows the various types of color vision deficiencies. As there are three unique cone types, and each type can have a shifted peak of sensitivity or be missing completely, <span style="font-style: italic;">dichromats</span> and <span style="font-style: italic;">anomalous trichromats</span> are further subdivided into protans (defective long-wave red cones), deutans (defective medium-wave green cones), and tritans (defective short-wave blue cones).<br />
<br />
Protan and deutan defects are the most common forms and often grouped together into one description known as red-green color blindness. The reason for this is they share similar areas of color confusion in the red/green portion of the spectrum. By far the most common type is <span style="font-style: italic;">deuteranomalous trichromatism</span> of which around 5% of men are tested for positively. Other forms cannot easily be measured as they are rarely observed.<br />
<br />
<div style="float: left; margin: 5px 0pt 10px; width: 420px;"><iframe frameborder="0" height="155" src="http://spreadsheets.google.com/pub?key=t0myzdrTeBRovl4nTV5j7gA&single=true&gid=0&range=A1%3AC6&output=html&widget=false" width="420"></iframe><br />
<div style="font-size: 0.9em; font-style: italic;">Table 2: Prevalence of different types of red-green color blindness [6]</div></div>The difference between prevalence rates among men and women is based on the fact that every form of red-green color blindness is a sex linked recessive trait. This means that women are often carrying a defective X chromosome but do not show any sign of deficiency, as the normal X chromosome acts dominantly.<br />
<br />
<span style="font-weight: bold;">Confusion lines and dichromatic convergence points</span><br />
<br />
Dalton described his color blindness to be affecting the entire color spectrum. Pitt estimated in 1935 that the number of distinguishable spectral hues can be as low as 17 when suffering from deuteranopia, compared to about 150 in normal color vision [7]. Maxwell also thought about lines of color confusion for certain color spaces as early as 1855.<br />
<br />
Today, we know that confusion lines, or <span style="font-style: italic;">dichromatic isochromatic lines</span>, exist and converge at a single point for each type of color vision deficiency [8]. Colors represented along such a line are perceived as identical if no luminance contrast is present. The same lines are also true for the corresponding types of <span style="font-style: italic;">anomalous trichromatism</span>, whereas the confusion zone is shorter and the full range of chromaticities is not included. These confusion lines are often represented in the CIE 1931 color space.<br />
<br />
The CIE chromaticity coordiantes (x/y) for each type of color vision deficiency are as follows:<br />
<ul><li>Protanopia (0.7465, 0.2535)</li>
<li>Deuteranopia (1.4, -0.4)</li>
<li>Tritanopia (0.1748, 0.0)</li>
</ul><div style="display: block; margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnd1BcG28go4iNXysQ4ZgljYCx9ejJgwc0wHBHJGcFuwaylXzJGKDYyrtRJB9NPflAXxM371KgUsnJWzMLgIBs_1PTHW0dxwM1MnGNufNBDMPIRZYFZCr5tEz12fDwxqu_SsmeFJmQs3U/s1600/Protanopia+confusion+lines.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5472702440833757298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnd1BcG28go4iNXysQ4ZgljYCx9ejJgwc0wHBHJGcFuwaylXzJGKDYyrtRJB9NPflAXxM371KgUsnJWzMLgIBs_1PTHW0dxwM1MnGNufNBDMPIRZYFZCr5tEz12fDwxqu_SsmeFJmQs3U/s320/Protanopia+confusion+lines.jpg" style="cursor: pointer; width: 200px;" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSjmKQioFV4u3etp3c1mr3xQxmUAQLKrrVO7dqUML6GAN2QX4SwoSNy_aPEfjJl81zu6W0bbFmX3XnzWR-CSRHs60_t1W5TZhWjTvtU6q6zQ3-bPi0t6296SwYSdx8XlTnFdSJfgGH_oA/s1600/Deuteranopia+confusion+lines.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5472703987022351634" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSjmKQioFV4u3etp3c1mr3xQxmUAQLKrrVO7dqUML6GAN2QX4SwoSNy_aPEfjJl81zu6W0bbFmX3XnzWR-CSRHs60_t1W5TZhWjTvtU6q6zQ3-bPi0t6296SwYSdx8XlTnFdSJfgGH_oA/s320/Deuteranopia+confusion+lines.jpg" style="cursor: pointer; width: 200px;" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNpTWhMmZXFIr_-f06Fhqquk86_dy5oPvnTqf_LT4s8N3avpz4cgrT0jAxQ-HbSfetLQlBk4dVTrUcQRSV0WTYh62WA-jnNp-BpVQjzwa4eo9ZWU4UVn8GSEINR36y1Py8NZBoa7EG_tY/s1600/Tritanopia+confusion+lines.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5472704800724134626" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNpTWhMmZXFIr_-f06Fhqquk86_dy5oPvnTqf_LT4s8N3avpz4cgrT0jAxQ-HbSfetLQlBk4dVTrUcQRSV0WTYh62WA-jnNp-BpVQjzwa4eo9ZWU4UVn8GSEINR36y1Py8NZBoa7EG_tY/s320/Tritanopia+confusion+lines.jpg" style="cursor: pointer; width: 200px;" /></a><br />
<div style="font-size: 0.9em; font-style: italic;">Diagram 2: Protanopia, deuteranopia and tritanopia confusion lines in the CIE 1931 color space.</div></div>Confusion lines and dichromatic convergence points put color vision deficiency into a mathematical framework. For this reason this information is useful for many types of applications:<br />
<ul><li>Color blindness tests including pseudoisochromatic plate tests (also known as Ishihara plates), arrangement tests and modern computer based tests often use this data to calculate the type of color vision deficiency and severity.</li>
<li>Color blindness simulation algorithms make use of confusion lines by utilizing the fact that colors along these lines are perceived as identical to colorblind individuals. Using this knowledge, color blindness can be simulated by shifting the colors which are confused together along the lines of confusion to a single color.</li>
<li>Daltonization algorithms utilize confusion lines to compensate for color blindness. This is accomplished by shifting colors away from confusion lines towards colors visible to the colorblind individual. For example, daltonizing for protanopia involves shifting red values towards the blue end of the spectrum.</li>
</ul><b>References</b><br />
<ol><li>Dalton J. <i>Extraordinary facts relating to the vision of colours. </i>Memoirs of the Literary Philosophical Society of Manchester: 1798. 5:28-45.<br />
</li>
<li>Mollon JD, Dulai KS, Hunt DM. <i>Dalton’s colour blindness: an essay in molecular biography. </i>John Dalton’s Colour Vision Legacy. Selected proceedings of the international conference. Dickinson CM, Murray IJ and Carden D, Eds; Taylor and Francis Ltd 1997: 15-33.<br />
</li>
<li>Judd DB. <i>Fundamental Studies of Colour Vision from 1860 to 1960.</i> Mechanisms of Color Vision. Proc N A S: 1313-1330.<br />
</li>
<li>Dartnell HJA, Bowmaker JK, Mollon JD. <i>Human visual pigments: microspectrophotometric results form the eyes of seven persons.</i> Proc R Soc (Lond) B 220, 1983: 115-130.<br />
</li>
<li>MacAdam DL. <i>Visual sensitivities to colour differences in daylight. </i>J Opt Soc Amer 32, 1942: 247-274.<br />
</li>
<li>Birch J. <i>Diagnosis of Defective Colour Vision.</i> Oxford University Press, 2nd ed. 2001.<br />
</li>
<li>Pitt FHG. <i>Charateristics of Dichromatic Vision.</i> Medical Research Council Special Report Series no 200, HMSO, London, 1935.<br />
</li>
<li>Birch J. <i>Dichromatic convergence points obtained by subtractive colour matching. </i>Vision Res 13, 1972: 1755-1765.</li>
</ol>Danielhttp://www.blogger.com/profile/02566868285497902006noreply@blogger.com268tag:blogger.com,1999:blog-3214428970723393166.post-42643742796076640982010-05-13T01:08:00.000-07:002011-01-24T15:13:54.167-08:00Daltonize in Google Chrome<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN72LmSAybwf3CIxUfb_ERB7X1i17-U3HkgD7CHF9A4H9_HyS4NXBQnhMtyIiXFEIX-bUm1BZLa4bMLcBkBArrO8wvq5u8n_wezYRfx1bYvlDtP3cfck5mM_q6yVh_2PVfN9z1OlMZE10/s1600/google_chrome_logo.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN72LmSAybwf3CIxUfb_ERB7X1i17-U3HkgD7CHF9A4H9_HyS4NXBQnhMtyIiXFEIX-bUm1BZLa4bMLcBkBArrO8wvq5u8n_wezYRfx1bYvlDtP3cfck5mM_q6yVh_2PVfN9z1OlMZE10/s200/google_chrome_logo.jpg" width="200" /></a>Presenting <a href="https://chrome.google.com/extensions/detail/efeladnkafmoofnbagdbfaieabmejfcf?hl=en">Chrome Daltonize!</a> as one step towards solving the issue of color-accessibility on the Internet – a <a href="http://www.google.com/chrome">Google Chrome</a> extension enabling users to daltonize the image content of websites. Daltonization is a technique of exposing details to color-blind users, enabling them see what they otherwise would have missed.<br />
<br />
<b>Setting up Chrome Daltonize extension:</b><br />
<i></i><br />
<i>Color vision deficiency (default is Protanope)</i><br />
<blockquote>Select option that best describes you; Protanopic (malfunctioning red-cone), Deuteranopic (malfunctioning green-cone), or Tritanopic (malfunctioning blue-cone).</blockquote><i>Run at page load (default is false)</i><br />
<blockquote>By default, daltonization of a page is done by clicking on the browser-action button (it's the sphere icon) on the top-right corner of your browser. If you want to run daltonize by default every time a new page is loaded, check this box.</blockquote><i>Show speed results (default is false)</i><br />
<blockquote>If option is checked the amount of time it took to process the images is displayed, otherwise, the time is not displayed.</blockquote><b>Results of Chrome Daltonize on Ishihara test plates:</b><br />
<blockquote>The details in the following Ishihara #18 test plate [3] cannot be seen by a red-green dichromat, or can be partially seen, depending on the degree of the malfunctioning cone-cell. Using the LMS Daltonize algorithm [1, 2], and the CVD simulation algorithm, the following was created:</blockquote><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXxAcPTIqBN98-aZ7UbOmtrDY7-aXWzvhgwqJccVOM3x440G-SxNvQ2dMWsNm_b5y3hsLiI-B_mCEvVMhmhmSllaa1dyOeVwGXr80MK02nikUivyuRSsAty7QYWBdgYIlg0Q4D99y8m1A/s1600/protanope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="486" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXxAcPTIqBN98-aZ7UbOmtrDY7-aXWzvhgwqJccVOM3x440G-SxNvQ2dMWsNm_b5y3hsLiI-B_mCEvVMhmhmSllaa1dyOeVwGXr80MK02nikUivyuRSsAty7QYWBdgYIlg0Q4D99y8m1A/s640/protanope.png" width="477" /></a></div><div class="separator" style="clear: both; text-align: center;"></div><div style="text-align: left;"><b>References: </b></div><ol style="text-align: left;"><li>Françoise Viénot, Hans Brettel and John D. Mollon<br />
<b><a href="http://vision.psychol.cam.ac.uk/jdmollon/papers/colourmaps.pdf">Digital video colourmaps for checking the legibility of displays by dichromats</a></b> <i><br />
Color Research and Application, 24(4): 243-252</i>, 1999.<i> </i><br />
<br />
</li>
<li>Onur Fidaner, Poliang Lin and Nevran Ozguven.<br />
<b><a href="http://scien.stanford.edu/pages/labsite/2005/psych221/projects/05/ofidaner/colorblindness_project.htm">Analysis of Color Blindness</a></b><br />
<br />
</li>
<li>Les Daltoniens<br />
<b><a href="http://daltonien.free.fr/daltonien/article.php3?id_article=6">Le test d’Ishihara</a><span class="Apple-style-span" style="color: #073763;"> </span></b></li>
</ol>Michaelhttp://www.blogger.com/profile/04587306156021387333noreply@blogger.com381tag:blogger.com,1999:blog-3214428970723393166.post-21379806181199897282010-05-12T23:50:00.000-07:002014-09-18T18:09:32.655-07:00Color Vision with Javascript<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZDkEoNvNlbUiCT_BsGXthOzBPvI-QBNV5YXGxLI42M4f4NJE4MgAIDvRO3NgG1YEPKqNZTteSMbQoXgZE2wi81q5KPG1BpU4Ldx-bH1WpvRc3MyJkVk9K7p5YQelxTatYmoCInP65tPQ/s1600/javascript.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZDkEoNvNlbUiCT_BsGXthOzBPvI-QBNV5YXGxLI42M4f4NJE4MgAIDvRO3NgG1YEPKqNZTteSMbQoXgZE2wi81q5KPG1BpU4Ldx-bH1WpvRc3MyJkVk9K7p5YQelxTatYmoCInP65tPQ/s200/javascript.png" width="200" /></a>The Color Vision library for Javascript is composed of two parts; a color vision <a href="http://mudcu.be/labs/Color-Vision/Javascript/Color.Vision.Daltonize.js">daltonize.js</a> [1, 2] and <a href="http://mudcu.be/labs/Color-Vision/Javascript/Color.Vision.Simulate.js">simulate.js</a> [3, 4, 5]. These algorithms combined enable developers to target specific forms of color blindness from both sides of the spectrum.<br />
<br />
The following code is an example of using the Color Vision library to daltonize an image, exposing details to a protanope:<br />
<br />
Color.Vision.Daltonize(image, { <br />
type: "Protanope,<br />
callback: function(canvas) { <br />
document.body.appendChild(canvas);<br />
} <br />
});<br />
<br />
<a href="http://mudcu.be/labs/Color-Vision/Javascript/ColorVision.html?type=Protanope">Here are the results</a> on an Ishihara test plate [6]. <br />
<br />
<b>Color Blindness Simulation </b><br />
<br />
Gary W. Meyer and Donald P. Greenberg [3] present an algorithm to simulate the world through the eyes of dichromats. In this example, we simulate how a protanopic (red-cone missing) individual would perceive and image:<br />
<br />
Color.Vision.Simulate(image, { <br />
type: "Protanope",<br />
amount: 1.0,<br />
callback: function(canvas) { <br />
document.body.appendChild(canvas);<br />
}<br />
});<br />
<br />
One interesting thing about this algorithm is that it can be modified to match other forms of color blindness by modulating the confusion line coordinates. At this time, there is no online color vision tests that can provide measurements of an individuals confusion line, as such, one is left to creating fanciful psychedelic customalies:<br />
<br />
Color.Vision.Simulate(image, { <br />
type: "Custom",<br />
x: 0.7465,<br />
y: 0.2535,<br />
m: 1.273463,<br />
yint: -0.073894,<br />
amount: 1.0,<br />
callback: function(canvas) { <br />
document.body.appendChild(canvas);<br />
}<br />
});<br />
<br />
You can find the <a href="http://mudcu.be/labs/index.php?dir=Color-Vision/Javascript/">entire project</a> online.<br />
<br />
<div id="kernals" style="background-color: #d9ead3; margin-bottom: 10px; padding-left: 10px;"><b>Javascript</b></div><ul><li><a href="http://mudcu.be/labs/Color-Vision/Javascript/Color.Vision.Daltonize.js">Color.Vision.Daltonization.js</a></li>
<li><a href="http://mudcu.be/labs/Color-Vision/Javascript/Color.Vision.Simulate.js">Color.Vision.Simulation.js</a></li>
</ul><br />
<div style="background-color: #d9ead3; margin-bottom: 10px; padding-left: 10px;"><b>References</b></div><ol><li>Françoise Viénot, Hans Brettel and John D. Mollon<br />
<b><a href="http://vision.psychol.cam.ac.uk/jdmollon/papers/colourmaps.pdf">Digital video colourmaps for checking the legibility of displays by dichromats</a></b> <i><br />
Color Research and Application, 24(4): 243-252</i>, 1999.<br />
<br />
</li>
<li>Onur Fidaner, Poliang Lin and Nevran Ozguven.<br />
<b><a href="http://scien.stanford.edu/pages/labsite/2005/psych221/projects/05/ofidaner/colorblindness_project.htm">Analysis of Color Blindness<br />
</a></b><br />
</li>
<li>Gary W. Meyer and Donald P. Greenberg<br />
<b><a href="http://ieeexplore.ieee.org/iel1/38/408/00007759.pdf?arnumber=7759">Color-Defective Vision and Computer Graphics Displays</a></b><span style="color: black;"><br />
<i>IEEE Computer Graphics and Applications, 8(5): 28-40, 1988.<br />
</i></span><br />
</li>
<li>Vivianne C. Smith and Joel Pokorny<br />
<a href="http://linkinghub.elsevier.com/retrieve/pii/0042698975902035"><span style="font-weight: bold;">Spectral sensitivity of the foveal cone photopigments between 400 and 500 nm</span></a><br />
<i><i>Vision Research</i>,<i> 15(2): </i><i>161-171</i>,<i> 1975</i>.</i><b><br />
</b></li>
<li>Bruce Lindbloom<br />
<b><a href="http://www.brucelindbloom.com/WorkingSpaceInfo.html">RGB Working Space Information</a></b><br />
<br />
</li>
<li>Les Daltoniens<b><a href="http://daltonien.free.fr/daltonien/article.php3?id_article=6"><br />
Le test d’Ishihara</a><span class="Apple-style-span" style="color: #073763;"> </span></b><a href="http://www.brucelindbloom.com/WorkingSpaceInfo.html"><br />
</a></li>
</ol>Michaelhttp://www.blogger.com/profile/04587306156021387333noreply@blogger.com86tag:blogger.com,1999:blog-3214428970723393166.post-7653714051011617652010-05-12T15:03:00.000-07:002014-09-18T18:11:34.639-07:00Color Vision with Pixel Bender<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRvEaIBTl91CldbEt8Bgf37_hZFgm5aQFD6LCj2p0Rq_cKT_fVnXSiSFRPQ6FHNgvomQ8DFyunx-w9pCMJGU6H7Da4n7f7ErCUfktxZYQziuBarYMTG_Wk0qUMLtbSnj66JVTSQcGV6I8/s1600/pixel_bender_appicon_no_shadow.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRvEaIBTl91CldbEt8Bgf37_hZFgm5aQFD6LCj2p0Rq_cKT_fVnXSiSFRPQ6FHNgvomQ8DFyunx-w9pCMJGU6H7Da4n7f7ErCUfktxZYQziuBarYMTG_Wk0qUMLtbSnj66JVTSQcGV6I8/s200/pixel_bender_appicon_no_shadow.jpg" width="200" /></a></div>Pixel Bender is a powerful tool for image processing released by Adobe Systems as part of their CS4 product line — it's integrated into After Effects, Flash, and Photoshop. It's a fun, and straight-forward language to program with. <br />
<br />
The Color Vision library for Pixel Bender is composed of two parts; a color vision <a href="http://mudcu.be/labs/Color-Vision/PixelBender/ColorVision/Daltonize.pbk">daltonization kernel</a> [1, 2] and <a href="http://mudcu.be/labs/Color-Vision/PixelBender/ColorVision/Simulate.pbk">simulation kernel</a> [3, 4, 5]. These algorithms combined enable developers to target specific forms of color blindness from both sides of the spectrum.<br />
<br />
These kernels have multiple uses, one that interests me the most is plugging them into popular video hosting websites such as <a href="http://www.hulu.com/">Hulu</a>, <a href="http://vimeo.com/">Vimeo</a> and <a href="http://www.youtube.com/">Youtube</a>. The daltonization kernel, based on the <a href="http://www.daltonize.org/2010/05/lms-daltonization-algorithm.html">LMS daltonize algorithm</a>, could expose 5% of the population with dichromatic vision to details they would have otherwise missed. The simulation kernel, targeting the other 95% of the population, can be used to see what motion pictures look like through the eyes of the color blind. <br />
<br />
<div style="background-color: #d9ead3; margin-bottom: 10px; padding-left: 10px;"><b>Photoshop installation</b></div><ol><li>Install Photoshop's Pixel Bender plug-in (it's not built unless you're on CS5). You can find this plug-in at the <a href="http://www.adobe.com/devnet/pixelbender/">Pixel Bender Technology Center</a>. </li>
<li>Put the Pixel Bender .pbk filters you wish to install (see <a href="http://www.daltonize.org/2010/05/color-vision-library-for-pixelbender.html#kernals">Pixel Bender kernels</a>) into the ~/Adobe Photoshop CS4/Pixel Bender Files/ directory on your computer. </li>
<li>Open the "Filter" menu from within Photoshop and click on "Pixel Bender Gallery".</li>
</ol><div style="background-color: #d9ead3; margin-bottom: 10px; padding-left: 10px;"><b>After Effects installation</b></div><ol><li>Put the Pixel Bender .pbk filters you wish to install (see <a href="http://www.daltonize.org/2010/05/color-vision-library-for-pixelbender.html#kernals">Pixel Bender kernels</a>) into the ~/After Effects CS4/Plug-ins/Effects/ directory on your computer. </li>
<li>Open the "Effects" menu from within After Effects</li>
</ol><div style="background-color: #d9ead3; margin-bottom: 10px; padding-left: 10px;"><b>Flash Player embedding</b></div>The code to import Pixel Bender kernels into Flash Player can be found in <a href="http://mudcu.be/labs/Color-Vision/PixelBender/Main.as">Main.as</a>, <a href="http://mudcu.be/labs/Color-Vision/PixelBender/ColorVision/Daltonize.pbk">Daltonize.as</a> and <a href="http://mudcu.be/labs/Color-Vision/PixelBender/ColorVision/Simulate.as">Simulate.as</a>. The kernels must be compiled into .PBJ, which you can find in the <a href="http://mudcu.be/labs/index.php?dir=Color-Vision/PixelBender/ColorVision/">parent directory</a>.<br />
<br />
<div style="background-color: #d9ead3; margin-bottom: 10px; padding-left: 10px;"><b>Developers</b></div>If you're interested in messing around with the code behind these filters, download the <a href="http://www.adobe.com/devnet/pixelbender/">Pixel Bender Toolkit</a> to load the Pixel Bender .pbk filters included in this article. Another great place to start is the <a href="http://www.adobe.com/devnet/pixelbender/pdfs/pixelbender_guide.pdf">Pixel Bender's Developer Guide</a>.<br />
<br />
<div id="kernals" style="background-color: #d9ead3; margin-bottom: 10px; padding-left: 10px;"><b>Pixel Bender kernels</b></div><ul><li><a href="http://mudcu.be/labs/Color-Vision/PixelBender/ColorVision/Daltonize.pbk">Color-Vision/Daltonization.pbk</a></li>
<li><a href="http://mudcu.be/labs/Color-Vision/PixelBender/ColorVision/Simulate.pbk">Color-Vision/Simulation.pbk<br />
</a></li>
</ul><br />
<div style="background-color: #d9ead3; margin-bottom: 10px; padding-left: 10px;"><b>References</b></div><ol><li>Françoise Viénot, Hans Brettel and John D. Mollon<br />
<b><a href="http://vision.psychol.cam.ac.uk/jdmollon/papers/colourmaps.pdf">Digital video colourmaps for checking the legibility of displays by dichromats</a></b> <i><br />
Color Research and Application, 24(4): 243-252</i>, 1999.<br />
<br />
</li>
<li>Onur Fidaner, Poliang Lin and Nevran Ozguven.<br />
<b><a href="http://scien.stanford.edu/pages/labsite/2005/psych221/projects/05/ofidaner/colorblindness_project.htm">Analysis of Color Blindness<br />
</a></b><br />
</li>
<li>Gary W. Meyer and Donald P. Greenberg<br />
<b><a href="http://ieeexplore.ieee.org/iel1/38/408/00007759.pdf?arnumber=7759">Color-Defective Vision and Computer Graphics Displays</a></b><span style="color: black;"><br />
<i>IEEE Computer Graphics and Applications, 8(5): 28-40, 1988.<br />
</i></span><br />
</li>
<li>Vivianne C. Smith and Joel Pokorny<br />
<a href="http://linkinghub.elsevier.com/retrieve/pii/0042698975902035"><span style="font-weight: bold;">Spectral sensitivity of the foveal cone photopigments between 400 and 500 nm</span></a><br />
<i><i>Vision Research</i>,<i> 15(2): </i><i>161-171</i>,<i> 1975</i>.</i><b><br />
</b></li>
<li>Bruce Lindbloom<br />
<b><a href="http://www.brucelindbloom.com/WorkingSpaceInfo.html">RGB Working Space Information</a></b><b> </b></li>
</ol>Michaelhttp://www.blogger.com/profile/04587306156021387333noreply@blogger.com84tag:blogger.com,1999:blog-3214428970723393166.post-73472199370757521672010-05-10T22:47:00.000-07:002010-05-16T01:13:01.399-07:00Color Vision with ColorLookupTablesAny color correction can be expressed as a color look-up table (CLUT); a mechanism used in image processing to transform a range of input colors into output colors. There are 16,777,216 colors available in the standard RGB color space. One way of representing this data is to create an image containing 4096 x 4096 pixels — when arranged in a specific way, this image is called a Hald CLUT (see "Identity" for normal vision below). Hald CLUTs are supported by <a href="http://www.imagemagick.org/Usage/color/#hald-clut">ImageMagick</a>, and <a href="http://www.graphicsmagick.org/">GraphicsMagick</a>. Other possible uses would be to offload the data onto an <a href="http://en.wikipedia.org/wiki/Field-programmable_gate_array">FPGA</a> or an <a href="http://en.wikipedia.org/wiki/ICC_profile">ICC profile</a>, thereby filtering the entire display.<br />
<br />
The following images were created using Photoshop's <a href="http://www.adobe.com/devnet/pixelbender/">PixelBender plugin</a> and the <a href="http://www.daltonize.org/2010/05/color-vision-library-for-pixelbender.html">Color Vision Library</a>. Google Chrome, and Safari were both fast enough to process this data without timing out, unfortunately, they don't allow right-click to save the <canvas> as a PNG.<br />
<br />
<div class="" style="clear: both; text-align: center;"><b><span class="Apple-style-span" style="font-size: x-large;">Identity</span></b><br />
<span class="Apple-style-span" style="font-size: x-large;">Normal Vision</span></div><div class="" style="clear: both; text-align: center;"><b></b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXgcV2tXAc5tDLud2-iVDBD1yJr48-xa8a7mbgGQS-opd3wbUnpAue31_0qicMPSZCH-cQXG_2gRxIzks8qWMzUnt-sqwLMqyZorqwIxejgpTVINul7HmxV1b7i0GkLrL584lXUm0h6c4/s1600/Hald-Identity.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXgcV2tXAc5tDLud2-iVDBD1yJr48-xa8a7mbgGQS-opd3wbUnpAue31_0qicMPSZCH-cQXG_2gRxIzks8qWMzUnt-sqwLMqyZorqwIxejgpTVINul7HmxV1b7i0GkLrL584lXUm0h6c4/s400/Hald-Identity.png" width="400" /></a></div><br />
<div class="separator" style="clear: both; margin: 0px; text-align: center;"><b><span class="Apple-style-span" style="font-size: x-large;">Protanopia</span></b></div><div style="text-align: center;"><span class="Apple-style-span" style="font-size: x-large;">Simulate missing red-cone</span></div><div style="text-align: center;"><b><span class="Apple-style-span" style="font-weight: normal;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVQDLFo77E2g5ITxKTEc2AuQOZH-BslTXg0VbjorQMRxT3979dY5YxWbJuhyphenhyphenl5XtQidWWxTNjn7RKLGzI6JR0IyEYhCNBWRv6FYy3YlLV47umYn9ubiQVKb06Lbj00dvC8HhOc4_BC4Gk/s1600/Hald-Simulate-Protanope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVQDLFo77E2g5ITxKTEc2AuQOZH-BslTXg0VbjorQMRxT3979dY5YxWbJuhyphenhyphenl5XtQidWWxTNjn7RKLGzI6JR0IyEYhCNBWRv6FYy3YlLV47umYn9ubiQVKb06Lbj00dvC8HhOc4_BC4Gk/s400/Hald-Simulate-Protanope.png" width="400" /></a></span></b></div><div class="separator" style="clear: both; text-align: center;"><span class="Apple-style-span" style="font-size: x-large;">Daltonize</span><span class="Apple-style-span" style="font-size: x-large;"> missing red-cone</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh93cr1rpA7JK8DRdSm26p2Pujg-j2pPG19F-nQf9EQ5bo40gJgebrGdUpeA-FuFMiXgEe0xuvH3_T9sk6OTdCrNUnvp6BE0b0_CBqfhLudZ6VNKSpAmt6t-3qJy6FKdNx_Ve6evctHqhE/s1600/Hald-Daltonize-Protanope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh93cr1rpA7JK8DRdSm26p2Pujg-j2pPG19F-nQf9EQ5bo40gJgebrGdUpeA-FuFMiXgEe0xuvH3_T9sk6OTdCrNUnvp6BE0b0_CBqfhLudZ6VNKSpAmt6t-3qJy6FKdNx_Ve6evctHqhE/s400/Hald-Daltonize-Protanope.png" width="400" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh93cr1rpA7JK8DRdSm26p2Pujg-j2pPG19F-nQf9EQ5bo40gJgebrGdUpeA-FuFMiXgEe0xuvH3_T9sk6OTdCrNUnvp6BE0b0_CBqfhLudZ6VNKSpAmt6t-3qJy6FKdNx_Ve6evctHqhE/s1600/Hald-Daltonize-Protanope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><b><span class="Apple-style-span" style="font-size: x-large;">Deuteranopia</span></b></div><div class="separator" style="clear: both; text-align: center;"><span class="Apple-style-span" style="font-size: x-large;">Simulate</span><span class="Apple-style-span" style="font-size: x-large;"> missing green-cone</span></div><div class="separator" style="clear: both; text-align: center;"><b><span class="Apple-style-span" style="font-weight: normal;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz3jWi9F-1rxYaEUCUv3uu45A4mjcEYyMjqVTUsuzpeEfVODjAPJ-HA4mGWxS9hrZUYTHOrV-UFRBEu614nJdwfC4inJ1wbj2doM3Pp9w0cpADkmWbEZzJkK-wqAZAg1j64-yw2XpxOZ8/s1600/Hald-Simulate-Deuteranope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz3jWi9F-1rxYaEUCUv3uu45A4mjcEYyMjqVTUsuzpeEfVODjAPJ-HA4mGWxS9hrZUYTHOrV-UFRBEu614nJdwfC4inJ1wbj2doM3Pp9w0cpADkmWbEZzJkK-wqAZAg1j64-yw2XpxOZ8/s400/Hald-Simulate-Deuteranope.png" width="400" /></a></span></b></div><div class="separator" style="clear: both; text-align: center;"><span class="Apple-style-span" style="font-size: x-large;">Daltonize</span><span class="Apple-style-span" style="font-size: x-large;"> missing green-cone</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxzJwyC_p2f2tsRVDOem-oLiX6eV7HQU1gaLxPQm1GXryc4jYuRh2dpuF3Jfz_VGlhR5pDu5FlUFlMW-IQFG5MNEBwzOxdCVTz2khfFfA_AvlEZw6RbS1oZdE0pAXE5-wsq_rvrl046-c/s1600/Hald-Daltonize-Deuteranope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxzJwyC_p2f2tsRVDOem-oLiX6eV7HQU1gaLxPQm1GXryc4jYuRh2dpuF3Jfz_VGlhR5pDu5FlUFlMW-IQFG5MNEBwzOxdCVTz2khfFfA_AvlEZw6RbS1oZdE0pAXE5-wsq_rvrl046-c/s400/Hald-Daltonize-Deuteranope.png" width="400" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><b><span class="Apple-style-span" style="font-size: x-large;">Tritanopia</span></b></div><div class="separator" style="clear: both; text-align: center;"><span class="Apple-style-span" style="font-size: x-large;">Simulate </span><span class="Apple-style-span" style="font-size: x-large;">missing blue-cone</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitnyATVg_yBIoFmyoTcga_0Om52oEne__xPi7tIykuaRIH-QNsZogRZDiYFprH2XfijT9GDNFsOeJllgcJKARG1ob6zqEorRvqE3ElNOCQuLNXpAlyFVMKCTNMGsHoQfa6M_wBn_USe28/s1600/Hald-Simulate-Tritanope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitnyATVg_yBIoFmyoTcga_0Om52oEne__xPi7tIykuaRIH-QNsZogRZDiYFprH2XfijT9GDNFsOeJllgcJKARG1ob6zqEorRvqE3ElNOCQuLNXpAlyFVMKCTNMGsHoQfa6M_wBn_USe28/s400/Hald-Simulate-Tritanope.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><span class="Apple-style-span" style="font-size: x-large;">Daltonize </span><span class="Apple-style-span" style="font-size: x-large;">missing blue-cone</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfn2eg8-0Kqkb2TXpl8W2k7UEys0Y4JxmLxmSNXfjCyASENH8DkcTHcRw87js_CrS-CUK9q-eXJTlDcqnuaMFEZ7Jktdsm8qzuJMAvVVe89rx5zLsclZTLUgu4aFboBx52WO5sfKt5QjA/s1600/Hald-Daltonize-Tritanope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfn2eg8-0Kqkb2TXpl8W2k7UEys0Y4JxmLxmSNXfjCyASENH8DkcTHcRw87js_CrS-CUK9q-eXJTlDcqnuaMFEZ7Jktdsm8qzuJMAvVVe89rx5zLsclZTLUgu4aFboBx52WO5sfKt5QjA/s400/Hald-Daltonize-Tritanope.png" width="400" /></a></div>Michaelhttp://www.blogger.com/profile/04587306156021387333noreply@blogger.com268tag:blogger.com,1999:blog-3214428970723393166.post-58309850272269758692010-05-10T14:34:00.000-07:002014-09-18T18:10:57.307-07:00LMS Daltonization Algorithm<b>Implementations: </b><br />
<ol><li><a href="http://scien.stanford.edu/pages/labsite/2005/psych221/projects/05/ofidaner/conv_img.m">Matlab code</a> from Analysis of Color Blindness</li>
<li><a href="http://moinmo.in/AccessibleMoin?action=AttachFile&do=view&target=daltonize.py">Python code</a> from AccessibleMoin</li>
<li><a href="http://mudcu.be/labs/Color-Vision/Javascript/Color.Vision.Daltonize.js">Javascript code</a> from Daltonize.org</li>
<li><a href="http://mudcu.be/labs/Color-Vision/PixelBender/ColorVision/Daltonize.pbk">PixelBender code</a> from Daltonize.org </li>
</ol><b>Composed of four primary steps:</b><br />
<ol><li>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). <br />
<br />
</li>
<li>Simulation of color blindness by reducing the colors along a <a href="http://www.colblindor.com/2007/01/23/confusion-lines-of-the-cie-1931-color-space/">dichromatic confusion line</a>, the line parallel to the axis of the missing photoreceptor, to a single color. <br />
<br />
</li>
<li>Compensation for color blindness by shifting wavelengths away from the portion of the spectrum invisible to the dichromat, towards the visible portion.<br />
<br />
</li>
<li>Conversion of LMS coordinates back into RGB using the inverse of the RGB->LMS matrix. </li>
</ol><b>LMS daltonization evolution:</b><br />
<ol><li><a href="http://scien.stanford.edu/pages/labsite/2005/psych221/projects/05/ofidaner/colorblindness_project.htm" style="font-weight: normal;">Analysis of Color Blindness</a><br />
Describes how to compensate for color-blindness by calculating the difference of the simulation, and then applying an error modification matrix. <br />
<br />
</li>
<li><a href="http://biecoll.ub.uni-bielefeld.de/volltexte/2007/52/pdf/ICVS2007-6.pdf">Intelligent modification for the daltonization process of digitized paintings</a><br />
Describes how to improve the error modification matrix by modifying it to be adaptive to each image; increasing CPU usage and providing better results.<br />
<br />
</li>
<li><span class="Apple-style-span" style="color: #6aa84f;"><a href="http://www.springerlink.com/content/q0664344k248855r/">Intelligent Modification of Colors in Digitized Paintings for Enhancing the Visual Perception of Color-blind Viewers</a></span><br />
Optimizes the previous, reducing computational time through the use of color quantization, and caching.</li>
</ol>Michaelhttp://www.blogger.com/profile/04587306156021387333noreply@blogger.com118