5 ms·
If you have any interest in this topic, I’d strongly recommend watching this presentation at SciPy 2015 where Viridis and Inferno were first presented, when the
by kbd 7y ago
If you have any interest in this topic, I’d strongly recommend watching this presentation at SciPy 2015 where Viridis and Inferno were first presented, when the developers of Matplotlib were coming up with a new default colormap to replace Jet:
https://www.youtube.com/watch?v=xAoljeRJ3lU https://www.youtube.com/watch?v=xAoljeRJ3lU
I'd love to see Turbo analyzed in the same fashion.
- Zarel 7y agoThe lightness plots midway through Google's blog post are made with CIECAM02-UCS, which is the same color space Matplotlib's video talked about using. It looks like Turbo is just Jet, but plotted in CIECAM02-UCS (instead of Jet's HSV). It removes many disadvantages of Jet, while keeping Jet's advantage over Viridis/Inferno of making it easier to compare/contrast small differences. The video and the blog post actually go over a lot of the same topics, like perceptual lightness and how Jet was found to lead to mistakes reading medical imaging. I'm not sure what analysis you're looking for; the video's a good explanation of color theory, but its analysis of Viridis is mainly just "we plotted a line through CIECAM02-UCS color space and made it linear lightness". Turbo is the same, except the line is curvier and not linear lightness – and the blog post goes through the tradeoffs of that approach.
- jacobolus 7y ago> making it easier to compare/contrast small differences Unless they happen to be near the middle of the data range, at which point it becomes much harder to compare them. This makes an artificial (not from the data) visual artifact for the entire middle part of the data range. Also visual contrast for data at one part of the data range is no longer remotely comparable to visual contrast for other parts of the data range. Finally, amount of perceived contrast is no longer proportional to differences in the data. * * * The specific comparisons done are misleading: they picked a test image with important low-contrast detail at one end of the data range and no important low-contrast detail near the middle of the data range, because they are promoting their color map which has very dramatic lightness contrast at the ends of the data range at the expense of almost no lightness contrast near the middle of the data range. If you were expecting to be working with data like this frequently there are many other things you could do to improve contrast in the part of the data you are specifically interested in.
- Zarel 7y agoI'm not sure which test image you're talking about. This one seems to have low-contrast detail everywhere in the data range: https://1.bp.blogspot.com/-H-1I69V29VM/XVWeDrO7EPI/AAAAAAAAEdI/rc4kcJYaiNkTgazt-P1tJ7xCgeXBTuNFgCLcBGAs/s1600/image31.png https://1.bp.blogspot.com/-H-1I69V29VM/XVWeDrO7EPI/AAAAAAAAE... https://1.bp.blogspot.com/-6zVTINtwP60/XVWeKMWavuI/AAAAAAAAEdM/VYew83Y03bI37wZDCXmqYaduNbLWAbSawCLcBGAs/s1600/image22.png https://1.bp.blogspot.com/-6zVTINtwP60/XVWeKMWavuI/AAAAAAAAE... While it's true that Turbo/Jet have low lightness contrast in the middle range, it makes up for it with hue contrast. While there are of course ways to improve contrast in specific parts of a data range, I like Turbo for having high contrast in general, to make it less necessary to "zoom in" on a specific range, and also to have even higher contrast after zooming in.
- jacobolus 7y agoHue contrast is not very salient to the human visual system. But while we’re at it there’s also not very much hue contrast in the middle of this color scheme. It goes from light bluish green to light yellowish green. Yes that cherry-picked image. Their original data is some kind of (log-scaled?) distance map, where half (?) of the image is in the bottom 20% of the data range. They put a bunch of apparently important data between values of like 0.00 and 0.05, but don’t have any substantial amount of important data between 0.45 and 0.55. Their color scheme has very strong lightness contrast in the 0.0 to 0.05 range, and almost no lightness contrast in the 0.45 to 0.55 range. If they had instead put a bunch of important low-contrast detail in the mid range, it would become nearly invisible compared to the old scheme. If you really care about the data from 0.0 to 0.05, and don’t really care about the data from 0.45 to 0.55 you can apply some function (e.g. a power function, or inverse smoothstep or something) to your data beforehand.
- rocqua 7y ago> They put a bunch of apparently important data between values of like 0.00 and 0.05, but don’t have any substantial amount of important data between 0.45 and 0.55. I don't think they chose the image to best present their colormap. It seems more likely that they designed their colormap to work well for a few images, including this image. Call it a very weak form of Hanlon's Razor