Processing VIMS cubes, An attempt at "true" color |
Processing VIMS cubes, An attempt at "true" color |
Sep 10 2006, 07:51 PM
Post
#1
|
||||||||
Senior Member Group: Members Posts: 3648 Joined: 1-October 05 From: Croatia Member No.: 523 |
Right, a suggestion I made here in another topic made me wonder why not try that myself. A bunch of data was sitting on the PDS, after all. After a hassle figuring out just how the image cubes are organized and trying to read them, finally I was able to produce some results. This is all very rough work, can be considered first-iteration only and not particularly accurate.
Basically, I used the cubes to extract the visible spectrum in the 380-780 nanometer range which was then input to color matching code I found here by Andrew T. Young. The code integrates over 40 10-nm steps to produce CIE XYZ color components. I then converted these to RGB values. I'm aware of at least three inaccuracies in my code as of yet: one is the above sampled code apparently uses Illuminant C as the light source, not true solar spectra so the color turns out bluish (has a temp. of 9300 K instead of 6500 K, AFAIK). I tried to compensate at the moment by changing the final RGB white balance, but this is probably an inaccurate way to go. Another inaccuracy is I don't do bias removal from the cubes. This likely affects the outcome. Also, I don't use the precise wavelengths the code requires, but use the closest one in the cube. I intend to fix this by interpolating between nearest wavelengths. All images are enlarged 4x. The leftmost image is a 4-cube mosaic. The colors in all four frames turned out identical which gives me at least some confidence. The image in the middle shows Dione's disc creeping in front of Saturn. Dione's disc appears elongated probably because as the lines were readout, it moved considerably in its orbit. The rightmost image shows a very overexposed Saturn image, the part below the ring shadows got overexposed. From what I've seen browsing through the PDS, a lot of the cubes are badly overexposed at some wavelengths. Here's a couple of Jupiter images. I'm not very satisfied with them as they seem to look somewhat greenish, but overall the color looks believeable: Lastly, two Titan composites. They turned out way more reddish than I thought they would. It'll be interesting to see how much the results will change once I do a more proper processing pipeline working. -------------------- |
|||||||
|
||||||||
Guest_DonPMitchell_* |
Sep 21 2006, 02:43 PM
Post
#2
|
Guests |
Reflectance is independant of the illuminant. It should just be the ratio of reflected/incident spectral density.
sRGB is defined with a white point of D65. That means that sunlight should give you very close to RGB = 1.0, 1.0, 1.0. A flat spectrum would be illuminant E, but you don't want to make that your white point. I don't think you should be doing any of that division by spectra and whitepoint transformation. The VIMS camera is giving you the information to calculate absolute spectral density values. Just project those onto the matching functions to get XYZ, and transform that to sRGB, and you're done. That will give you what a human observer would see in space. Just for a sanity check, I ran some tests through my colorimetry code, to print out XYZ and RGB and chromaticity for some standard spectra: CODE Illuminant A: XYZ = 24.9524822235107, 22.7151050567626, 22.7151050567626 RGB = 41.9157028198242, 18.7636756896972, 5.29991245269775 xy = 0.447566837072372, 0.407435506582260 Illuminant D65: XYZ = 21.1444530487060, 22.2462940216064, 22.2462940216064 RGB = 22.2496452331542, 22.2456779479980, 22.2425174713134 xy = 0.312734514474868, 0.329031169414520 Solar Spectrum: XYZ = 405.107116699218, 417.494018554687, 417.494018554687 RGB = 456.046386718749, 408.477874755859, 393.248840332031 xy = 0.323091745376586, 0.332970887422561 Illuminant E: XYZ = 0.224980384111404, 0.224962189793586, 0.224962189793586 RGB = 0.271081715822219, 0.213312312960624, 0.204518526792526 xy = 0.333313554525375, 0.333286613225936 These seem to check, at least the chromaticity values are right. Illuminant E and pure sunlight (in space) both come out just slightly reddish. D65 is a better approximation of sunlight at sea level. I would still claim that "true color" means you don't get to fiddle with anything to make the image look subjectively "better". You can't change the white point or gamma or try to make Saturn look like it is being lit by a giant 6500 K tungsten lamp instead of the sun. You have to just process the spectrum into XYZ and then into sRGB and show that to people. And it's up to them to make sure their monitor is sRGB compatable, that's not our problem. |
|
|
Lo-Fi Version | Time is now: 26th September 2024 - 08:41 PM |
RULES AND GUIDELINES Please read the Forum Rules and Guidelines before posting. IMAGE COPYRIGHT |
OPINIONS AND MODERATION Opinions expressed on UnmannedSpaceflight.com are those of the individual posters and do not necessarily reflect the opinions of UnmannedSpaceflight.com or The Planetary Society. The all-volunteer UnmannedSpaceflight.com moderation team is wholly independent of The Planetary Society. The Planetary Society has no influence over decisions made by the UnmannedSpaceflight.com moderators. |
SUPPORT THE FORUM Unmannedspaceflight.com is funded by the Planetary Society. Please consider supporting our work and many other projects by donating to the Society or becoming a member. |