A Model of Saturn’s Rings

Tips for creating and manipulating planet textures for Celestia.
Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 19 years 1 month

Post #21by Chuft-Captain » 07.10.2016, 09:40

I would say that overall it is still much too transparent (especially the B-ring).
Reading between the lines of the procedure you described in the OP:
I started with the transparency map, multiplied it with itself and inverted it to simulate a higher opacity due to a low angle with respect to the ring plane. Then I took the forward-scattered map, also multiplied it with itself and divided it by the corrected opacity texture. I gamma-corrected the resulting ring-reflectivity texture. Then I colored it with the relative-color-texture, changed color-balance to fit photographs and united it with the transparency map.
it's quite likely that these multiplications are the cause of the reduced opacity, however it's difficult and unfair for me to criticize unless I understand the source of the data you have based this on and exactly how you have manipulated those values.

For example, this statement is very vague:
FarGetaNik wrote:I matched the rings to a model made from data on PDS
What does this mean? Are you matching colors / transparency by visually comparing with a published photo / model?

There's also a huge number of datasets available and it's possible to get quite different results depending on which one you choose.

Where exactly did you acquire the RGB texture you are eventually combining the transparency map with?

FarGetaNik wrote:Is transparency included?
Yes. A diiferent background might make it a bit more obvious:
RingGen_VIMS_bgpic.jpg
RingGen_VIMS_bgwhite.jpg


Here is #17 (PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM) in Celestia:
PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM.jpg
PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM_darkside.jpg

Note how very much more opaque the B-ring is in comparison to yours.

CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
Topic author
FarGetaNik M
Posts: 484
Joined: 05.06.2012
With us: 12 years 7 months
Location: Germany

Post #22by FarGetaNik » 07.10.2016, 13:01

Chuft-Captain wrote:I would say that overall it is still much too transparent (especially the B-ring).

