As I was getting a root canal last week, my dental X-Rays reminded me anew of an optical illusion that stumped us for a short time recently when we were developing our heatmapping engine.
Dentists, or at least dental radiologists looking at dental X-Rays, are probably familiar with the pesky phenomena of Mach Banding. It is an optical illusion that presents itself when contrasting tones are viewed right next to each other in the context of lightness gradients. The intersection appears to have a spike in contrast -the light side gets an even brighter stripe and the dark side appears to have a darkened stripe. See for yourself in this Wikipedia image…
What’s the deal with that? Turns out, it’s all in your head (literally). Our human visual systems maximize contrast in a scene in order to sharpen patterns (perhaps to get a jump on the lurking tiger in the tall grass). When a neuron in the retina is stimulated, its neighbors are inhibited and don’t fire -the result is a sharpened picture (we do the same thing with contrast filters in image processing). That’s pretty impressive eyeball hardware -but the usually-helpful optical illusion can lead to the perception of visual variation in a gradient that isn’t really there. This impacts dental radiologists and those who look at heat maps. Here’s what we saw…
It really looks like there are a couple of edge artifacts where these two hotspot gradients intersect. But there’s not. You are crazy -but we’re all crazy in the same way. Rub your eyes a little; still crazy.
This is something that heatmap makers (whether it is a Visual Fusion heatmap, a kernel density plot in R, or some other engine that spits out gradient overlays) should be aware of -even if it’s just to avoid the hours spent needlessly tweaking your code and/or your eyeballs. There’s not a whole lot you can do about it…other than to break up the gradient by showing it atop some nice background context (like a basemap or aerial imagery), which I’d hope you were planning on doing all along anyway.
Stuff in the background breaks up the isolated brightness gradation and nukes the Mach banding, which is nice.
Here‘s slightly more, partially redundant, reading on the subject as it relates to our heatmapping engine.