antovsky
antovsky on Hacker News
Just happened to not close the tab yet :)
The licence is Apache-2.0, which is permissive, similar to MIT.
Yes I believe that's correct. My intuition is that since these matching experiments are very local, it's perfectly possible to have 'constant' distances integrate into non-linear curves (which are no longer 'the shortest path') or simply have error build up as you take 'finite steps'. Indeed I believe that's what caused the "blue turns purple" problem in CIELAB back in the day, since it was fairly constant locally but had non-straight hue lines.
http://www.brucelindbloom.com/index.html?UPLab.html
CAM02 is certainly much more uniform than LAB (hence OS's using it to print these days) but I think the problem is still fundamentally there (especially once we start talking about 'appearance' given a 'surround' and so forth).
The Fairchild book is indeed a classic and a heavy hitter as you mentioned :) I can't claim to have read it cover to cover.
Another interesting (and somewhat unconventional) book is Jan Koenderink's "Color for the Sciences".
Thanks! Indeed there are a few 'rainbow' variants out there (in d3, matplotlib, matlab), and some of them are very pleasant (though I think lower contrast). I personally find it confusing to have 'pink' in a rainbow map. It's not in a real rainbow, and the way I recall the color order is by visualizing that so it trips me up :)
I like Spectral a lot as well. I think if you're not after mega contrast it's probably the best bread-and-butter map out there for this kind of work.
Thanks for the thorough evaluation and results! I was aware of colorspacious but I (wrongfully) assumed that it would be the same result as the other simulators (why would someone use ancient literature to make a modern tool...) Will definitely use it in the future instead.
I like your idea of measuring "distances to all other colors" as a litmus test for color confusion issues. It would have been great to see the spread/standard deviation along with the average, in order to see which color was particularly problematic, rather than simply 'weak' (like Twilight).
You're right that under this rubric it's probably not possible to create a colorblind-friendly rainbow map. I was aiming for the colors to be distinguishable, but not 'equally different', which is a much higher bar.
I am also not convinced that even CIECAM02-UCS can give a meaningful answer for 'long distances'. Once hues are different, I think psychologically we give that 'difference' much more weight than the shade. For example I would guess most people would consider Red and Yellow more different than Red and an (equally dE different) darker shade of Red. So surely this would make rainbows even more problematic.
At the end of the day, Turbo was basically designed to steer Jet-lovers to a somewhat better place, so it looks like by your metric it does accomplish that. I agree that making it truly colorblind-optimal was not accomplished, and would require significant changes (if it's even possible).
Indeed, we probably should have compared more directly to Rainbow, I got a bit of this flak on Twitter as well (with my rationale included):
https://twitter.com/JamesABednar/status/1163978274361544704?...The practical issue is that not many people really use Rainbow instead of Jet, for the reasons I mentioned in the article (it sacrifices too many of the 'good bits' of Jet). So instead I chose to compare to the more 'widely recommended' maps.
But you're right, I should have thrown rainbow into the mix, even if I didn't have the space to write about it.
Sinebow is really nice and smooth, but I'd say there is a bit too much green, and the green that's there is way more saturated than the rest of the colors (perhaps save magenta). The yellow is very sad and desaturated looking. The 0.5 value is also a drab cyan, making it hard to identify.
I purposefully didn't include magenta into Turbo, so it could be used as a 'marking' color.
Sinebow is also cyclic, which we purposefully didn't want (so that you could tell max from min), but for a color wheel style application this is a plus.
Indeed, it's a bit 'against the grain', but definitely possible and the advantage is obvious.
Thanks for pointing this out. I had actually read [2] and I think just assumed that's what 'the most used simulator' would be doing :\ Can you suggest a better alternative? (I can re-implement the paper, but I'd rather just use a known gold standard). Also the source image is there, in case you have a simulator you can run it through and post the results.
The author does! Much appreciated, will fix :)