Depends on what photos you take as reference. As I stated, it is hard to find a "true" opacity and I was trying my best to match it with photographs. My comparison a few posts ago may prove this, but yes, on more oblique views the rings are too transparent. Personally, I think in your Celelstia screenshots the rings are too opaque (the shadow of the B-Ring is completely black, I don't see that in comparable Cassini photos).

Chuft-Captain wrote:it's quite likely that these multiplications are the cause of the reduced opacity, however it's difficult and unfair for me to criticize unless I understand the source of the data you have based this on and exactly how you have manipulated those values.

The values are between 0 and 1, I basically squared them, wich brings them closer to 0. This was still in the transparency texture, after inverting it was more opaue than before (that's the reason I did it in the first place). I guess applying a gamma-value of 0.5 has the same effect. You may use the inverted version of this image as alpha: http://bjj.mmedia.is/data/s_rings/transparency.png ; I based my alpha channel on this data. The ring will look a lot more transparent.

Chuft-Captain wrote:What does this mean? Are you matching colors / transparency by visually comparing with a published photo / model?
I guess I haven't found a balance yet between writing page-long posts and leaving out unnecessary details. But I posted a link to the table on PDS, this has nothing to do with transparency or color. What I did was adjusting the radial distances of the rings with the data found on this table, so the rings match exactly with the orbits of the nearby moons.

Chuft-Captain wrote:There's also a huge number of datasets available and it's possible to get quite different results depending on which one you choose.

Where exactly did you acquire the RGB texture you are eventually combining the transparency map with?

As for now, all data I used is from Bj?rn Johnsson, as I haven't figured out yet how to convert the data on PDS into a texture. If you provided these textures for me, I will see what I can so with them. Your texture looks good, only the color seems a bit to saturated compared with my approach.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 4 months
Location: NY, USA

Post #23by selden » 07.10.2016, 21:57

For those who are unaware, Bj?rn Johnsson is the premier illustrator of Saturn. A Web search will locate many examples of his work. While his name is well known to many of us who are fans of spaceflight and space art, it is not so well known to most people.
Selden

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 5 months

Post #24by John Van Vliet » 07.10.2016, 22:47

As for now, all data I used is from Bj?rn Johnsson, as I haven't figured out yet how to convert the data on PDS into a texture.

the tab/lbl files
VIMS_2009_022_GAMCRU_I_TAU_10KM.TAB
VIMS_2009_022_GAMCRU_I_TAU_10KM.LBL

https://pds-rings.seti.org/vol/COVIMS_8xxx_lien_resolution/COVIMS_8001/EASYDATA/

column 1 in the table is the radius
Column 2 is the longitude

column 4 is "NORMAL OPTICAL DEPTH"
the 10km table is 8001 lines long

so column 4 is a ascii image of 8001 x 1
resized to 8001x 1024
and normalized to 0 to 255
Image

Avatar
Topic author
FarGetaNik M
Posts: 484
Joined: 05.06.2012
With us: 12 years 7 months
Location: Germany

Post #25by FarGetaNik » 08.10.2016, 10:26

John Van Vliet wrote:https://pds-rings.seti.org/vol/COVIMS_8xxx_lien_resolution/COVIMS_8001/EASYDATA/

column 1 in the table is the radius
Column 2 is the longitude

column 4 is "NORMAL OPTICAL DEPTH"

Longitude, that's interesting. The table is not a matrix so it probalby is giving the values for the measurements. The rings are not completely radial symmetric. How cool would it be if Celestia wrapped a 2-dimensional texture of the rings around the planet...
Anyways, the texture seems interesting. It has a greater extent than the data I use. Also it shows different structures, I guess because it is optical depth instead of opacity. After a quick search I think we could get transparency with this formula: 1/exp(t) where t should be a "tau" and represents optical depth. After normalizing and inverting the texture we have opacity. But I don't know how to do this in Gimp so I'd need to calculate opacity before converting it to a texture.

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 19 years 1 month

Post #26by Chuft-Captain » 08.10.2016, 22:09

FarGetaNik wrote:Depends on what photos you take as reference. As I stated, it is hard to find a "true" opacity and I was trying my best to match it with photographs. My comparison a few posts ago may prove this, but yes, on more oblique views the rings are too transparent. Personally, I think in your Celelstia screenshots the rings are too opaque (the shadow of the B-Ring is completely black, I don't see that in comparable Cassini photos).
:hi: Not completely black! :) If you were to examine that part of the screenshot in GIMP you'll find it is approximately RGB(20,20,20), so "almost" (ie. 92% black) rather than "completely" black.
...Incidentally, an analysis of the PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM raw data reveals that the maximum "detected" optical depth is roughly 92% of the maximun "detectable" ... a happy coincidence? :wink:

Some photographic references::
Saturn's B ring is the most opaque of the main rings, appearing almost black in this Cassini image taken from the unlit side of the ringplane.
Hedman and Nicholson “weighed” the nearly opaque center of the B-ring
NASA’s Cassini probe showcases the B ring, which is so opaque that it casts a pitch-black shadow onto Saturn
Selden, you may actually know (of) one of the guys referenced in the second article.

Anyway, as I said earler, without understanding the exact process you are using and the source of your data, I'm not in a position to critcize your efforts. It's not my intention to suggest that my rendering is better or more accurate than yours, but just trying to give some limited feedback as you requested in the OP.
I'm merely pointing out that there are significant differences and assuming we are sourcing the same data (there's no point in comparing apples with oranges), then the reasons for those differences need to be understood.
In fact I do tend to agree with you that my rings do appear to be too opaque in places (which is possibly why I put this work on the back-burner 3 years ago ... I vaguely remember that there were a couple of issues which meant I was not 100% happy with them at the time, but I don't recall exactly what those issues were... and whether opacity was one of those issues .... it was a long time ago!
I think the reality is likely somewhere in-between, however I think the references above suggest that more, rather than less, opacity is appropriate (at least for the majority of the B-Ring).

For a more direct comparison, here is one of the images from that article with an approximately similar view in Celestia (using the PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM occultation data -- other datasets will vary and of course YMMV as well:
compare_with_article_02.png


cel://Follow/Sol:Saturn/2022-02-09T18:22:16.59090 ... &rf=54151&lm=2240&tsrc=0&ver=3

If I can find some time I will also try to review my process and see if there are any improvements to be made.
Last edited by Alexell on 09.10.2016, 18:15, edited 1 time in total.
Reason: Fixed celUrl working
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
Topic author
FarGetaNik M
Posts: 484
Joined: 05.06.2012
With us: 12 years 7 months
Location: Germany

Post #27by FarGetaNik » 09.10.2016, 08:00

Chuft-Captain wrote::hi: Not completely black! :) If you were to examine that part of the screenshot in GIMP you'll find it is approximately RGB(20,20,20), so "almost" (ie. 92% black) rather than "completely" black.

You are right, the brightness has a value of ~8% where B casts it shadow on Saturn. But I must say, you "cheated" a bit there, becauce you used ambient light. After removing it in Gimp, it was basically black. Also I might add that there is a bug in Celestia which might had you think my rings are to tranparent: Ring shadows don't apply to atmospheres rendered by scattering. I toggled my atmosphere and made a screenshot using your link. Personally, I think the structures especially in the inner B and outer C ring fit much better to the Cassini image you used as a comparison.

Saturn-comparison.jpg


...Incidentally, an analysis of the PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM raw data reveals that the maximum "detected" optical depth is roughly 92% of the maximun "detectable" ... a happy coincidence? :wink:

Well with such an information we might be able to calibrate the alpha channel. The most opaque values in my texture are 100%... I took a look at Celestia's default. The opacity also is at 100% and overall it is comparable to my alpha channel (that's because I used it as a reference to create mine). The only differenence is that the "transparency contrast" in in B is higher in my texture. But there is no telling if Celestia is right in the first place.

Anyway, as I said earler, without understanding the exact process you are using and the source of your data, I'm not in a position to critcize your efforts. It's not my intention to suggest that my rendering is better or more accurate than yours, but just trying to give some limited feedback as you requested in the OP.
I'm merely pointing out that there are significant differences and assuming we are sourcing the same data (there's no point in comparing apples with oranges), then the reasons for those differences need to be understood.

