Hello,
Does anybody know tools that might help in tuning chromaticity (color temperature) adaptation for Radiance renderings? For example, if you define a tungsten source (2856 K), the result is far too reddish to be plausible. This question arises when mixing sources of different temperatures, such as daylight and incandescent light. (When this is not the case, I suppose it is reasonable to use neutral source color, which in the Radiance RGB system is near 5500 K).
In pcond you have an opportunity to define, besides the RGB primaries, also the white point, with the -d option. Does it include any "color appearance model" or something of a kind which could be useful? Any other ideas? In photography there are filters defined in "mired" units, which mean reciprocals of megakelvins. They shift the overall color temperature range. So, at least in the spectral domain a feasible transformation might be quite straightforward.
Regards,
Markku N.
Markku_Norvasuo
Technical_Research_Centre_of_Finland
Sorry, in the previous message I meant -p, not -d option of pcond.
Markku N.
Markku_Norvasuo
Technical_Research_Centre_of_Finland
Does anybody know tools that might help in tuning chromaticity (color
temperature) adaptation for Radiance renderings? For example, if you define
a tungsten source (2856 K), the result is far too reddish to be plausible.
This question arises when mixing sources of different temperatures, such as
daylight and incandescent light. (When this is not the case, I suppose it
is reasonable to use neutral source color, which in the Radiance RGB system
is near 5500 K).
In pcond you have an opportunity to define, besides the RGB primaries, also
the white point, with the -d option. Does it include any "color appearance
model" or something of a kind which could be useful? Any other ideas? In
photography there are filters defined in "mired" units, which mean
reciprocals of megakelvins. They shift the overall color temperature range.
So, at least in the spectral domain a feasible transformation might be
quite straightforward.
Regards,
Markku N.
One of the new features in Radiance 3.4 is a von Kries white-point transform built into the -p option of pcond (and other programs). This transform does a reasonable job of simulating the apparent colors under a different illuminant, and is an improvement over the straight color transform that was used previously. However, when you have a mixture of illuminants in your rendered scene, there is no accepted adaptation transform for such a condition. A number of researchers have worked on this problem, and no one has proposed a workable solution to my knowledge. The best you can do is pick an average of the illuminants that seems right for the part of the scene you are viewing.
The issue of white balance is separate from the issue of spectral rendering, but as long as we're on the topic, one of the things people have requested over the years is a means for full spectral rendering in Radiance. As it turns out, this is difficult for the very silly reason that all the materials and patterns have arguments whose count would change with the number of spectral samples. Choosing anything other than three samples will make Radiance input files incompatible with the change. In hindsight, it would have been much better to do things the way I did them in the Material and Geometry Format (MGF), which separates color into its own entity, with a number of different ways to specify it.
Be that as it may, it is possible to obtain accurate spectral renderings of a scene with a single illuminant, provided you precompute the adjusted RGB color of the surfaces using a technique I described in my most recent paper at the Color Imaging Conference. You can get a PDF copy of the paper through the link below if you want to read about the details.
-Greg
http://viz.cs.berkeley.edu/gwlarson/papers.html
Thank you, this was very helpful.
But it apparently means that only the latest Unix releases will have the new feature?
The von Kries transform seems to be a linear matrix transform. Is there any way to perform such arbitrary (user defined 3x3 matrix) transforms on Radiance images? If not, would it be possible to have such a thing some day?... It could be suitable for various tasks and experiments with images.
Regards,
Markku N.
···
At 10:35 2002-02-07 -0800, you wrote:
Does anybody know tools that might help in tuning chromaticity (color
temperature) adaptation for Radiance renderings? [...]
One of the new features in Radiance 3.4 is a von Kries white-point transform built into the -p option of pcond (and other programs). This transform does a reasonable job of simulating the apparent colors under a different illuminant, and is an improvement over the straight color transform that was used previously. However, when you have a mixture of illuminants in your rendered scene, there is no accepted adaptation transform for such a condition. A number of researchers have worked on this problem, and no one has proposed a workable solution to my knowledge. The best you can do is pick an average of the illuminants that seems right for the part of the scene you are viewing.
The issue of white balance is separate from the issue of spectral rendering, but as long as we're on the topic, one of the things people have requested over the years is a means for full spectral rendering in Radiance. As it turns out, this is difficult for the very silly reason that all the materials and patterns have arguments whose count would change with the number of spectral samples. Choosing anything other than three samples will make Radiance input files incompatible with the change. In hindsight, it would have been much better to do things the way I did them in the Material and Geometry Format (MGF), which separates color into its own entity, with a number of different ways to specify it.
Be that as it may, it is possible to obtain accurate spectral renderings of a scene with a single illuminant, provided you precompute the adjusted RGB color of the surfaces using a technique I described in my most recent paper at the Color Imaging Conference. You can get a PDF copy of the paper through the link below if you want to read about the details.
-Greg
http://viz.cs.berkeley.edu/gwlarson/papers.html
_______________________________________________
Radiance-general mailing list
Radiance-general@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-general
Markku_Norvasuo
Technical_Research_Centre_of_Finland
The pcomb program provides for arbitrary color transforms, among other things. It's not the most efficient way to apply a 3x3 color matrix to an image, but it works. You just have to write out the equations for it, for example:
pcomb -f myclrmat.cal -e 'ro=Mrr*ri(1)+Mrg*gi(1)+Mrb*bi(1)' \
-e 'go=Mgr*ri(1)+Mgg*gi(1)+Mgb*bi(1)' \
-e 'bo=Mbr*ri(1)+Mbg*gi(1)+Mbb*bi(1)' inp.pic > out.pic
The file myclrmat.cal contains the above coefficients, something like:
{ Color transformation coefficients }
Mrr : 1.25; Mrg : .21; Mrb : -.07;
Mgr: .10; Mgg : 1.13; Mgb : .10;
Mbr: -.11; Mbg : .03; Mbb : .97;
These values are totally made up -- use whatever you like. The ':' makes the calculation slightly more efficient since it declares the values are constant, and is preferred unless you want the coefficients to vary somehow over the image. It's probably better to put the formulas I have on the pcomb command line directly into the myclrmat.cal file. I just wrote it this way for illustration purposes.
There are of course a million things you can do with pcomb, at least. Color transforms are among the more mundane applications of a programmable image filter, but the are useful. If you have many such transforms to do, you might want to write a special-purpose program that would be faster at it.
-Greg
Thank you, this was very useful.
May I ask some related questions (sorry, they may be trivial but I did not find answers from the documentation):
Since Radiance has its own RGB definition, I tried to find out what is the RGB gamut produced by ra_tiff. Is it sRGB of something else? (pcond seems to produce sRGB as a default - am I right?). I am using the DOS/Windows executables. Is the resulting RGB gamut same for all systems?
Regards, Markku
···
At 22:46 2002-02-09 -0800, you wrote:
The pcomb program provides for arbitrary color transforms, among other things. It's not the most efficient way to apply a 3x3 color matrix to an image, but it works. You just have to write out the equations for it, for example:
pcomb -f myclrmat.cal -e 'ro=Mrr*ri(1)+Mrg*gi(1)+Mrb*bi(1)' \
-e 'go=Mgr*ri(1)+Mgg*gi(1)+Mgb*bi(1)' \
-e 'bo=Mbr*ri(1)+Mbg*gi(1)+Mbb*bi(1)' inp.pic > out.pic
The file myclrmat.cal contains the above coefficients, something like:
{ Color transformation coefficients }
Mrr : 1.25; Mrg : .21; Mrb : -.07;
Mgr: .10; Mgg : 1.13; Mgb : .10;
Mbr: -.11; Mbg : .03; Mbb : .97;
These values are totally made up -- use whatever you like. The ':' makes the calculation slightly more efficient since it declares the values are constant, and is preferred unless you want the coefficients to vary somehow over the image. It's probably better to put the formulas I have on the pcomb command line directly into the myclrmat.cal file. I just wrote it this way for illustration purposes.
There are of course a million things you can do with pcomb, at least.
Color transforms are among the more mundane applications of a programmable image filter, but the are useful. If you have many such transforms to do, you might want to write a special-purpose program that would be faster at it.
-Greg
_______________________________________________
Radiance-general mailing list
Radiance-general@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-general
Markku_Norvasuo
Technical_Research_Centre_of_Finland