Creating an ICC Color Profile to simulate vision of color blind people

1.7k views Asked by At

I would find it a useful tool to simulate the vision of color blind people e.g. when I prepare a presentation. I can use xcalib to assign a specific ICC profile to my monitor.

However, I can't find a Profile that has been created for this task.

on http://daltonize.org I found that "CIE chromaticy corrdinates" have to be specified (see below).

I found the SampleICC programs, which could possibly be used for this task.

Is it possible to convert CIE Chromaticy Coordinates alone to a color profile or is more input needed? Has anyone ever worked with SampleICC and knows how to convert the CIE corrdinates to a suitable input?

The CIE chromaticity coordiantes (x/y) for each type of color vision deficiency are as follows:

Protanopia (0.7465, 0.2535)
Deuteranopia (1.4, -0.4)
Tritanopia (0.1748, 0.0)

(Gamut with CIE chromaticy coordinates for Protanopia)

Below I list help output of several programs of SampleICC I thought could be suitable.


create_display_profile

usage is: create_display_profile input_file N description copyright output_file where

IN.txt is a file whose contents are:

  • measured red XYZ primary (triplet of floats)
  • measured green XYZ primary (triplet of floats)
  • measured blue XYZ primary (triplet of floats)
  • measured medium black XYZ (triplet of floats)
  • measured medium white XYZ (triplet of floats)
  • N lines being the tone curve for red (floats)
  • N lines being the tone curve for green (floats)
  • N lines being the tone curve for blue (floats)

    N is the number of sample points per tone curve,

    description is a string which will be used to identify the profile,

    copyright is a string identifying the profile content owner, and

    output_file is the file which will contain the created monitor profile

example: create_display_profile matrix_trc_input.txt 42 "my TRC/Matrix profile" "Copyright (c) 2007 My Little Company - All Rights Reserved" matrix_trc.icc


create_CLUT_profile

Usage: create_CLUT_profile [OPTION]... DESCRIPTION MEDIA_WHITE SIZE IN_FILE OUT_FILE

Examples:

create_CLUT_profile "sample profile" "0.21 0.24 0.52" 11 /tmp/in.txt /tmp/out.icc

create_CLUT_profile -f "0.01 0.005 0.02" "sample profile" "0.21 0.24 0.52" 11 /tmp/in.txt /tmp/out.icc

where DESCRIPTION is a string used to identify the profile, often set to the same as the filename of the profile less any trailing extension,

MEDIA_WHITE is a string containing the CIE XYZ coordinates of the media white point with embedded spaces between the X, Y and Z components

SIZE is an unsigned integer indicating the number of samples along each edge of the 3D lookup table being loaded into the profile

and where the OPTION values are as follows:

-h (prints this help text and exits)

-f "Xf Yf Zf" (default "0 0 0") (indicates flare to be subtracted from measurements as a first stage in converting raw XYZ measurements to the ICC PCS)

-g g (default 1.0) (indicates value of gamma to be used to populate input shaper LUTs -- mutually exclusive with --input-shaper-file option)

-n input_shaper_file (default none) (indicates name of file containing a first line of the maximum encodable value in the lines comprising the remainder of the file, each of which contains three floating-point values. The first line of the file is used to normalize the contents of the rest of the file. Mutually exclusive with --input-shaper-gamma option

-L flag indicating that the profile data should be stored in the LAB PCS (default false) (unless this flag is specified, profile data will be stored in the XYZ PCS)

-i "Xi Yi Zi" (default same as mediaWhite) (indicates illuminant used in converting raw XYZ measurements to the ICC PCS -- for
projection displays, this usually has a value identical to that of the mandatory MEDIA_WHITE argument)

-c copyright (default "") (indicates owner, for purposes of legal copyright, of this profile)


other programs:

  • iccApplyNamedCmm
  • iccApplyProfiles
  • iccDumpProfile
  • iccGamutMapGirdle
  • iccGetBPCInfo
  • iccRoundTrip
  • iccProfLibTest
  • iccStripUnknownTags
  • iccV4ToMPE
  • create_CLUT_profile
  • create_CLUT_profile_from_probe
  • create_display_profile
  • create_pretransform_curve
  • create_probe
  • extract_probe_data
  • flatten_AToB_tag
  • generate_device_codes
  • reconstruct_measurements
  • round_trip_PCS_LAB
0

There are 0 answers