I think the reality is likely somewhere in-between, however I think the references above suggest that more, rather than less, opacity is appropriate (at least for the majority of the B-Ring).

You are right. I think the best approach would be to process the data from PDS and see where we get from there. I'll ask my friend to send me the script he made the textures with, maybe I'll find a way to apply it on this data as well. If we still disagree, maybe averaging out the results is a possibility. That's what I do if I'm desperate and don't know if one or the other looks better :insane:

Added after 21 minutes 49 seconds:
Reading along EASYDATA/VIMS_2009_077_GAMCRU_I_TAU_10KM.LBL I found the ring azimuth varying between 20 and 50 degrees. If that's the angle between ring plane and observer, there is way too much variance in this observation. But "NORMAL OPTICAL DEPTH" might mean they already took that into account and calculated the optical depth for an observer "normal" or orthagonal to the rings. Any ideas on that?

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 19 years 1 month

Post #28by Chuft-Captain » 09.10.2016, 10:09

FarGetaNik wrote:You are right, the brightness has a value of ~8% where B casts it shadow on Saturn. But I must say, you "cheated" a bit there, becauce you used ambient light. After removing it in Gimp, it was basically black.
I'm sorry, I don't know what you mean by this? What do you mean "I used ambient light" ? [EDIT: Oh, I see! ... You meant that I had "Render->Ambient Light" set to something other than "None". ]

FarGetaNik wrote:
...Incidentally, an analysis of the PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM raw data reveals that the maximum "detected" optical depth is roughly 92% of the maximun "detectable" ... a happy coincidence? :wink:
Well with such an information we might be able to calibrate the alpha channel.
I have already reviewed my code earlier tonight and am now adjusting the alpha channels by dividing with the maximum for each dataset. eg. opacity=exp(optical_depth)/highest_detectable_opacity, and then normalizing between 0 and 255. I assume this is what you mean by "calibrated".
As a result, the opacity and detail of of the B-Ring is significantly improved / reduced (especially the inner section):
RingGen_VIMS_bgpic_03.jpg

PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM_IMPROVED.jpg
PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM_IMPROVED_DARKDIDE.jpg
PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM_IMPROVED_REFERENCE.jpg


I also added an extra option which represents the MEAN SIGNAL UNCERTAINTY at each point across the ring in histogram form:
mean_signal_uncertainty_histogram.jpg


FarGetaNik wrote:You are right. I think the best approach would be to process the data from PDS and see where we get from there.
Err ... did you not realize that this is what I am already doing?

