If I have a 2D scalar image, it's trivial to display it with MATLAB or matplotlib type tools with the pixel values mapped via a color map, and there is any amount of literature (one example, another one) describing the perils of those tools' default "rainbow" colour-maps and the advantages of various other schemes (color ramps constructed to be more suitable for the significant proportion of the population which is colorblind, for example).

However, if I have two 2D scalar images and want to fuse/overlay them in some useful way (rather than just displaying them side by side), it's less clear what the best approach is. The naive approach of using one channel as red and one channel as green in a combined image kind of works, but is pretty ugly looking. Mapping one channel to luminance and one to hue in an HSV color space also kind of works, but it becomes impossible to identify the hue of the dimmest pixels (unless luminance is kept quite high, but that destroys contrast).

So my question is: is there some recognized and generally considered good/best way of visualizing such fused image pairs? Or does it all depend on the details of the data and the specifics of the "visualization problem" to be solved?

NB I'm not considering the case of visualizing images of vector quantities or complex numbers; this is more about independent but spatially registered scalar image data from different sensors/"modalities" or GIS/mapping systems where the viewer wants to get some insight into spatial correlations between the imaged quantities.


If "kind of works" but slightly less ugly is acceptable, than any two not-too-near-to-co-linear RGB color space vectors will do, and you or the user can just play with them to get a preferred combination of differentiation and non-ugliness (say, from a suitable artistic palate coordinated with other artwork color schemes in or around the data presentation, etc.) for the particular data sets. Perhaps let the user choose one color vector, and auto rotate the other color vector to some roughly orthogonal point in the color space if it's too close to co-linear.

If you invert the data vector (or use a subtractive color vector) and thus fade to white, the lighter pastel version of some color vectors may blend better, but this depends on the mean and distribution of the data.


Image fusion algorithm could assist you here. You can try wfusimg in Matlab for fusion using wavelet coefficients.

  • $\begingroup$ Interesting, but that's not really what I'm looking for (e.g if I have a scalar image of, say, sea surface temperature, and another one of chlorophyll (plankton) density, fusing them together using this method wouldn't help the user understand the relationship between either of them! $\endgroup$ – timday Jan 2 '14 at 9:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.