This program has basically two goals: to visualize reflectance
spectra and to convert chromatic coordinates from a color coordinate
system into a different system. In addition, this program calculates
both complementary spectra and the spectral complementary color
of a color defined in one of these systems: RGB, CIE Lab, Munsell
HVC and XYZ (or xyY). There exist various color spectra databases,
both measured and ideal. Drop2color
also saves reflectance spectra of mixed colors in a format readable
by rs2color.
Program description
This program is written as a MATLAB script and for its execution
it is necessary to have installed "MATLAB Component Runtime
library (MCR)". This is the main interface window of
the program:
There are two panels (1), "RS DB 1" and "RS
DB 2", for selecting the databases we want to use. The available
databases offer measurements done on paint samples, various types
of backgrounds, and it is also possible to open a database defined
by the user.
The database (2), of each panel "RS DB 1" and "RS
DB 2", can be open using the drop-down menu or by selecting
a db file (3). The file can be *.txt, *.xls or *.rs:
The "txt" format can be a CGATS
file (Committee for Graphic Arts Technologies Standards - there
is an example of this file in the distribution set: GretagColorChecker24.txt
with measurements of the CC24 color chart). The file can also
be a text file exported from exel, converted from an xls file
generated by i1Share.
The xls file is an exel file generated by i1Share.
This is not a standard exel file!
The "rs" file is the native reflectance spectrum
format of CMT. It is a text format with each line representing
a spectrum. Each line starts with the name of the spectrum enclosed
in quotation marks and finishes with 36 floating point numbers
separated by tabs or spaces, corresponding to the reflectance
values in the range of 380nm (the first number) and 730nm (the
last number), in 10nm increments. Accordingly, the reflectance
value at 390nm wavelength is the second number, at 400nm is the
third, and so on. For example, the line corresponding to an ideal
yellow color in database "box shapes" (defined in the
file db/rs/box.rs) is: "Yellow" 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Link to Example 1: CGATS
format of measured spectra, done on Rembrandt Permanent Viola
mixed to white.
Link to Example 2: rs
format of measured spectra, done on human skin. The resulting
colors are too dark because the skin is translucent and the light
bounces back from the red blood cells in the blood vessels.
The database can be loaded as it is, and the complementary
spectra can be generated by checking box (4). The selection of
a spectrum available in the database (2) can be made from the
drop-down menu (5). The spectrum selected from the first DB can
be seen in the upper swatch (6), while and the one from the second
DB shows in the lower sample (7). The color coordinates of the
first spectrum are shown in area (8), while those of the second
can be seen in area (9). The spectra are plotted on the graph
underneath (10) that extends beyond 1 (11) to allow the correct
visualization of both standard (12) and fluorescent colors (13).
The first selected spectrum is shown with a continuous line (12),
while the one from the second database with a dotted one (13).
The colors of the spectra are also shown in Munsell space (14).
The flat colored sphere (15) shows the position of the first spectrum,
whereas the one with an overlapping grid (16) shows the second
spectrum. Button (17) allows you to visualize the position of
all the spectra contained in the first database (or their spectral
complementary colors if box (4) of the first DB is checked).
The chromatic coordinate conversion into Munsell space is done
using cubic interpolation. However, by selecting the button (18),
the algorithms written by Paul
Centore will be activated. His algorithms "MunsellConversions"
are open-source and can be downloaded from his web site.
The chromatic coordinates of the first spectrum are shown in
an editable box in RGB format (19) assuming the White Point is
set to 6500K, Cie Lab (20), Munsell Hue Value/Chroma (21) with
illuminant 'C', tristimuli XYZ (22) and xyY (23). The DE*94 error
(24) between the two selected spectra is shown between the two
panels. When one of these color coordinate boxes is edited (19-23),
the spectrum disappears immediately (12) and the first panel (6)
together with its boxes (8) conforms to the keyed in coordinates,
just like the sphere (15). This way the color coordinates can
be transformed from one color space to another and they can be
seen both as color and position in Munsell space. When pressing
button (25), the complementary color is calculated in tristimulus
coordinates in area 1 (22). When selecting a new spectrum from
the first DB, the program returns to spectral visualization mode.
Below the button 'C' (25) there is another, namely 'T' (26), which
runs drop2color with
target color loaded from area 1 (8).
All other commands not mentioned here are identical to those
described in drop2color.
Notes:
The color spectra of the paint brands available in the rs2color
database are physically measured spectra without any tuning or
modification. Therefore, the spectra are the spectra of the paint
samples, sometimes influenced by the support due to paint transparency.
However, the ones seen with drop2color
are calculated spectra (based on measurements on color ramps)
and are equivalent to opaque paints (thanks to mixing with white
or other opaque paint) providing an opaque film. Therefore, the
spectrum of a masstone extracted by drop2color
probably will resemble to the spectrum found in the database
of rs2color, but will not be the same.
List of updates:
Version 3.12 includes 12 spectra databases:
1: Acqua by Maimeri
- measurements done on masstone
2: Aeroflash by Holbein
- measurements done on hand made samples by Holbein, but the
paint is not completely opaque (for this reason, the Munsell
values calculated by rs2color do not always correspond to the
ones reported on the paint labels, even if the error is limited)
3: Artisan by Winsor&Newton
- measurements done on masstone
4: Brera by Maimeri
- measurements done on masstone
5: Ecoline by Talens
- measurements done on semi-transparent samples
6: Finity (Acrylic Basic Set) by Winsor&Newton
- measurements done on masstone
7: Pen Color by ApA
Ferrario - measurements done on masstone
8: Polycolor (primaries) by Maimeri
- measurements done on masstone
9: box shapes - ideal/artificial spectra
10: pigments - measurements done on masstone by mixing pigments
with acrylic medium and measurements done on samples using mixed
paint with 50% titanium white are also included
11: supports/grounds - measurements done on card/paper and
canvas
12: whites - measurements done on masstone of various commercially
sold whites
Version 3.15 includes 3 additional spectra databases:
Atelier Interactive by Chroma
- measurements done on masstone
Duo Acqua Oil (set of 18) by Holbein
- measurements done on masstone
Van Gogh H2Oil (set of 10) by Talens
- measurements done on masstone
Version 3.17 includes 2 additional spectra databases:
EFX500 by E'Tac
- 13 spectra calculated at maximum saturation when paint is mixed
with white #502
EFX500 by E'Tac
- 25 spectra calculated at maximum saturation when the paint
is used transparently and 25 spectra calculated at maximum saturation
when paint is mixed with white #502
The spectra of all chips of the "Munsell Book of Color,
Glossy Edition" belonging to the main sectors (5R, 5Y, 5G,
5B, 5P). There is a slight color shift of the blues due to a
calibration problem of my spectrophotometer. Some of the dark
chips are off grid, but this is how the chips are in the big
book.
Version 3.25 includes 1 additional database:
Open Acrylics (Full Set) by Golden
- measurements done on masstone
The "pigments" database now includes spectra of
many commercial paints.
Version 3.26 includes 1 additional database:
Heavy Body Artist Colors by Liquitex
- 19 spectra calculated at maximum saturation when paint is mixed
with white #432
The whites db now includes 15 commercial whites and 1 ideal
spectrum
Version 3.31 includes 5 additional databases:
Artists Acrylic Colors by Winsor&Newton
- measurements done on masstone
Conservation Colors by Gamblin
- measurements done on masstone by Marissa Haddock
Heavy Body Acrylic Colors by Golden
- measurements done on masstone by Christian Skeel (Copenhagen,
Denmark)
Kremer historical
pigment database - measurements done on masstone by Anna M. Gueli
(PH3DRA Laboratory, University of Catania, Italy)
Modern Water Color Pigments by J. Scott Taylor
M. A. measurements done by Dario Benedetti, Michela Pasquali,
Nicola Rodella (Archaeometry Research Centre, University of Brescia,
Italy)
The pigments db now includes more measured spectra
Version 3.32 includes 1 additional databases:
Rembrandt Extra-Fine Artists Oil Colors by Talens
- measurements done on masstone by Christian Skeel (Copenhagen,
Denmark)
The whites db now includes more measured spectra
The pigments
db now includes more measured spectra
Application Examples
Example
1: complementary color of a spectrum
When selecting two identical databases and checking the complementary
spectrum computation box of one of them, you can compare the natural
and the complementary spectra. From a spectral point of view,
the complementary color is the color of the spectrum which once
added to the natural spectrum gives the spectrum of the current
illumination. From a reflectance spectrum point of view, the complementary
spectrum is the complement to 1 of each spectral value. Complementary
colors for humans are based on many physiological grounds. One
of them is the after-effect due to our neural response up to area
V4 where color is mainly processed: after having stared at a color
for at least about twenty seconds without eye motion and then
looking at a white surface, a color appears which is the complementary
color seen by our visual system. The complementary color, in fact,
has a hue, a value and also saturation. So, the popular idea that
green is the complementary color of red is a very poor approximation
of the reality for many reasons! This is the message of the image
below. The pink of area 1 has the cyan of area 2 as its complementary
color. It can also be seen from the positioning of the spheres
on the Munsell HC plain that in this space the complementary colors
line up fairly diagonally crossing the neutral axis. This property
of the Munsell space, based on human perception, is one of the
reasons why I introduced this color space in my "Color Mixing
Tools". The brightness level (Value), however, has the property
that the line connecting the color and its spectral complementary
passes the neutral axis (chroma=0) in the tristimulus value Y=50,
or Munsell Value=7.5, thanks to the non linearity of the human
eye response to brightness. The positioning, from the saturation
point of view, does not have an easy physical explanation (as
far as I know), because color saturation has to do with the size
of the ripples/spikes of the spectra and the perception of this
is influenced by our non linear response to brightness.
Example
2: determining the complementary color of a mixed paint
I know that the old notion "the complementary color of
red is green, of yellow is violet etc." comes to mind immediately,
but this is definitely a broad generalization. It is as if we
were to ask somebody where he or she lived and the person would
respond "in Italy" leaving out the city and street details.
Saying that the complementary color of red is green (first of
all, it is incorrect because perceptively blue-green is the complementary
color of red) does not give me any information on value or saturation.
Let us see an example. Suppose that I want to mix the color
5.0R 7.0/7.0 and its complementary color using E'TAC EFX 500,
because I want to create a strong contrast between two adjacent
abstract geometries:
Color2drop (in CMT ver. 3.4.17) running with illumination spectrum
'C' for 5.0R 7.0/7.0 gives me the following recipe: "502-Titanium
White":(8) + "503-Naphthol Red":(1) + "507-Arylide
Yellow":(2)
In order to identify the complementary color of 5.0R 7.0/7.0,
I simply need to enter the color in the editable window and press
button 'C' after having set the same lighting 'C' that I used
for mixing the recipe. Rs2color calculates the complementary color
coordinates:
Now, I can calculate the recipe with color2drop
to obtain 9.9 BG 7.9/5.9: "502-Titanium White": (50)
+ "505- Phthalocyanine Green" : (1) + " 506- Phthalocyanine
Turquoise": (1)
In order to see the complementary color spectrum of the mixed
color, you may launch drop2color
from color2drop (or
enter the base components of the recipe manually in drop2color),
then save the spectrum of the mixed color into a database file.
Finally, loading the file as User Defined database the spectrum
will appear. It is worth adding that the mixed paint and its complementary
color mixed this way will be complementary colors, but their reflectance
spectra will not be complementary, because the paint mixing is
based on metameric matches and not on spectral matching (which
would be generally useless).
Example
3: Munsell coordinates of a paint if the brand is not included
in the system
It is very useful to have the Munsell coordinates of a paint,
as already mentioned in different application examples of color2drop.
Nevertheless, the calculation of these coordinates requires the
reflectance spectra. Therefore, the simplest way is to create
some masstone paint samples and to measure their spectra. These
samples can be obtained easily. All it takes is putting some drops
/ parts on a piece of white cardboard to have a painted surface
of around 1cm x 1cm of opaque color. If the paint is already opaque,
one drop is enough, otherwise, other drops need to be added, then
dried up to opaque coverage. Once these samples have been created
and labelled with the indication of the used colors, all it takes
is sending them to me by post and I will measure them. (Please
note that I can not guarantee anything due to my rather busy schedule,
but I will do my best to help you out).
If a paint is transparent, the samples should not reach full
opacity (also because the result will end up being very dark and
useless). It is enough to reach a typical color appearance for
that specific paint.
Download
Dear Friend,
this program can be downloaded and used for free. I've written
it for my curiosity and I'm releasing it for the pleasure of art
students and artists. Therefore, please do not sell it!
The current version of the Color Mixing Tools includes more
than 20,000 lines of code I've been writing since 2004. It includes
10 paint sets: measured data of 9 paint lines of various brands
+ 1 ideal set:
Conservation
Colors by Gamblin (all colors except Venetian Red
and Extender White: 42 colors): ramps, measurements
and parameter extraction were done by Marissa Haddock as part
of her Master
Thesis at Rochester Institute of Technology in 2011.
Heavy
Body Artist Colors by Liquitex (22 bases) (2010, thanks to
the ramps created by Michael Petty - Canyon Lake, CA, U.S.A.).
The parameters were re-computed in 2012 using a more accurate
physical model compared to the 3.6 CMT version.
Matte
Fluid Acrylic Colors by Golden (27 bases): samples and measurements
were done by Yoshio Okumura as part of his Master
Thesis at Rochester Institute of Technology in 2005.
Pen
Color by ApA Ferrario (all colors) + Badger White + Hansa
White (2004)
Polycolor
by Maimeri (white, black and primaries: 018 + 116 + 256 + 400
+ 530) (2006)
ideal primaries (2010): this is not a commercial brand
and is not based on pigments. It is an ideal opaque paint set
with bases having uniform coloring strength over the whole visible
spectrum and all the bases have exactly the same strength. This
set is useful to check some mixing effects to see if they are
due to subtractive mixing alone or to non-linear pigment propriety.
For example, white (V=10) mixed with black (V=0) in equal amounts
gives a gray with V=5 and uniform spectrum. Each masstone has
0 or 1 reflectance value on the whole visible spectrum.
The system includes also 32 reflectance spectrum databases:
1: Acqua by Maimeri - measurements done on masstone
2: Aeroflash by Holbein - measurements done on hand made
samples by Holbein, but the paint is not completely opaque (for
this reason, the Munsell values calculated by rs2color do not
always correspond to the ones reported on the paint labels, even
if the error is limited)
3: Artisan by Winsor&Newton - measurements done on masstone
4: Artists Acrylic Colors by Winsor&Newton - measurements
done on masstone
5: Atelier Interactive by Chroma - measurements done on masstone
6: Brera by Maimeri - measurements done on masstone
7: Conservation Colors by Gamblin - measurements done on
masstone by Marissa Haddock
8: Duo Acqua Oil (set of 18) by Holbein - measurements done
on masstone
9: Ecoline by Talens - measurements done on semi-transparent
samples
10: EFX500 by E'Tac - 25 spectra calculated at maximum saturation
when the paint is used transparently
11: EFX500 (buffered) by E'Tac - 25 spectra calculated at
maximum saturation when paint is mixed with white #502
12: Finity (Acrylic Basic Set) by Winsor&Newton - measurements
done on masstone
13: Heavy Body Acrylic Colors by Golden - measurements done
on masstone by Christian Skeel (Copenhagen, Denmark)
14: Heavy Body Artist Colors by Liquitex - 19 spectra calculated
at maximum saturation when paint is mixed with white #432
15: Open Acrylics by Golden - measurements done on masstone
16: Pen Color by ApA Ferrario - measurements done on masstone
17: Polycolor (primaries) by Maimeri - measurements done
on masstone
18: Rembrandt Extra-Fine Artists Oil Colors by Talens
- measurements done on masstone by Christian Skeel (Copenhagen,
Denmark)
19: Van Gogh H2Oil (set of 10) by Talens - measurements done
on masstone
20: box shapes - ideal/artificial spectra
21: mini ColorChecker of Gretag MacBeth (now Xrite)
22: Kremer historical pigment database - measurements done
by Anna M. Gueli (PH3DRA Laboratory, University of Catania, Italy)
23: Modern Water Color Pigments by J. Scott Taylor
M. A. measurements done by Dario Benedetti, Michela Pasquali,
Nicola Rodella (Archaeometry Research Centre, University of Brescia,
Italy)
24: Munsell Glossy 5B - spectra of all chips of this sector
in the "Munsell Book of Color, Glossy Edition" (There
is a slight color shift of the blues due to a calibration problem
of my spectrophotometer)
25: Munsell Glossy 5G - spectra of all chips of this sector
in the "Munsell Book of Color, Glossy Edition"
26: Munsell Glossy 5P - spectra of all chips of this sector
in the "Munsell Book of Color, Glossy Edition"
27: Munsell Glossy 5R - spectra of all chips of this sector
in the "Munsell Book of Color, Glossy Edition"
28: Munsell Glossy 5Y - spectra of all chips of this sector
in the "Munsell Book of Color, Glossy Edition"
29: Munsell Glossy Neutrals - 9 spectra (N9-N1) at 0 chroma
of the "Munsell Book of Color, Glossy Edition"
30: pigments: measurements done on masstone by mixing pigments
with acrylic medium and measurements done on samples using mixed
paint with 50% titanium white are also included. Commercial paint
data is also included.
31: supports/grounds- measurements done on card/paper and
canvas
32: whites: measurements done on masstone of various commercially
sold whites
If you would like to use the Color Mixing Tools, please send
me and e-mail message
asking for the download instructions, so I can send you the access
info. You'll need two files: MCRInstaller.exe and ColorMixingTools.zip.
You should download them together, because the version numbers
must match. Please note that you are authorized to use the system
only according to the Disclaimer below
and you are not allowed to put the MATLAB libraries on the internet
for any reason. However, please feel free to give
the two files to your colleagues or friends, but only for educational
purposes.
Installing instructions: Please do
NOT install both 32bit and 64bit versions on the same PC. They
will kill each other!
1) Install the runtime libraries by executing MCRInstaller.exe
(please, uninstall all previous versions before installing a
new one!)
2) Extract the files from the Color Mixing Tools archive:
it is the compressed ColorMixingTools directory containing all
the executables and data directories
3) Run the program of your interest from the directory ColorMixingTools
(setting Windows XP compatibility mode of the executables if
necessary)
If you are responsive to humanitarian emergencies, please
think about a donation to MSF (selecting your national office
at www.msf.org) helping people living
in real emergency, where even a couple of dollars can be the difference
between life and death. Thank you!
Disclaimer:
This software is provided free of charge for educational purpuses
ONLY. Selling or renting it is prohibited.
The MathWorks, Inc.
Matlab "Software License Agreement", "Academic
Installation and Use Addendum" and "Deployment Addendum"
apply to the use of this software.
This software is provided on an "as is" basis without
warranty of any kind, expressed or implied. Under no circumstances
and under no legal theory, whether in tort, contract, or otherwise,
shall the Author or the University of Brescia be liable to you
or to any other person for any indirect, special, incidental,
or consequential damages of any character including, without limitation,
damages for loss of goodwill, work stoppage, computer failure
or malfunction, or for any and all other damages or losses.
If you do not agree with these terms, then you are advised
NOT to USE the software.
Any mention of commercial paints in this system is for information
only: it does not imply recommendation or endorsement by the Author.
This system is based on MATLAB(R). (c) 1984 - 2012 The MathWorks,
Inc.
Acknowledgments
I'd like to thank:
Michael Petty (Canyon Lake, CA, U.S.A.) for creating the
ramps with Liquitex Heavy Body Artist Colors.
Christian Skeel (Copenhagen, Denmark) for the ramps and measurements
of Golden Heavy Body Acrylic Colors and of Talens Rembrandt Extra-Fine
Artists Oil Colors.
Marissa Haddock for the parameters of Gamblin Conservation
Colors.
Yoshio Okumura for the ramps and measurements of Golden Matte
Fluid Acrylic Colors.
Anna M. Gueli (PH3DRA Laboratory, University of Catania,
Italy) for the spectra of the Kremer historical pigment database.
Dario Benedetti, Michela Pasquali, Nicola Rodella (Archaeometry
Research Centre, University of Brescia, Italy) for the measurements
of the Modern Water Color Pigments by J. Scott Taylor
M. A.
Paul Centore (centore@99main.com) for his Open Source Munsell
Conversions code.
A warm thank you to my good friend Erika for translating this
page. [ The errors you may find in the page are all mine, inserted
after her excellent job finished in November 2009 ]
Link to Drop2Color,
a program to visualize the color of mixed paint recipes
Link to Color2Drop,
a program to convert RGB, Lab or Munsell HVC color coordinates
into paint mixing recipes