IPB

Welcome Guest ( Log In | Register )

Processing VIMS cubes, An attempt at "true" color
ugordan
post 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.

Attached Image
Attached Image
Attached Image

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:
Attached Image

Attached Image


Lastly, two Titan composites. They turned out way more reddish than I thought they would.
Attached Image
Attached Image


It'll be interesting to see how much the results will change once I do a more proper processing pipeline working.


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Replies
slinted
post Sep 20 2006, 11:00 PM
Post #2


Member
***

Group: Admin
Posts: 468
Joined: 11-February 04
From: USA
Member No.: 21



UGordon, first off, this is an amazing project you have undertaken! I'm really impressed with your results so far. It is a perfect use of the VIMS dataset, especially given the large number of vastly different targets.

As to the VIMS cube to color conversion, I think you may be better off to start fresh rather than using the conversion code by Andrew Young. Some of the hue problems you described might be explained by his 'weighting' of the color matching functions with Illuminant C. It is a bad approximation of direct sunlight, but more importantly, I'm fairly sure his use of it as a weighting for the color matching functions (and your scaling of it, to D65) actually changes the hues arbitrarily.

From my understanding of spectrum to XYZ conversion, the best way to handle the calculation is to integrate (Newton-Cotes would be a good method) your spectrum directly through the CIE Color Matching Functions ( http://www.cvrl.org/cmfs.htm , CIE 1931 2-deg modified by Judd (1951) and Vos (1978)). That will give you XYZ coordinates, appropriate to whatever you deem the source lighting to be. Then, in a separate step, you convert from source XYZ to destination XYZ (D65). XYZ scaling isn't the best way to handle this conversion since it changes the hues inappropriately and doesn't change the luminance at all. You might want to look into either Bradford or Von Kries as an alternate method.

What you choose as a source white point is another matter entirely. It depends on what you want your true color to represent. Here are two scenarios:

1) An astronaut is sitting inside a ship, looking out the window and sees the scene. In this case, the viewer would be adapted to the internal lighting of the ship and the lighting of the scene would have little to no effect on the way it is perceived. If this is the goal, no chromatic adaptation is necessary. You can simply convert the original XYZ values directly to D65 according to the matrices listed earlier in this thread.

2) An astronaut is floating in space, with only the VIMS scene visible to them (or, in a similar scenario, a person is seeing the VIMS scene as if it were through the eyepiece of a very powerful telescope).

If you are aiming for #2, then you can use the Bradford or Von Kries method for adapting into D65 from whatever you deem the source white to be.
Go to the top of the page
 
+Quote Post
ugordan
post Sep 21 2006, 07:46 AM
Post #3


Senior Member
****

Group: Members
Posts: 3648
Joined: 1-October 05
From: Croatia
Member No.: 523



Thanks, Slinted! I'll certainly have a look at the Bradford method and compare the results, even though it seems to be very similar in terms of the conversion matrix to the XYZ scaling. The planetary targets are mostly dull, so I figure the different methods won't produce radically different results. I already tried with the normal XYZ CMFs, but got weird results no matter if I removed or not the solar spectrum from the data. My sort of ground-truth check to color is Enceladus, as well as Mimas and Dione. Enceladus is basically all white and if I don't get 1.0/1.0/1.0 as RGB intensities I assume the result is bogus. Currently, it fits neatly with all three coming out nice and neutral, with Dione's dark-stained side ever-so-slightly greenish, which as I understand is correct.
What I don't understand, though, is how the heck neutral Enceladus turns white with my current code and the Moon doesn't. If they both have a flat spectrum, they should both turn out the same color. Mimas did, it's gray and though it's substantially darker than Enceladus, it made no difference to the code.

The Moon result reminds me of shots like this, Apollo 15 and Apollo 15 #2 for example (last two ripped off from www.apolloarchive.com). I haven't looked further, but there are other similar ones as well.

Is it even remotely possible the Moon is pale brownish and it's because of great brightness difference between it and the dark sky that it appears gray and washed out to us on Earth? Don Mitchell's palette would certainly suggest so.

