The Effect of the Aging Lens on Color Vision

Similar documents
Viewing Object Colors in a Gallery

To discuss. Color Science Color Models in image. Computer Graphics 2

COLOR and the human response to light

Technical Report. Evaluating Solid State and Tungsten- Halogen Lighting for Imaging Artwork via Computer Simulation Roy S. Berns

Additive. Subtractive

"RAW" Conversion Options Too Much of a Good Thing? Dr. Tony Kaye ASIS FRPS 12 December 2009

YELLOW SLIDE SCANNER MINI-SHOOT-OUT CONDUCTED BY SPECTRAL MASTERS, INC.

COLOR. and the human response to light

CSE 332/564: Visualization. Fundamentals of Color. Perception of Light Intensity. Computer Science Department Stony Brook University

CIE tri-stimulus experiment. Color Value Functions. CIE 1931 Standard. Color. Diagram. Color light intensity for visual color match

Image and video processing (EBU723U) Colour Images. Dr. Yi-Zhe Song

Calibration-Based Auto White Balance Method for Digital Still Camera *

Victor Ostromoukhov Université de Montréal. Victor Ostromoukhov - Université de Montréal

Color Science. What light is. Measuring light. CS 4620 Lecture 15. Salient property is the spectral power distribution (SPD)

Color & Graphics. Color & Vision. The complete display system is: We'll talk about: Model Frame Buffer Screen Eye Brain

Multimedia Systems and Technologies

CS6640 Computational Photography. 6. Color science for digital photography Steve Marschner

Communicating Color. Courtesy of: X-Rite Inc Street SE Grand Rapids MI (616)

Color Cameras: Three kinds of pixels

Color Appearance, Color Order, & Other Color Systems

Color Reproduction. Chapter 6

Digital Image Processing

Introduction to Color Science (Cont)

Computer Graphics Si Lu Fall /27/2016

A World of Color. Session 4 Color Spaces. OLLI at Illinois Spring D. H. Tracy

Future Electronics EZ-Color Seminar. Autumn Colour Technology

Light waves of different wavelengths or combinations of wavelengths cause the human eye to detect different colors.

Color Science. CS 4620 Lecture 15

Basics of Colors in Graphics Denbigh Starkey

Myth #1. Blue, cyan, green, yellow, red, and magenta are seen in the rainbow.

Color Theory: Defining Brown

Does CIELUV Measure Image Color Quality?

Conceptual Physics 11 th Edition

METHODS OF MEASUREMENT OF THE COLORIMETRIC FIDELITY OF TELEVISION CAMERAS. Measurement Procedures CONTENTS

Color. Color. Colorfull world IFT3350. Victor Ostromoukhov Université de Montréal. Victor Ostromoukhov - Université de Montréal

Color and color constancy

University of British Columbia CPSC 414 Computer Graphics

Colorimetry and Color Modeling

Technical Report. A New Encoding System for Image Archiving of Cultural Heritage: ETRGB Roy S. Berns and Maxim Derhak

Understand brightness, intensity, eye characteristics, and gamma correction, halftone technology, Understand general usage of color

Optical properties. Quality Characteristics of Agricultural Materials

any kind, you have two receptive fields, one the small center region, the other the surround region.

DrawString vs. WWrite et al.:

The RGB code. Part 1: Cracking the RGB code (from light to XYZ)

Bettina Selig. Centre for Image Analysis. Swedish University of Agricultural Sciences Uppsala University

Color and color constancy

Wireless Communication

SilverFast. Colour Management Tutorial. LaserSoft Imaging

Test 1: Example #2. Paul Avery PHY 3400 Feb. 15, Note: * indicates the correct answer.

Figure 1: Energy Distributions for light

What is Color. Color is a fundamental attribute of human visual perception.

011H Gray Cards. Gretagmacbeth $69.00

excite the cones in the same way.

Sunderland, NE England

