In a different thread where I posted recently processed Voyager 2 images of Europa I mentioned an image processing idea: Somehow combining Europa's entire visible spectrum with color information from spacecraft images to compute a synthetic, visible spectrum for each point in an image and use this to make synthetic R/G/B images.
I experimented a bit with this and wrote a small program to do this - the result was successful:
Click to view attachment
This image was generated by combining Europa's visible light spectrum from 380 to 770 nm with data from orange, green, blue and violet filtered Voyager 2 images. I used calibrated images from the PDS Rings Node. What I did was to use Europa's spectrum instead of linear interpolation to create a synthetic spectrum that is then converted to sRGB. It's illustrated in this graph:
Click to view attachment
Everything is done with an interval of 10 nm, this is also the reason the Europan spectrum appears rather smooth.The spectrum I used is of Europa's leading hemisphere which is visible in the right half (and actually extends a bit into the left half) in the image above. The Voyager 2 data and the synthetic spectrum is in arbitrary units.
The Voyager data represent an average from a north-south intensity profile from Europa's leading hemisphere in the Voyager 2 images I used. Interestingly, the green filter value from Voyager 2 is clearly too high and I'm pretty sure this is real since compared to the spectrum, it's too high relative to OR, BL and VI almost everywhere in the source images. A possible reason is that the Voyager filters are broadband filters; even though the green filter's effective wavelength is 564 nm it is sensitive to a range of wavelengths. This can be corrected by multiplying the orange, blue and violet data with ~1.08 before creating the synthetic spectrum and I decided to do this even though I'm usually not a big fan of fudge factors. The image above is the result after this correction. If I omit this correction the resulting image looks rather green - almost certainly too green.
Looking at Europa's spectrum it is clear that this method should be more accurate than using linear interpolation between the Voyager filters. In particular, linear interpolation underestimates the amount of green since a straight line between the blue and green Voyager 2 data points lies below Europa's spectrum everywhere with the exception of the data points (the effective wavelength of the Voyager 2 filters is VI=402 nm, BL=475, GR=564 and OR=589).
The algorithm I'm using for converting the spectrum to R/G/B is discussed in this interesting thread (one of the most interesting image processing threads I've seen here at UMSF). The spectrum -> RGB conversion really is the crucial part in all this. Like Gordan I'm also using Andrew Young's color matching code. My code therefore has at least partially the same issues as Gordan's - in particular the illuminant C issue mentioned by Gordan in the first post. I'm using the correction factors near the top of this post to deal with it.
The spectrum to RGB conversion is probably the biggest possible source of error and the problem is that I'm not exactly an expert in that stuff. But *if* the spectrum to RGB conversion works correctly (and it is probably either correct or nearly so) the resulting image of Europa should be extremely close to Europa's true color - at least on a global scale.
There is some additional, interesting image processing discussion in this thread (it starts here) and also in this thread (the image processing discussion starts here).