FarGetaNik wrote:Reading along EASYDATA/VIMS_2009_077_GAMCRU_I_TAU_10KM.LBL I found the ring azimuth varying between 20 and 50 degrees. If that's the angle between ring plane and observer, there is way too much variance in this observation. But "NORMAL OPTICAL DEPTH" might mean they already took that into account and calculated the optical depth for an observer "normal" or orthagonal to the rings. Any ideas on that?
That seems like a good guess, but I don't know. There are some files in the DOCUMENT and CATALOG folders where they give a lot of information about the instruments, their methods, terminology, known issues, etc. You may find some answers in those documents.

I think I've already asked this ... but how did you create the RGB channels for your texture? It might be useful to apply your RGB channel to my process which would make it easier to evaluate differences in transparency between our different processes, as that shold then be the only difference. Can you post just the RGB portion? (with no alpha channel).
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
Topic author
FarGetaNik M
Posts: 484
Joined: 05.06.2012
With us: 12 years 7 months
Location: Germany

Post #29by FarGetaNik » 09.10.2016, 11:29

Chuft-Captain wrote:I'm sorry, I don't know what you mean by this? What doi you mean "I used ambient light" ?

I don't know how to put this, but isn't this feature called "ambient light" in Celestia? Click on Render/Ambient Light/None and it's gone. If not turned off, it will add a grey background level (of apparently ~8%) to every object that doesn't emmit light by itself. So you can't use this setting and claim the ring shadow is not completely black.

Chuft-Captain wrote:I have already reviewed my code earlier tonight and am now adjusting the alpha channels by dividing with the maximum for each dataset. eg. opacity=exp(optical_depth)/highest_detectable_opacity, and then normalizing between 0 and 255. I assume this is what you mean by "calibrated".
As a result, the opacity and detail of of the B-Ring is significantly improved / reduced (especially the inner section):

I don't exactly know if this is a necessary step you described, as I'm not sure how opacity is defined physically. I am using transmittance (which I assume is equal to "transparency" as we used this term until now) and after normalizing it I invert it to get opacity (the necessary alpha-channel). What I meant was if the highest detected opacity is 92%, than the alpha channel we are using in the final texture also should have its highest value at 92% (or 235 in an 8bit image). But looking at your screenshots the texture really improved. I guess this is closer to reality now.

Chuft-Captain wrote:Err ... did you not realize that this is what I am already doing?

Err... yes but I guess I wasn't really thinking about that statement :weirdface: I was unsure what data you are using in your actual textures. Maybe it still comes back to how we process it (I still don't know if stored value vs. displayed value plays a role in transparency, that's why I messed with gamma in the first place).

Finally I've done a bit of math. The increased opacity due to occlusion of the ring particles should be expressed by this formula:
t' = exp(-tau/cos(theta))
Where t' is the modified transmittance (after normalizing and inverting it, we get opacity), tau is optical depth and theta the angle with respect to the normal of the ring plane. I propose using an angle of ~22.9°relative to the ring plane (or 67.1 in my equation) as this is highest angle all of the main rings still occult Saturn.

Added after 2 hours 2 minutes:
Chuft-Captain wrote:I think I've already asked this ... but how did you create the RGB channels for your texture? It might be useful to apply your RGB channel to my process which would make it easier to evaluate differences in transparency between our different processes, as that shold then be the only difference. Can you post just the RGB portion? (with no alpha channel).

Sure, I just exctracted the RGB channels from my RGBA texture, here we go:

reflectivity-blend.png


As I said, until now my textures are based on Bj?rn Johnsson's data. First I fit the brightness of the rings http://bjj.mmedia.is/data/s_rings/backscattered.png to my transparency http://bjj.mmedia.is/data/s_rings/transparency.png (and radial model). I devide it by opacity (so I remove the effects of the black background on transparent rings) and do some calbration which I think makes it look more realistic. For details see my first post. I then multiplied it with the color map http://bjj.mmedia.is/data/s_rings/sat_ring_color.png and a color I most recently got from a mixture of the textures you posted and the value Johnsson recommended. I also mixed forward-scattered light in there for visual purpose.

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 19 years 1 month

Post #30by Chuft-Captain » 10.10.2016, 03:42