Introduction to computer vision. Image Color Conversion. CIE Chromaticity Diagram and Color Gamut. Color Models

Chapter Objectives. Color Management. Color Management. Chapter Objectives 1/27/12. Beyond Design

Experiment 10. Color. Observe the transmission properties of the three additive primary color filters and the three subtractive primary color filters.

In Situ Measured Spectral Radiation of Natural Objects

A simulation tool for evaluating digital camera image quality

Light and Colour. Light as part of the EM spectrum. Light as part of the EM spectrum

Observing a colour and a spectrum of light mixed by a digital projector

H30: Specification of Colour, Munsell and NCS

What is Color Gamut? Public Information Display. How do we see color and why it matters for your PID options?

What s New in Capture NX

Digital Image Processing COSC 6380/4393. Lecture 20 Oct 25 th, 2018 Pranav Mantini

Color and Perception. CS535 Fall Daniel G. Aliaga Department of Computer Science Purdue University

Colors in Images & Video

Color and Color Model. Chap. 12 Intro. to Computer Graphics, Spring 2009, Y. G. Shin

CIE Standards for assessing quality of light sources

ICC Profiling for Digital Cameras

For a long time I limited myself to one color as a form of discipline. Pablo Picasso. Color Image Processing

Color Image Processing. Gonzales & Woods: Chapter 6

EECS490: Digital Image Processing. Lecture #12

Standard Viewing Conditions

Digital Technology Group, Inc. Tampa Ft. Lauderdale Carolinas

Announcements. Electromagnetic Spectrum. The appearance of colors. Homework 4 is due Tue, Dec 6, 11:59 PM Reading:

LECTURE 07 COLORS IN IMAGES & VIDEO

Checked X.CAO

Introduction to Computer Vision CSE 152 Lecture 18

19 Setting Up Your Monitor for Color Management

The longevity of ink on paper for fine art prints. Carinna Parraman, Centre for Fine Print Research, University of the West of England, Bristol, UK

Light, Color, Spectra 05/30/2006. Lecture 17 1

Lecture 3: Grey and Color Image Processing

Colors in images. Color spaces, perception, mixing, printing, manipulating...

12 Color Models and Color Applications. Chapter 12. Color Models and Color Applications. Department of Computer Science and Engineering 12-1

Colour Analysis of Unison Pastels

Conceptual Physics Fundamentals

Unit 8: Color Image Processing

The Principles of Chromatics

1 Introduction. Analysis of color profile quality of digital projector. Original scientific paper. Iva Molek 1, Dejana Javoršek 2. Molek I. et al.

Light. intensity wavelength. Light is electromagnetic waves Laser is light that contains only a narrow spectrum of frequencies

USE OF COLOR IN REMOTE SENSING

IFT3355: Infographie Couleur. Victor Ostromoukhov, Pierre Poulin Dép. I.R.O. Université de Montréal

A World of Color. Session 5 Colors of Things. OLLI at Illinois Spring D. H. Tracy

How is Light Absorbed and Transmitted?

Color Image Processing

ISOFOOTCANDLE LINES OF HORIZONTAL ILLUMINATION

Prof. Feng Liu. Winter /09/2017

Color Perception and Applications. Penny Rheingans University of Maryland Baltimore County. Overview

the eye Light is electromagnetic radiation. The different wavelengths of the (to humans) visible part of the spectra make up the colors.

Transcription:

