Hi everyone.
As per @Francesca and @Kenneth_Moreland , we are going to tweek the Fast map slightly. This change will be in 5.12.0-RC2. We are adding two more control points, which helps smooth the transitional center, and adds nicer colors 1/4 and 3/4 down the map, at least to my eye. As per analysis tools, this map has better discriminatory power. This map also appears to have more discriminatory power for color blind folks (tested visually by me using the color-blindness.com color blind simulator, not by analysis tools).
Here is a comparison of the old and new Fast color maps:
As a side issue, we really need a better way to manage movement of control points for all maps that have numerous control points, including our new default. @Kenneth_Moreland suggested making this a feature of the color map editor. It is written up here: https://gitlab.kitware.com/paraview/paraview/-/issues/22379.
Iāve been using Fast as my default colormap in 5.12.0-RC#. One thing I have noticed is that the NaN color is set to black. I donāt think that is a good color for NaN as it does not make it distinct nor noticeable enough.
Iām not sure if this is intentional or the color was just left out. Cool to Warm sets the NaN color to yellow. Maybe this is not the best choice for Fast because it has some yellow in the middle. Maybe we could use a different color that is bright but distinct from the hues being used, such as magenta.
Why green? In US and European culture, green is usually associated with the good or āgo aheadā state. A NaN usually represents the opposite of that. Also, I expect many users will be used to colormaps where green just means middle value and wonāt raise alerts.
I suggested magenta (perhaps a light version like #ff80ff). I find it a more jarring color, possibly because it has a weird hue that is not represented by a mono-wavelength light. It is also not typically used in colormaps, so users are less likely to ignore it if swapping between colors or tools.
The problem with yellow is that fast also has yellow in it. It becomes less obvious the value is yellow and not the middle value. This confusion would likely be compounded if the user didnāt realize that NaN got its own color or just was not expecting NaNs.
As long as the shade of yellow is distinct from anything that can be produced by the Fast colormap, it seems like that could work.
Magenta (as long as it was perceptually distinct from ParaViewās selection color) would also be fine. So would something orangey, as that is also associated with caution in many culturesā¦
The yellow in Fast is not very saturated, so it would be easy to distinguish between any of the Fast colors and the typical intense yellow (i.e. #ffff00)ā¦ if you know what to look for.
Anecdotally, Iām thinking back to a session where I was sitting with an engineer looking at detailed CFD output and noticed specks of yellow in the rendering. Even though we were using a cool-warm map with no yellow, there wasnāt supposed to be a NaNs, so I originally wrote it off as some weird color mixing. But that didnāt make sense so we looked further and found that the Gradient filter was in fact generating some NaN values. If we were using Fast, I worry I would have just wrote it off as a bright part of the surface.
As we canāt use shades of gray (those are for above and below range), and we currently have dark blue, blue, light blue, white(ish), yellow, orange, red and dark red, I think green is a great color for NaN. It isnāt in the color map. I agree ken, Green means things to many cultures, but I think for clarity, green is the best color. We want something that will stand out. It does. Note, having to do with traffic signs, we use red and yellow without concern, even though that has meaning in traffic signs. Should we throw red and yellow out?
As a user, I think as long as its a garish shade of green that would be sufficiently ānoisyā to me that it would stand out as something important - especially since the FAST colormap is a bit softer in its shades:
I want to make one final pitch for magenta. Here are three screenshots of data with some random NaNs thrown in: the green that I think is the same color as @GregVernonās screenshots, yellow, and magenta.
I would say that yellow is a no-go. It is invisible against the middle part of the colors. I would argue that the magenta contrasts better than the green and also has the advantage of a natural āalert weirdā response when seeing it.
The only bad thing about magenta is that it is also the color we use for selections. But the reason selections are that color is for the same reasons we want the NaN color to follow: it is easy to spot and follow from colormap colors.
What if a person wants to select the NAN cell or point? They wonāt be able to see the selection.
Having said that, I believe yellow is out (as shown by Ken above. Well done). Iām good with green or magenta. They are both very visible, and not close to colors in the color map