FarGetaNik wrote:Sure, I just exctracted the RGB channels from my RGBA texture, here we go:

reflectivity-blend.png

As I said, until now my textures are based on Bj?rn Johnsson's data. First I fit the brightness of the rings http://bjj.mmedia.is/data/s_rings/backscattered.png to my transparency http://bjj.mmedia.is/data/s_rings/transparency.png (and radial model). I devide it by opacity (so I remove the effects of the black background on transparent rings) and do some calbration which I think makes it look more realistic. For details see my first post. I then multiplied it with the color map http://bjj.mmedia.is/data/s_rings/sat_ring_color.png and a color I most recently got from a mixture of the textures you posted and the value Johnsson recommended. I also mixed forward-scattered light in there for visual purpose.
Is this the "pure back-scattered" RGB map, or has this already had some of your special processing applied? It doesn't seem very bright for a purely backscattered low phase angle RGB.
What inner and outer limits do you use with this particular version? I'll need to adjust those values in the SSC as they will be different for your texture from the values I use normally.
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
Topic author
FarGetaNik M
Posts: 484
Joined: 05.06.2012
With us: 12 years 7 months
Location: Germany

Post #31by FarGetaNik » 10.10.2016, 08:36

I would call it a "reflectivitiy map" as I think the brightness in this map corresponds to ring albedo. No, it is a mixture of mostly back- and a bit of forward-scattered light, already processed. It doesn't correspond to photographed brightness. If you think it's too dark, you might not prefer the pure backscattered reflectivity, but I can post it anyways if you like to.

Code: Select all

Inner   74510
Outer  140245      # outher edge of F-Ring with non-zero opacity

I'm still using the same values from the last zip I posted. Inner edge remained constant, the outer was adjusted inwards, because the position of the F-Ring was a bit off.

I also have a question, how do you get your RGB texture? Were you using an old one from a previous texture? The occultation data doesn't seem to contain RGB information.

Chuft-Captain wrote:That seems like a good guess, but I don't know. There are some files in the DOCUMENT and CATALOG folders where they give a lot of information about the instruments, their methods, terminology, known issues, etc. You may find some answers in those documents.
I've read along these files and all I could find was this:

Code: Select all

The normal optical depths, "tau" are calculated from the stellar
counts accumulated in each integration, "S" at a standard wavelength
of 2.92 microns via the usual expression:

               tau = -sin(B_star) * log_e (S/S0)

where "B_star" is the latitude of the star relative to the ring plane
and "S0" is the unocculted stellar count rate.

It still doesn't make it clear to me. If it was what I described, it should contain "OBSERVED RING AZIMUTH" somewhere... if not, this might explain why your textures tend to be much more opaque than mine.

Chuft-Captain wrote:It might be useful to apply your RGB channel to my process which would make it easier to evaluate differences in transparency between our different processes, as that shold then be the only difference.
It also might be beneficial if you shared your textures or at least alpha-channel, so I can compare them directly and don't have to guess through images :wink:

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 19 years 1 month

Post #32by Chuft-Captain » 24.10.2016, 21:09

I'm afraid I'm far too too busy with other things at the moment so I have no time for any Celestia activities, but here's a texture as requested.
PIA11142_VIMS_2009_022_GAMCRU_I_TAU_10KM.png
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
Topic author
FarGetaNik M
Posts: 484
Joined: 05.06.2012
With us: 12 years 7 months
Location: Germany

Post #33by FarGetaNik » 26.10.2016, 18:27

Chuft-Captain wrote:I'm afraid I'm far too too busy with other things at the moment so I have no time for any Celestia activities, but here's a texture as requested.

Don't worry, we all have other stuff to do. :wink: From what I can see your RGB channels don't quite line up with alpha. And wow, your B-Ring is completely opaque, at the same time really see-trhough gaps are not fully transparent. Maybe it's just about normalisation, there are segments that should be fully transparent (gaps) and as we discussed, the B-Ring should have a maximum oapcity of 92%.

And going back to the documentation on VIMS data, I guess I was looking for the wrong thing.

"B_star" is the latitude of the star relative to the ring plane

I guess they calculated the opacity I requested there, not the observed opacity log_e (S/S0). So the data should be fine...


Return to “Textures”