The Effect of the Aging Lens on Color Vision Glenn Davis <gdavis@gluonics.com> December 3, 2017 The goal of this colorspec vignette is to simulate the effect of age on human color vision. The colored figures are best viewed by an observer with age of 32 years, and on a display calibrated for srgb. The Human Lens It is well known that the lens in the human eye does not transmit all wavelengths equally; the transmission at short wavelengths is less, which means the lens is yellowish. In the UV there is very little transmission; which is a good thing since the lens protects the retina from UV damage. It is also well known that the lens gets yellower with age. When making these colored images it is appropriate to use the CIE 1931 color matching functions (CMFs). Unfortunately I could not find the average age of the observers used to establish the 1931 standard observer (there were 17 of them). But it is known that the average age of the observers used to create the CIE 1964 standard observer is 32 years, see [Pok87]. So we ll take 32 years for the CIE 1931 standard observer as well. Start the R session and load the colorspec package, library( colorspec ) Compute and plot lens transmittance at 32 and 64 years using the model in [Pok87]. lens.trans = linearize( lensabsorbance( c(32,64), wave=380:780 ) ) par( omi=c(0,0,0,0), mai=c(0.6,0.7,0.3,0.2) ) plot( lens.trans, color='black', lty=1:2, main=false, legend='topleft' ) 1

Transmittance 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 age32 age64 400 450 500 550 600 650 700 750 Wavelength (nm) Figure 1: Human Lens Transmittance at age=32 and age=64 To compare the color appearance at age 64 to that at age 32, we need the transmittance at age 64 relative to that at age 32. We know that object lens.trans is a matrix, so use the standard R matrix subset operation to extract each spectrum. Then perform the division and plot the ratio. lens.64 = lens.trans[,2] / lens.trans[,1] lens.64 = colorspec( lens.64, wavelength(lens.trans), 'transmittance' ) specnames(lens.64) = "trans.64 / trans.32" par( omi=c(0,0,0,0), mai=c(0.6,0.7,0.3,0.2) ) plot( lens.64, main=true, legend=false, ylab='relative Transmittance', col='black' ) page 2 of 11

Relative Transmittance 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 lens.64 400 450 500 550 600 650 700 750 Wavelength (nm) Figure 2: Human Lens Transmittance at age 64 relative to age 32 Think of this curve as defining a pair of glasses with a yellowish tint. In this vignette, going from an age of 32 years to 64 years is equivalent to putting on these tinted glasses. The Macbeth ColorChecker with Observer Age 32 We first read the spectra of the ColorChecker target. This data has been kindly provided in CGATS format by [Pas]. ColorChecker is a Registered Trademark of X-Rite, and X-Rite is a Trademark. path = system.file( 'extdata/targets/cc_avg30_spectrum_cgats.txt', package='colorspec') MacbethCC = readspectra( path, wave=wavelength(lens.64) ) MacbethCC = MacbethCC[ order(macbethcc$sample_id), ] print( extradata(macbethcc), row.names=f ) SAMPLE_ID SAMPLE_NAME Munsell ISCC-NBS_Name LEFT TOP WIDTH HEIGHT 1 dark skin 3YR 3.7/3.2 moderate brown 7 9 29 29 2 light skin 2.2YR 6.47/4.1 light reddish brown 40 9 29 29 3 blue sky 4.3PB 4.95/5.5 moderate blue 73 9 29 29 4 foliage 6.7GY 4.2/4.1 moderate olive green 106 9 29 29 5 blue flower 9.7PB 5.47/6.7 light violet 139 9 29 29 6 bluish green 2.5BG 7/6 light bluish green 172 9 29 29 7 orange 5YR 6/11 strong orange 7 42 29 29 8 purplish blue 7.5PB 4/10.7 strong purplish blue 40 42 29 29 9 moderate red 2.5R 5/10 moderate red 73 42 29 29 10 purple 5P 3/7 deep purple 106 42 29 29 11 yellow green 5GY 7.1/9.1 strong yellow green 139 42 29 29 12 orange yellow 10YR 7/10.5 strong orange yellow 172 42 29 29 13 Blue 7.5PB 2.9/12.7 vivid purplish blue 7 75 29 29 14 Green 0.25G 5.4/8.65 strong yellowish green 40 75 29 29 15 Red 5R 4/12 strong red 73 75 29 29 page 3 of 11

