CLICK FOR HOME PAGE

Just really getting started on this...



gnuplot
octave

You might be able to install octave and gnuplot from your OS distribution. I used Ubuntu OS for this HOWTO, this also means the csv,txt,m and gnuplot files only have linefeeds and not carriage returns, use an appropriate text editor




A chromaticity diagram is a uniform two dimensional color gamut at a specific level of light. These calculations are at 100% light but any level from 0-1 can be used in the specific program as long as they are used consistently throughout the process.

XYZ tristimulus values can be found at http://cvrl.ioo.ucl.ac.uk/cmfs.htm

The CIE calculations and RGB color space primaries/calculations are from https://en.wikipedia.org/


Some basic concepts and planckian white point chromaticities from Olaf Schultz's o.schultz@enhydralutris.de awk work http://www.enhydralutris.de/Diverses/plotCIEwithGnuplot.tgz also found down further on my main page


You can download all the files from the following github to complete the HOWTO


Most of the u'v' octave scripts are named the same as the xy ones, I didn't update the variable names inside them either yet


Open a terminal, at the command prompt type octave and the following instructions


octave


octave:1>XYZ_to_xy;


Open another terminal, at the command prompt type the commands


gnuplot


gnuplot>load "visual_upvp_locus.gnuplot"


Valid HTML 4.01 Strict

gnuplot>load "visual_upvp_locus_and_line_of_purples.gnuplot"


Valid HTML 4.01 Strict

gnuplot>load "visual_upvp_locus_and_line_of_purples_labels_planck.gnuplot"


Valid HTML 4.01 Strict

gnuplot>load "visual_upvp_locus_and_line_of_purples_labels_planck_spaces.gnuplot"


Valid HTML 4.01 Strict

octave>XYZ = xy_to_XYZ_points(1);


octave>RGBlinear = XYZ_to_RGBlinear_points(XYZ);


octave>RGB = RGBlinear_to_RGB_points(RGBlinear);


octave>RGBintegers = RGB_to_RGBintegers_points(RGB);


octave>RGBhex = RGBintegers_to_RGBhex_and_upvp_points(RGBintegers);



gnuplot>load "visual_xy_locus_and_line_of_purples_labels_planck_spaces_sRGB_color.gnuplot"


Valid HTML 4.01 Strict

The primary corners and neutral axes didn't seem visually pure and weren't in gimp image editor, here is the reverse calculation and plot, they look like they are supposed to compared to others I have seen. I don't know why the forward calculations don't, maybe I didn't adjust XYZ for white point before the forward calculations, you'll have to switch to the reverse_uv directory.


octave>makeRGB();


octave>RGB_to_rgb();


octave>rgb_to_rgbLinear();


octave>rgbLinear_to_XYZ();


octave>XYZ_to_uv();


octave>uv_and_RGBhex();


gnuplot>load "reverse_uv_sRGB.gnuplot"; Valid HTML 4.01 Strict