Another image which is more of a demonstration of color than a real image. For all practical purposes VIMS couldn't resolve the Galilean satellites, they were merely pixels when viewed in normal resolution mode. The spectra is there, however. This composite of Io, Europa and Ganymede is vey, very, very enlarged and it's only to show the color. The cubes were taken at about 10 million km.
Attached Image


Note how yellowish Io turned out, compared to Europa and Ganymede. This is in good agreement with the "true" color of Io, unlike those enhanced pizza-shots Galileo and Voyagers took. Europa and Ganymede turned out colorless, Ganymede perhaps in part due to brightness applied here. The image doesn't show the relative brightnesses of the moons, I scaled each one to maximum. Note that VIMS visual channel exhibits a kind of chromatic aberration where all spectral channels don't project perfectly on the same pixel. This can cause some color shifting at point-like sources like these (in fact it's noticeable) so the end result is just illustrative. Nevertheless, it's nice to see Io standing out even at this distance.


--------------------
Go to the top of the page
 
+Quote Post
JRehling
post Sep 21 2006, 06:06 PM
Post #4


Senior Member
****

Group: Members
Posts: 2530
Joined: 20-April 05
Member No.: 321



QUOTE (ugordan @ Sep 21 2006, 12:46 AM) *
Is it even remotely possible the Moon is pale brownish and it's because of great brightness difference between it and the dark sky that it appears gray and washed out to us on Earth?


Bingo.

Time for a lot of hedges, though. Color is not an objective property the way mass is. Color is something we perceive, and the perceived color of an object most definitely depends, as you suggest, on the level of illumination. It all comes down to the response of the three types of cones plus the one type of rod, and those are nonlinear with respect to level of illumination.

In dim light, the eye perceives no color because the rods respond but no cones do. At moderate-to-bright levels of lighting, the cones will respond according to the rough R/G/B reflectance of a surface. But at brighter levels, saturation can take place. A somewhat greenish object will look increasingly pale-to-white as illumination increases to the point that the "green" cones are responding at full capacity, but the reds and blues start to catch up. Now to retract some of that -- it's not just the cones, but the contextually-influenced color sensory perception a couple of layers deeper than the retina. So the saturation effect can occur at moderate levels of illumination if the eye is otherwise dark-adapted.

If you get the opportunity to see the Moon in a daylit sky with low humidity (you may not live in an area where that ever really happens) and there happens to be a cumulus cloud close enough to compare it with the Moon, you'll see: The Moon is kind of brownish. To your eye, in those conditions. Having your eye be light-adapted makes all the difference.

The thing is, it doesn't make sense to say the Moon really "is" the way it appears when your eye is dark adapted or the way it appears when your eye is light adapted. That's your eye's baggage, and it has nothing to do with the Moon. There really isn't any such thing as true color, when it comes right down to it. It's necessarily subjective and contextual.
Go to the top of the page
 
+Quote Post

Posts in this topic
- ugordan   Processing VIMS cubes   Sep 10 2006, 07:51 PM
- - Malmer   its a really great "realitycheck" for th...   Sep 12 2006, 09:48 PM
|- - ugordan   QUOTE (Malmer @ Sep 12 2006, 10:48 PM) it...   Sep 13 2006, 08:56 AM
|- - Malmer   QUOTE (ugordan @ Sep 13 2006, 10:56 AM) I...   Sep 13 2006, 03:04 PM
- - dilo   Very nice work, gordan... now we see the colors...   Sep 12 2006, 10:21 PM
|- - ugordan   QUOTE (dilo @ Sep 12 2006, 11:21 PM) To m...   Sep 13 2006, 06:56 AM
|- - dilo   QUOTE (ugordan @ Sep 13 2006, 06:56 AM) T...   Sep 13 2006, 04:17 PM
- - CAP-Team   It looks as if the colors match Voyager's colo...   Sep 13 2006, 02:16 PM
- - Malmer   QUOTE (ugordan @ Sep 10 2006, 09:51 PM) I...   Sep 13 2006, 02:49 PM
- - DonPMitchell   How do you convert XYZ to RGB? Are you making sRG...   Sep 13 2006, 04:55 PM
|- - ugordan   Yes, I'm using that XYZ to RGB matrix. I had t...   Sep 13 2006, 08:33 PM
- - DonPMitchell   Very good. Gamma 2.2 is technically what should b...   Sep 14 2006, 04:07 AM
|- - ugordan   The pixels are linear as far as I know, a 12 bit A...   Sep 14 2006, 07:09 AM
|- - Malmer   QUOTE (DonPMitchell @ Sep 14 2006, 06:07 ...   Sep 14 2006, 09:30 AM
|- - Malmer   The pixels in the ISS images are not linearly save...   Sep 14 2006, 09:43 AM
||- - ugordan   I am very well aware of the ISS data specifics. Wh...   Sep 14 2006, 10:47 AM
||- - Malmer   QUOTE (ugordan @ Sep 14 2006, 12:47 PM) I...   Sep 15 2006, 12:50 PM
||- - ugordan   QUOTE (Malmer @ Sep 15 2006, 01:50 PM) On...   Sep 15 2006, 06:26 PM
||- - Malmer   it would be fun to paint spheres in the colors you...   Sep 15 2006, 11:40 PM
|- - DonPMitchell   QUOTE (Malmer @ Sep 14 2006, 02:30 AM) co...   Sep 14 2006, 03:39 PM
|- - Malmer   I think the strange piecewise funktion has its ben...   Sep 15 2006, 12:33 PM
|- - ugordan   QUOTE (Malmer @ Sep 15 2006, 01:33 PM) I ...   Sep 15 2006, 06:10 PM
- - DonPMitchell   One concept is to make an image that resembles wha...   Sep 16 2006, 01:56 AM
|- - Malmer   QUOTE (DonPMitchell @ Sep 16 2006, 03:56 ...   Sep 16 2006, 09:42 AM
|- - ugordan   A mosaic of Saturn's northern latitudes: App...   Sep 16 2006, 03:39 PM
||- - john_s   Just checked out your gallery, ugordan- your proce...   Sep 16 2006, 04:54 PM
||- - ugordan   QUOTE (john_s @ Sep 16 2006, 05:54 PM) Ju...   Sep 16 2006, 05:56 PM
|- - DonPMitchell   QUOTE (Malmer @ Sep 16 2006, 02:42 AM) so...   Sep 16 2006, 06:47 PM
|- - Malmer   QUOTE (DonPMitchell @ Sep 16 2006, 08:47 ...   Sep 16 2006, 09:02 PM
- - DonPMitchell   I also really like what you are doing. I hope you...   Sep 16 2006, 07:01 PM
|- - ugordan   QUOTE (DonPMitchell @ Sep 16 2006, 08:01 ...   Sep 16 2006, 09:37 PM
|- - DonPMitchell   QUOTE (ugordan @ Sep 16 2006, 02:37 PM) H...   Sep 17 2006, 04:17 AM
|- - ugordan   A couple of rough Saturn mosaics: The blob in the...   Sep 17 2006, 04:44 PM
|- - Malmer   I think it looks great. Very subtle beautiful colo...   Sep 17 2006, 07:17 PM
|- - ugordan   A few Jupiter images, fixed the greenish hue. It w...   Sep 19 2006, 05:21 PM
|- - Malmer   QUOTE (ugordan @ Sep 19 2006, 07:21 PM) A...   Sep 19 2006, 07:23 PM
|- - ugordan   The vertical stripes (most noticeable is a blue li...   Sep 19 2006, 07:37 PM
|- - Malmer   I guess you have to make an additional flatfield r...   Sep 19 2006, 08:16 PM
||- - ugordan   QUOTE (Malmer @ Sep 19 2006, 09:16 PM) I ...   Sep 20 2006, 07:24 AM
||- - Malmer   it was a typo. i actually ment darkcurrent. mixed ...   Sep 20 2006, 08:48 AM
||- - ugordan   Although the noise stays fixed, it changes intensi...   Sep 20 2006, 09:22 AM
||- - ugordan   Not particularly related to my processing, but her...   Sep 20 2006, 11:34 AM
||- - Malmer   QUOTE (ugordan @ Sep 20 2006, 11:22 AM) W...   Sep 20 2006, 03:23 PM
||- - ugordan   Here are a couple of... hm... questionable(?) resu...   Sep 20 2006, 07:38 PM
|- - tedstryk   Great work! As for the calibration data, it c...   Sep 19 2006, 08:18 PM
- - slinted   UGordon, first off, this is an amazing project you...   Sep 20 2006, 11:00 PM
|- - ugordan   Thanks, Slinted! I'll certainly have a loo...   Sep 21 2006, 07:46 AM
|- - JRehling   QUOTE (ugordan @ Sep 21 2006, 12:46 AM) I...   Sep 21 2006, 06:06 PM
|- - ugordan   JRehling, those are all valid, good points. I said...   Sep 21 2006, 07:16 PM
- - DonPMitchell   It is true that Judd and Vos made improvements to ...   Sep 21 2006, 12:55 PM
|- - ugordan   QUOTE (DonPMitchell @ Sep 21 2006, 01:55 ...   Sep 21 2006, 02:25 PM
- - DonPMitchell   Reflectance is independant of the illuminant. It ...   Sep 21 2006, 02:43 PM
- - DonPMitchell   There's a brown Moon for you, taken by Galil...   Sep 21 2006, 07:03 PM
- - slinted   Good points made by all, Part of my confusion on...   Sep 21 2006, 08:52 PM
|- - ugordan   VIMS cubes, their raw form, capture the brightness...   Sep 21 2006, 09:14 PM
|- - JRehling   QUOTE (slinted @ Sep 21 2006, 01:52 PM) I...   Sep 21 2006, 10:32 PM
|- - ugordan   QUOTE (JRehling @ Sep 21 2006, 11:32 PM) ...   Sep 22 2006, 08:07 AM
|- - ugordan   I can understand the reasoning of not touching the...   Sep 22 2006, 06:41 PM
|- - DonPMitchell   QUOTE (ugordan @ Sep 22 2006, 11:41 AM) Y...   Sep 22 2006, 07:06 PM
||- - ugordan   Be my guest. For starters, here's a dump of th...   Sep 22 2006, 07:45 PM
|- - tedstryk   For Jupiter and Saturn, I am biased toward the rig...   Sep 22 2006, 09:12 PM
|- - ugordan   I've been experimenting with cleaning up the V...   Sep 25 2006, 08:02 PM
|- - ugordan   Sure enough, I got a response from the VIMS team. ...   Sep 26 2006, 07:33 AM
- - edstrick   It probably boils down to too-much-to-do, not-enou...   Sep 26 2006, 09:49 AM
|- - ugordan   To reiterate what you said, on my asking if update...   Sep 26 2006, 02:27 PM
|- - ugordan   Here are a few quick results from the new PDS rele...   Oct 4 2006, 05:55 PM
- - Indian3000   First test to process VIMS cube ( gamma 2.2 ) v1...   Oct 11 2006, 11:53 AM
- - elakdawalla   Hey folks, the Rings Node has generated preview im...   Feb 18 2011, 10:20 PM
- - ngunn   A superb piece of work at TPS but we have to have ...   Apr 28 2011, 09:27 PM


Reply to this topicStart new topic

 



RSS Lo-Fi Version Time is now: 29th March 2024 - 07:07 AM
RULES AND GUIDELINES
Please read the Forum Rules and Guidelines before posting.

IMAGE COPYRIGHT
Images posted on UnmannedSpaceflight.com may be copyrighted. Do not reproduce without permission. Read here for further information on space images and 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.