16 Yellow 5Y 8/11.1 vivid yellow 106 75 29 29 17 Magenta 2.5RP 5/12 strong reddish purple 139 75 29 29 18 Cyan 5B 5/8 strong greenish blue 172 75 29 29 19 white N9.5/ white 7 108 29 29 20 neutral 8 N8/ light gray 40 108 29 29 21 neutral 6.5 N6.5/ light medium gray 73 108 29 29 22 neutral 5 N5/ medium gray 106 108 29 29 23 neutral 3.5 N3.5/ dark gray 139 108 29 29 24 black N2/ black 172 108 29 29 Note that MacbethCC is organized as df.row and contains extra data for each spectrum, notably the coordinates of the patch rectangle. Now build the material responder from Illuminant D65 and the 1931 CMFs: D65.eye = product( D65.1nm, "artwork", xyz1931.1nm, wave=wavelength(lens.64) ) # calibrate so the perfect-reflecting-diffuser is the 'official XYZ' # scale XYZ independently prd = neutralmaterial( 1, wavelength(lens.64) ) D65.eye = calibrate( D65.eye, stimulus=prd, response=officialxyz('d65'), method='scaling' ) Calculate XYZ and then RGB: XYZ = product( MacbethCC, D65.eye, wave=wavelength(lens.64) ) RGB = RGBfromXYZ( XYZ, 'srgb' ) # this is *linear* srgb # add the rectangle data to RGB, so they can be plotted in proper places # in cbind() use as.data.frame.model.matrix() so RGB is a single column in patches patches = cbind( extradata(macbethcc), as.data.frame.model.matrix(rgb) ) patches.first = patches # save this reference object for later # display in proper location, and use the srgb display transfer function par( omi=c(0,0,0,0), mai=c(0.2,0.2,0.2,0.2) ) plotpatchesrgb( patches, gamma='srgb', back='gray20', labels=false ) page 4 of 11

Figure 3: Rendering with Illuminant D65 and xyz1931.1nm, at age=32 This figure has the colors as perceived by the 1931 standard observer. The Macbeth ColorChecker with Observer Age 64 Make new responder by inserting the hypothetical pair of tinted glasses (defined by lens.64 in Figure 2) between target and the eye, and then recalculate RGBs. D65.eye.64 = applyspec( D65.eye, function(y) {lens.64 * y} ) XYZ = product( MacbethCC, D65.eye.64, wave=wavelength(lens.64) ) RGB = RGBfromXYZ( XYZ, 'srgb' ) # this is *linear* srgb patches = cbind( extradata(macbethcc), as.data.frame.model.matrix(rgb) ) par( omi=c(0,0,0,0), mai=c(0.2,0.2,0.2,0.2) ) plotpatchesrgb( patches, gamma='srgb', back='gray20', labels=false ) page 5 of 11

Figure 4: Rendering with Illuminant D65 and xyz1931.1nm, at age=64 without adaption As expected, the result has a yellow tint. Now make a plot that compares the effective responsivities. # the effective responsivities for age=32 par( omi=c(0,0,0,0), mai=c(0.6,0.7,0.3,0.2) ) specnames( D65.eye ) = sprintf( "%s.32", c('x','y','z') ) plot( D65.eye, lty=1, legend='top' ) # the effective responsivities for age=64 specnames( D65.eye.64 ) = sprintf( "%s.64", c('x','y','z') ) plot( D65.eye.64, lty=2, add=true, legend='topright' ) page 6 of 11

