colorStudioMax: ColorBrowser+dictio​nary, colorBlind correct

Color Browser with dictionary, colorBlind correction & Philips Hue control
673 Downloads
Updated 3 May 2023

View License

Quick help: /screenshots/ColorStudioMax_HELP.jpg
Display Panels:
- Selected color : the current selected color, valid also for all other GUI panels.
- Closest name: closest entry in color dictionary csv file "color_codes.csv", containing 1147 color names and values.
The '<<' button makes the closest color the current selected color.
Display Control Panels
-----------------------
- HSV : two sections of HSV space, one at constant V (orthogonal to cilinder axis), one at constant H (parallel to cilinder axis)
- HSL : two sections of HSL space, one at constant L (orthogonal to cilinder axis), one at constant S (parallel to cilinder circular surface)
These four axis contain a draggable marker which will update on the fly the current selected color. The marker in HSL with constant S (right bottom axis) is instead updated upon release of the dragging. This choice was motivated by coexistence with the zoom functionality, accessible via the "+" "-" buttons below the axis.
RYB checkBox: changes the mapping of the displayed hue such that e.g. Yellow (H=60°) ends up at alfa = 120°. RYB has the advantage that complementary colors in the subtractive color space sense (paint) are at 180° from each other. Also I find RYB is a better representation for humans, when selecting color harmonies and color schemes.
Control UI TABBED panel : RGB|HSV|HSL, XYZ|xyY|Lab
-----------------------
TAB: RGB|HSV|HSL
A regular slider + edit box group per space, updated on the fly.
TAB: XYZ|xyY|Lab
A regular slider + edit box group per space, updated at the end of slider motion.
Since XYZ,xyY,Lab are not cartesian products, i.e. not all combinations of e.g. X,Y,Z are possible, when entering one of the 3 coordinates the others are changed accordingly if necessary, choosing the closest point in the color space. If the slider arrows are used, the slider will stop moving when out of the space. If the slider is clicked or dragged instead, or the edit box input is employed, the other coordinates are changed as necessary.
User Palette:
--------------
Each button has a state, 'busy' when displaying a color, 'free' when displaying a grey gradient.
A free button will store current color when left clicked.
A busy button will change the current color when left clicked.
A busy button will clear its content when right clicked.
Clear button : self explanatory
Save|Load : save|load current palette in a csv file using the hex RGB codes. Use the palette folder for this.
RGB primaries Palette:
---------------------
Similar to the User palette, but non erasable.
Right click on white resets the GUI
Color Scheme Panel
------------------
- Color Wheel : a set of 12 colors, equidistant in RYB hue, spaced by 30° RYB degrees.
The color wheel is updated such that the current color is always present, marked by a filled circle.
Saturation and Value of all entries is constant and equal to that of the selected color.
Each patch is clickable and changes the current selection.
- Color Scheme Selector (at the bottom): one of the following
'Complementary',... % H0, H0+180
'Split Complementary', ... % H0, H0+150, H0-150
'Analogous',... % H0, H0-30,H0+30
'Accented analogous', ... % H0, H0-30,H0+30, H0+180
'Triadic', ... % H0, H0+120, H0-120
'Rectangle',... % H0, H0-30, H0+180, H0+150
'Square',... % H0, H0+90, H0+180, H0-90
where H0 is the RYB hue of the current selected color.
see also
- Color Patches : Represent the current color scheme
- B/W checkbox : change the background of the color scheme to black or white
- Color-Blind Popup (Display Mode) : Modify the display of color scheme, wheel and palette buttons color to correct/simulate Deuternaomalous color blind vision :
'normal mode' : no modification, normal vision
'deuteranomalous correction 1' : R/G Equalize for color blind viewer, setting = weak
'deuteranomalous correction 2' : R/G Equalize for color blind viewer, setting = medium
'deuteranomalous correction 3' : R/G Equalize for color blind viewer, setting = strong
'deuteranomalous simulation 1' : Distort for normal viewer setting R/G color blind weak
'deuteranomalous simulation 2' : Distort for normal viewer setting R/G color blind medium
'deuteranomalous simulation 3' : Distort for normal viewer setting R/G color blind strong
Try load palette: "palettes\_ColorBlind_Identical_Pairs_Deuteranopus.csv"
which contains three pairs of nearly undistiguishable colors: AABBCC
and see the effect of the above corrections.
see ColorGUI_v1_0\screenShots\color-blind\ for examples
see ColorGUI_v1_0\tools\colorblind\ for implementation. In particular run test_Deblinder_Hue_LUT to see the effect on the Ishihara color blind tables (if you are a red-green 'moderate' color blind, i.e. "Deuteranomalous")
see Deblinder_Hue_LUT.m header text for more details.

Cite As