Neural Response / Material reflectance or transmittance 0.020 0.018 0.016 0.014 0.012 0.010 0.008 0.006 0.004 0.002 0.000 D65.eye x.32 y.32 z.32 x.64 y.64 z.64 400 450 500 550 600 650 700 750 Wavelength (nm) Figure 5: comparison of effective responsivities, at age=32 and age=64 But these figures are only appropriate for the instant in time that the change was made, and before the eye and brain have had the time to adapt. In electronic camera terms, there is no white balance yet. So now calibrate and adapt to D65 using the Bradford Method. This method is regarded as being a good model for the way that the human eye and brain achieve color constancy, see [Lin]. prd = neutralmaterial( 1, wavelength(lens.64) ) XYZ.D65 = officialxyz('d65') D65.eye.64 = calibrate( D65.eye.64, stimulus=prd, response=xyz.d65, method='bradford' ) XYZ = product( MacbethCC, D65.eye.64, wave=wavelength(lens.64) ) RGB = RGBfromXYZ( XYZ, 'srgb' ) # this is *linear* srgb patches = cbind( extradata(macbethcc), as.data.frame.model.matrix(rgb) ) par( omi=c(0,0,0,0), mai=c(0.2,0.2,0.2,0.2) ) plotpatchesrgb( patches, gamma='srgb', back='gray20', labels=false ) page 7 of 11

Figure 6: Rendering with Illuminant D65 and xyz1931.1nm, at age=64 after chromatic adaption The tint is now gone. But it hard to compare colors in this figure with the ones way back in Figure 3. So combine the original age=32 rendering with the age=64 rendering by splitting each square into 2 triangles. par( omi=c(0,0,0,0), mai=c(0.2,0.2,0.2,0.2) ) # draw full squares from Figure 3 plotpatchesrgb( patches.first, gamma='srgb', back='gray20', labels=f ) # overwrite the squares with triangles by setting shape= and add= plotpatchesrgb( patches, gamma='srgb', labels=f, shape='bottomright', add=t ) page 8 of 11

Figure 7: Rendering with both age=32 (Figure 3), and age=64 (Figure 6) The top-left triangle has the color from Figure 3 and the bottom-right triangle has the color from Figure 6. There are minor differences in the Red and Magenta patches, and some smaller differences in a few others. Here are the responsivity functions after adaption: par( omi=c(0,0,0,0), mai=c(0.6,0.7,0.3,0.2) ) plot( D65.eye, lty=1, legend='top', main=false ) plot( D65.eye.64, lty=2, add=true, legend='topright' ) page 9 of 11

REFERENCES REFERENCES Neural Response / Material reflectance or transmittance 0.020 0.018 0.016 0.014 0.012 0.010 0.008 0.006 0.004 0.002 0.000 x.32 y.32 z.32 x.64 y.64 z.64 400 450 500 550 600 650 700 750 Wavelength (nm) Figure 8: comparison of effective responsivities So despite the fairly radical yellowing of the lens with age (in Figure 2), this adaption model shows that the perceived colors are not all that different. Great! References [Lin] Lindbloom, Bruce. How the Chromatic Adaptation Calculator Works. http:// brucelindbloom.com/index.html?chromadaptcalchelp.html. [Pas] Pascale, Danny. The ColorChecker, page 2. http://www.babelcolor.com/ colorchecker-2.htm. [Pok87] Pokorny, Joel, Vivianne C. Smith, and Margaret Lutze. Aging of the Human Lens. Applied Optics, Vol. 26, No. 8, 15 April 1987. Table I. Page 1439. Appendix This document was prepared December 3, 2017 with the following configuration: ˆ R version 3.4.3 (2017-11-30), i386-w64-mingw32 ˆ Running under: Windows 7 (build 7601) Service Pack 1 ˆ Matrix products: default page 10 of 11

REFERENCES REFERENCES ˆ Base packages: base, datasets, grdevices, graphics, methods, stats, utils ˆ Other packages: colorspec 0.6-2, knitr 1.17 ˆ Loaded via a namespace (and not attached): MASS 7.3-47, Rcpp 0.12.14, backports 1.1.1, compiler 3.4.3, digest 0.6.12, evaluate 0.10.1, highr 0.6, htmltools 0.3.6, magrittr 1.5, rmarkdown 1.8, rprojroot 1.2, stringi 1.1.6, stringr 1.2.0, tools 3.4.3, yaml 2.1.14 page 11 of 11