Massimo Ciacci (2024). colorStudioMax: ColorBrowser+dictionary, colorBlind correct (https://www.mathworks.com/matlabcentral/fileexchange/61775-colorstudiomax-colorbrowser-dictionary-colorblind-correct), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Migrate GUIDE Apps in Help Center and MATLAB Answers
Acknowledgements

Inspired by: draggable, Philips Hue Matlab Driver

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

ColorGUI_v3_3

ColorGUI_v3_3/Philips_HUE_ML_Driver_v1_5

ColorGUI_v3_3/Philips_HUE_ML_Driver_v1_5/PHUE_Connect

ColorGUI_v3_3/Philips_HUE_ML_Driver_v1_5/PHUE_Connect/BridgeTools

ColorGUI_v3_3/Philips_HUE_ML_Driver_v1_5/PHUE_Connect/BridgeTools/convert

ColorGUI_v3_3/Philips_HUE_ML_Driver_v1_5/PHUE_Connect/BridgeTools/convert/calc_XYZ_sRGB_MatrixForTriangleGamut

ColorGUI_v3_3/Philips_HUE_ML_Driver_v1_5/PHUE_Connect/BridgeTools/urlread2

ColorGUI_v3_3/tools

ColorGUI_v3_3/tools/Plots

ColorGUI_v3_3/tools/Plots/patchObjectColor

ColorGUI_v3_3/tools/UI

ColorGUI_v3_3/tools/colorblind

ColorGUI_v3_3/tools/colorblind/makeLUTs_from_Imgs

ColorGUI_v3_3/tools/conversions

ColorGUI_v3_3/tools/dictionary

ColorGUI_v3_3/tools/geometric

ColorGUI_v3_3/tools/geometric/TSP3D

Version Published Release Notes
3.3.1

disabled a debug flag which was accidentally on

3.3.0

Added preserve Lab mode to color wheel, useful to make palettes of < 90% saturated colors, with a similarity of perceived Lightness.

3.2.0

url = 'https://www.meethue.com/api/nupnp'; became invalid, using new address:
url = 'https://discovery.meethue.com/'

3.1.0

Minor changes for a faster start-up.

3.0.2

The small version of the GUI had one bug loading palettes.

3.0.1

just had forgot to update "created with" field

3.0.0

(1) Updated for ML2016b which was crashing
- panels created with FontUnits points, then set to normalized else half GUI doesn't show
(2) Correct scaling of GUI upon changing the startup resolution

2.4.0.0

- Updated Philips Hue Driver to list available lamps

2.3.0.0

Added a "close function" which turns off the lights before closing the GUI (XT version only). Also the XT version of the GUI only closes via its 'x' button, not when one types close all in the console.

2.2.0.0

Improved color sorting, with choice of color space for sorting.

2.1.0.0

1) Fixed a bug in ColorStudioMax_XT, clicking on HSV(S) plane
2) make_WheelAndSchemePatches.m has a new switch "COLORSCHEME_IS_CLICKABLE"
3) XT version of the GUI will now only close on close all force.
Updated screenshot to show the wheel with one of the colorblind corrections

2.0.0.0

Philips_HUE_CONNECT.m is updated.
Hue bridge setup issue fixed.
While connecting to https://www.meethue.com/api/nupnp
"The server returned the message: "sun.security.validator.ValidatorException: PKIX path building failed"
see also readme.txt

1.9.0.0

- color dictionary now has 1152 color entries
- startup : set visible after zoomed
- Palette init : at startup palette START.csv is loaded, overwrite it with your favourite palette

1.8.0.0

Improve color distance: findClosestColorToGivenRGB_Lab_Metric, balanced weights, and less priority to saturation
Color Dictionary : 3 new entries. Total Named Colors = 1150.

1.7.0.0

Added two more color picker spaces: HV of HSV and SL of HSL. Now there are six picker planes
HSV : HS, HV, SV (new)
HSL : HS, HL (new), SL
Especially the new SV picker is a useful addition, more pleasant than SL to work with.
ooops! I had only updated the screenshot ! Sorry for the inconvenience..

Launch "ColorStudioMax_XT.m" for 6 panel mode as in the screenshot, ColorStudioMax for 4 panel mode (previous version).
screen shot

1.6.0.0

findClosestColorToGivenRGB_Lab_Metric Mode 4 (Lab-HSLcart, 66%-33%) uses now cartesian HSL, wrap@ H=360 fixed.
Added screenshot about PHUE RGB-2-xy: showing how RGB-XYZ-xyY is stretched to meet the PHUE corners
(In set_Lamp_RGB.m default GAMUT=C)

1.5.0.0

- Cleaned up some unused code
- Added a few PHUE palettes nice to loop with, in particular, PHUE_Blues_1 is my favourite study palette. Wheel_24 palettes are a bit too flashy, but nice to show off your leds to friends.
- Added sorting of Color Palette, based on a 3D Travelling Salesman Problem. This is handy especially when looping colors with Philis Hue Led lights, to minimize color discontinuities.

1.4.0.0

updated screen shot
Added A loop feature, which goes through all current palette colors. Useful after connecting with Philips Hue Lamp, to create any desired color sequence, with the aid of "load palette and" "save palette". See e.g., PHUE_cool2.csv.

1.3.0.0

- Updated Hue driver to v1.3
- Added 2 color palettes, PHUE_cool , PHUE_warm

1.2.0.0

add one cross link
forgot to update name
Major improvement of usability: while picking the color you will see the Philips hue lamp following you in real time... :)!
Have a look at the screen shot. To launch simply start ColorStudioMax, and have fun !
- shorter file, smaller screenshots

1.1.0.0

screen shot
- csv color table had one offending space (not visible in 2014b)
- color de-blinder tables were tweaked to my vision in March, had not been uploaded until now
- updated screen-shot with some quick-help words

1.0.0.0