Weighting factors used in the irradiance calculation

Dear all,

I have two questions regarding the weighting factors (0.265, 0.670, 0.065)
that are used in the formula ( I = 0.265 IR+ 0.670 IG + 0.065 IB) with
which one can convert the spectral irradiance triad to irradiance. My first
question is: where these weighting factor come from? Do they incorporate
the spectral sensitivity of the human eye (so called V(λ)) in the
irradiance calculation? My second question is: should the summation of
these weighting factors be always equal to 1.

Thank you in advance,

Parisa

Hi Parisa,

in fact these are weighting functions derived from v(lamda). So you should use them only when all your quantities are in photometric units. Irradiance "usually" implies the solar spectrum, but in RADIANCE this is used also only considering the visible spectrum (and then using the weighting). I'm not sure if a color weighting makes sense when talking about radiometric quantities using the solar spectrum. Usually I calculate everything in "grey" (r=g=b) when using the radiometric quantities, so this problem doesn't occur. Be aware, that you usually calculate everything in photometric quantities in RADIANCE, so if you want to calculate the solar spectral behavior you have to take care of using the related values(solar transmittance for glazing, solar reflectance of surfaces and generate sky and sun with radiometric quantities). As far as I know only if you use gendaylit with the -O 1 option, then sky and sun are automatically in radiometric quantities (which means your results are in W/m*m solar spectrum).

Jan

···

Am 6/22/15 um 5:50 PM schrieb parisa khademagha:

Dear all,

I have two questions regarding the weighting factors (0.265, 0.670, 0.065) that are used in the formula ( I = 0.265 I_R + 0.670 I_G + 0.065 I_B ) with which one can convert the spectral irradiance triad to irradiance. My first question is: where these weighting factor come from? Do they incorporate the spectral sensitivity of the human eye (so called V(λ)) in the irradiance calculation? My second question is: should the summation of these weighting factors be always equal to 1.

Thank you in advance,

Parisa

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

--
Dr.-Ing. Jan Wienold
Ecole Polytechnique Fédérale de Lausanne (EPFL)
EPFL ENAC IA LIPID

LE 1 111 (Office)
Phone +41 21 69 30849

Hi Rob,

Thank you for your reply! Is the formula incomplete for calculation of the irradiance value or it is missing 179 luminous efficacy value for conversion of irradiance to illuminance? What if we decide to measure the effective irradiance with respect to another curve (for instance C-lambda)? Should the summation of the C-lambda weighting functions be also equal to 1? Is this a rule in Radiance or it can be violated?

Cheers,
Parisa

···

On 22 Jun 2015, at 18:10, Guglielmetti, Robert <[email protected]> wrote:

Hi Parisa,

Yes, these values are the so-called V-lambda or photopic weighting function, and yes these three will always equal 1 (naturally your derived result will generally be > 1).

*Be advised*, your formula as printed in your post is incomplete; when converting irradiance as computed by Radiance (the software) to illuminance, you need to multiply the whole thing by 179 which is the luminous efficacy value to be used _with Radiance_. In other words:

I = 179 * (0.265 IR+ 0.670 IG + 0.065 IB)

There are scores of posts in the archives about this value and how it came to be, and why it works even though it's different from any luminous efficacy value you've ever seen in a textbook on light. =)

- Rob

On 6/22/15, 9:50 AM, "parisa khademagha" <[email protected]<mailto:[email protected]>> wrote:

Dear all,

I have two questions regarding the weighting factors (0.265, 0.670, 0.065) that are used in the formula ( I = 0.265 IR+ 0.670 IG + 0.065 IB) with which one can convert the spectral irradiance triad to irradiance. My first question is: where these weighting factor come from? Do they incorporate the spectral sensitivity of the human eye (so called V(λ)) in the irradiance calculation? My second question is: should the summation of these weighting factors be always equal to 1.

Thank you in advance,
Parisa

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

If I may jump in, here...

Ultimately the 179 lumens/watt conversion derives from the peak defined efficacy of 683 lumens/watt at 555nm and my particular choice of endpoints for the visible spectrum in integrating an equal energy source. Since the power-to-photopic conversion is very sensitive to the choice of endpoints (for the very reason that viewers are *not* sensitive to those endpoints), I thought to standardize it at some point and end the confusion. Divide by 179 going from photometric units and multiply by 179 going to and the two factors cancel, problem solved.

That said, the factor is somewhat arbitrary and Radiance does not really care what lighting units it works in. This is why Jan's trick of substituting solar reflectances and solar radiances works just fine. If you dig through most of the Radiance code, you will find very few references to wavelength, and in the end you can compute in infrared and ultraviolet and nothing will go wrong, so long as you can get by with 3 channels or don't mind doing multiple runs.

The RGB coefficients for luminance (ignoring the 179 conversion factor) add up to 1.0 again as a convention, but it's a common one for conversion between color spaces. In this case, we're converting RGB to one channel of CIE XYZ, the Y channel. The other matrix coefficients can be found in ray/src/cal/cal/xyz_rgb.cal, or ray/src/common/spec_rgb.c if you prefer C code.

If you would tell us your precise application, what you have as input and what you expect as output, it would help us to better answer your question.

Cheers,
-Greg

···

From: Parisa Khademagha <[email protected]>
Subject: Re: [Radiance-general] Weighting factors used in the irradiance calculation
Date: June 22, 2015 2:14:24 PM PDT

Hi Rob,

Thank you for your reply! Is the formula incomplete for calculation of the irradiance value or it is missing 179 luminous efficacy value for conversion of irradiance to illuminance? What if we decide to measure the effective irradiance with respect to another curve (for instance C-lambda)? Should the summation of the C-lambda weighting functions be also equal to 1? Is this a rule in Radiance or it can be violated?

Cheers,
Parisa

On 22 Jun 2015, at 18:10, Guglielmetti, Robert <[email protected]> wrote:

Hi Parisa,

Yes, these values are the so-called V-lambda or photopic weighting function, and yes these three will always equal 1 (naturally your derived result will generally be > 1).

*Be advised*, your formula as printed in your post is incomplete; when converting irradiance as computed by Radiance (the software) to illuminance, you need to multiply the whole thing by 179 which is the luminous efficacy value to be used _with Radiance_. In other words:

I = 179 * (0.265 IR+ 0.670 IG + 0.065 IB)

There are scores of posts in the archives about this value and how it came to be, and why it works even though it's different from any luminous efficacy value you've ever seen in a textbook on light. =)

- Rob

On 6/22/15, 9:50 AM, "parisa khademagha" <[email protected]<mailto:[email protected]>> wrote:

Dear all,

I have two questions regarding the weighting factors (0.265, 0.670, 0.065) that are used in the formula ( I = 0.265 IR+ 0.670 IG + 0.065 IB) with which one can convert the spectral irradiance triad to irradiance. My first question is: where these weighting factor come from? Do they incorporate the spectral sensitivity of the human eye (so called V(λ)) in the irradiance calculation? My second question is: should the summation of these weighting factors be always equal to 1.

Thank you in advance,
Parisa

Hi Jan,

It is true that if these weighting functions are from V-lambda they are to be used only in calculation of photometric quantities. Doing so the summation of the triad irradiance values should be multiplied to 179 efficacy function to give illuminance ( I = 179*(0.265 IR+ 0.670 IG + 0.065 IB)). What I don’t understand is why these weighting functions are used in calculation of radiometric quantities like irradiance ( I = 0.265 IR+ 0.670 IG + 0.065 IB). You said you calculate everything in grey (r=g=b) to avoid this problem. Shall I ask what do you mean by everything? What is the luminous reflectance of the grey you use? Moreover, is it possible to measure the effective irradiance with respect to C-lambda using adjusted weighting functions? Should the summation of the weighting functions be again equal to 1 as they are for V-lambda?

Cheers,
Parisa

···

On 22 Jun 2015, at 18:24, Jan Wienold <[email protected]> wrote:

Hi Parisa,

in fact these are weighting functions derived from v(lamda). So you should use them only when all your quantities are in photometric units. Irradiance "usually" implies the solar spectrum, but in RADIANCE this is used also only considering the visible spectrum (and then using the weighting). I'm not sure if a color weighting makes sense when talking about radiometric quantities using the solar spectrum. Usually I calculate everything in "grey" (r=g=b) when using the radiometric quantities, so this problem doesn't occur. Be aware, that you usually calculate everything in photometric quantities in RADIANCE, so if you want to calculate the solar spectral behavior you have to take care of using the related values(solar transmittance for glazing, solar reflectance of surfaces and generate sky and sun with radiometric quantities). As far as I know only if you use gendaylit with the -O 1 option, then sky and sun are automatically in radiometric quantities (which means your results are in W/m*m solar spectrum).

Jan

Am 6/22/15 um 5:50 PM schrieb parisa khademagha:

Dear all,

I have two questions regarding the weighting factors (0.265, 0.670, 0.065) that are used in the formula ( I = 0.265 IR+ 0.670 IG + 0.065 IB) with which one can convert the spectral irradiance triad to irradiance. My first question is: where these weighting factor come from? Do they incorporate the spectral sensitivity of the human eye (so called V(λ)) in the irradiance calculation? My second question is: should the summation of these weighting factors be always equal to 1.

Thank you in advance,

Parisa

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

--
Dr.-Ing. Jan Wienold
Ecole Polytechnique Fédérale de Lausanne (EPFL)
EPFL ENAC IA LIPID

http://people.epfl.ch/jan.wienold
LE 1 111 (Office)
Phone +41 21 69 30849
_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Hi Greg and Jan,

Thank you for your detailed replies!

Here is my precise application: I want to use Radiance to estimate/simulate
the effective irradiance with respect to the C-lambda.

First option is to use different (-0.034 IR + 0.323 IG + 0.558 IB)
weighting functions for C-lambda as suggested by Geisler-Moroder & Dur
(2010) in their paper (entitled *‘**Estimating melatonin suppression and
photosynthesis activity in real-world scenes from computer generated
images’*). My question is whether using these C-lambda weighting functions
is a correct way of getting effective irradiance with respect to C-lambda
in W/m2 or not?

Second option is to use the spectral rendering as suggested by Ruppertsberg
& Bloj (2008) in their paper (entitled *‘Creating physically accurate
visual stimuli for free: Spectral rendering with RADIANCE’*) . In this case
my question is how can I spectrally model the sky?

Cheers,

Parisa

···

On 22 June 2015 at 23:57, Greg Ward <[email protected]> wrote:

If I may jump in, here...

Ultimately the 179 lumens/watt conversion derives from the peak defined
efficacy of 683 lumens/watt at 555nm and my particular choice of endpoints
for the visible spectrum in integrating an equal energy source. Since the
power-to-photopic conversion is very sensitive to the choice of endpoints
(for the very reason that viewers are *not* sensitive to those endpoints),
I thought to standardize it at some point and end the confusion. Divide by
179 going from photometric units and multiply by 179 going to and the two
factors cancel, problem solved.

That said, the factor is somewhat arbitrary and Radiance does not really
care what lighting units it works in. This is why Jan's trick of
substituting solar reflectances and solar radiances works just fine. If
you dig through most of the Radiance code, you will find very few
references to wavelength, and in the end you can compute in infrared and
ultraviolet and nothing will go wrong, so long as you can get by with 3
channels or don't mind doing multiple runs.

The RGB coefficients for luminance (ignoring the 179 conversion factor)
add up to 1.0 again as a convention, but it's a common one for conversion
between color spaces. In this case, we're converting RGB to one channel of
CIE XYZ, the Y channel. The other matrix coefficients can be found in
ray/src/cal/cal/xyz_rgb.cal, or ray/src/common/spec_rgb.c if you prefer C
code.

If you would tell us your precise application, what you have as input and
what you expect as output, it would help us to better answer your question.

Cheers,
-Greg

> From: Parisa Khademagha <[email protected]>
> Subject: Re: [Radiance-general] Weighting factors used in the irradiance
calculation
> Date: June 22, 2015 2:14:24 PM PDT
>
> Hi Rob,
>
> Thank you for your reply! Is the formula incomplete for calculation of
the irradiance value or it is missing 179 luminous efficacy value for
conversion of irradiance to illuminance? What if we decide to measure the
effective irradiance with respect to another curve (for instance C-lambda)?
Should the summation of the C-lambda weighting functions be also equal to
1? Is this a rule in Radiance or it can be violated?
>
> Cheers,
> Parisa
>
> On 22 Jun 2015, at 18:10, Guglielmetti, Robert < > [email protected]> wrote:
>
>> Hi Parisa,
>>
>> Yes, these values are the so-called V-lambda or photopic weighting
function, and yes these three will always equal 1 (naturally your derived
result will generally be > 1).
>>
>> *Be advised*, your formula as printed in your post is incomplete; when
converting irradiance as computed by Radiance (the software) to
illuminance, you need to multiply the whole thing by 179 which is the
luminous efficacy value to be used _with Radiance_. In other words:
>>
>> I = 179 * (0.265 IR+ 0.670 IG + 0.065 IB)
>>
>> There are scores of posts in the archives about this value and how it
came to be, and why it works even though it's different from any luminous
efficacy value you've ever seen in a textbook on light. =)
>>
>> - Rob
>>
>> On 6/22/15, 9:50 AM, "parisa khademagha" <[email protected] > <mailto:[email protected]>> wrote:
>>
>> Dear all,
>>
>> I have two questions regarding the weighting factors (0.265, 0.670,
0.065) that are used in the formula ( I = 0.265 IR+ 0.670 IG + 0.065 IB)
with which one can convert the spectral irradiance triad to irradiance. My
first question is: where these weighting factor come from? Do they
incorporate the spectral sensitivity of the human eye (so called V(λ)) in
the irradiance calculation? My second question is: should the summation of
these weighting factors be always equal to 1.
>>
>> Thank you in advance,
>> Parisa

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Hi Parisa,

If you are only comparing one set of C-lambda values to another, then the scaling does not matter. If, on the other hand, the RGB coefficients from David & Arne's paper were somehow computed to correlate with other aspects of irradiance, such as photopic adaptation, then you probably should use them as given. I guess I need to read their paper....

A full spectral calculation probably is not needed in this case, but it would help to have a good estimate of the sky color either way. You should check out Mark Stock's implementation of the Utah sky model using Radiance:

  Mark Stock - Radiance

Best,
-Greg

···

From: parisa khademagha <[email protected]>
Subject: Re: [Radiance-general] Weighting factors used in the irradiance calculation
Date: June 24, 2015 6:04:12 AM PDT

Hi Greg and Jan,

Thank you for your detailed replies!

Here is my precise application: I want to use Radiance to estimate/simulate the effective irradiance with respect to the C-lambda.

First option is to use different (-0.034 IR + 0.323 IG + 0.558 IB) weighting functions for C-lambda as suggested by Geisler-Moroder & Dur (2010) in their paper (entitled ‘Estimating melatonin suppression and photosynthesis activity in real-world scenes from computer generated images’). My question is whether using these C-lambda weighting functions is a correct way of getting effective irradiance with respect to C-lambda in W/m2 or not?

Second option is to use the spectral rendering as suggested by Ruppertsberg & Bloj (2008) in their paper (entitled ‘Creating physically accurate visual stimuli for free: Spectral rendering with RADIANCE’) . In this case my question is how can I spectrally model the sky?

Cheers,

Parisa

On 22 June 2015 at 23:57, Greg Ward <[email protected]> wrote:
If I may jump in, here...

Ultimately the 179 lumens/watt conversion derives from the peak defined efficacy of 683 lumens/watt at 555nm and my particular choice of endpoints for the visible spectrum in integrating an equal energy source. Since the power-to-photopic conversion is very sensitive to the choice of endpoints (for the very reason that viewers are *not* sensitive to those endpoints), I thought to standardize it at some point and end the confusion. Divide by 179 going from photometric units and multiply by 179 going to and the two factors cancel, problem solved.

That said, the factor is somewhat arbitrary and Radiance does not really care what lighting units it works in. This is why Jan's trick of substituting solar reflectances and solar radiances works just fine. If you dig through most of the Radiance code, you will find very few references to wavelength, and in the end you can compute in infrared and ultraviolet and nothing will go wrong, so long as you can get by with 3 channels or don't mind doing multiple runs.

The RGB coefficients for luminance (ignoring the 179 conversion factor) add up to 1.0 again as a convention, but it's a common one for conversion between color spaces. In this case, we're converting RGB to one channel of CIE XYZ, the Y channel. The other matrix coefficients can be found in ray/src/cal/cal/xyz_rgb.cal, or ray/src/common/spec_rgb.c if you prefer C code.

If you would tell us your precise application, what you have as input and what you expect as output, it would help us to better answer your question.

Cheers,
-Greg

> From: Parisa Khademagha <[email protected]>
> Subject: Re: [Radiance-general] Weighting factors used in the irradiance calculation
> Date: June 22, 2015 2:14:24 PM PDT
>
> Hi Rob,
>
> Thank you for your reply! Is the formula incomplete for calculation of the irradiance value or it is missing 179 luminous efficacy value for conversion of irradiance to illuminance? What if we decide to measure the effective irradiance with respect to another curve (for instance C-lambda)? Should the summation of the C-lambda weighting functions be also equal to 1? Is this a rule in Radiance or it can be violated?
>
> Cheers,
> Parisa
>
> On 22 Jun 2015, at 18:10, Guglielmetti, Robert <[email protected]> wrote:
>
>> Hi Parisa,
>>
>> Yes, these values are the so-called V-lambda or photopic weighting function, and yes these three will always equal 1 (naturally your derived result will generally be > 1).
>>
>> *Be advised*, your formula as printed in your post is incomplete; when converting irradiance as computed by Radiance (the software) to illuminance, you need to multiply the whole thing by 179 which is the luminous efficacy value to be used _with Radiance_. In other words:
>>
>> I = 179 * (0.265 IR+ 0.670 IG + 0.065 IB)
>>
>> There are scores of posts in the archives about this value and how it came to be, and why it works even though it's different from any luminous efficacy value you've ever seen in a textbook on light. =)
>>
>> - Rob
>>
>> On 6/22/15, 9:50 AM, "parisa khademagha" <[email protected]<mailto:[email protected]>> wrote:
>>
>> Dear all,
>>
>> I have two questions regarding the weighting factors (0.265, 0.670, 0.065) that are used in the formula ( I = 0.265 IR+ 0.670 IG + 0.065 IB) with which one can convert the spectral irradiance triad to irradiance. My first question is: where these weighting factor come from? Do they incorporate the spectral sensitivity of the human eye (so called V(λ)) in the irradiance calculation? My second question is: should the summation of these weighting factors be always equal to 1.
>>
>> Thank you in advance,
>> Parisa

Hi Parisa,

when we worked on the spectral evaluations back then, we were testing our
spectral version of Radiance (which is unfortunately based on Radiance 3.8
and has not been updated since then...). Our idea back then was to check
whether there are RGB coefficients that provide reasonable results for
calculating spectrally weighted values. With the coefficients as given in
the paper you can definitely get an estimation, but there are already
deviations from the correct spectral calculations if you only look at the
light source spectra themselves. This might even get worse if
interreflections significantly contribute to the illumination. This is also
true for illuminances and color, which in fact are nothing else but special
spectral weighting functions (see therefore Greg's paper "Picture Perfect
RGB Rendering Using Spectral Prefiltering and Sharp Color Primaries" at
Picture Perfect RGB Rendering Using Spectral Prefiltering and Sharp Color Primaries or Arne's and mine
"Color-rendering indices in global illumination methods" at
http://dx.doi.org/10.1117/1.3274623\)

So, if you really need to be sure about your values (as far as this is
possible within a simulation...), I would always suggest to use spectral
rendering and use the c(lambda) weighting function (as also stated in the
conclusion of the paper). Following the proposal by Ruppertsberg&Bloj you
can just run several 3-channel runs with a recent version of RADIANCE and
put them together to you spectral result.

Best,
David

···

2015-06-24 19:15 GMT+02:00 Greg Ward <[email protected]>:

Hi Parisa,

If you are only comparing one set of C-lambda values to another, then the
scaling does not matter. If, on the other hand, the RGB coefficients from
David & Arne's paper were somehow computed to correlate with other aspects
of irradiance, such as photopic adaptation, then you probably should use
them as given. I guess I need to read their paper....

A full spectral calculation probably is not needed in this case, but it
would help to have a good estimate of the sky color either way. You should
check out Mark Stock's implementation of the Utah sky model using Radiance:

Mark Stock - Radiance

Best,
-Greg

*From: *parisa khademagha <[email protected]>

*Subject: *Re: [Radiance-general] Weighting factors used in the
irradiance calculation

*Date: *June 24, 2015 6:04:12 AM PDT

Hi Greg and Jan,

Thank you for your detailed replies!

Here is my precise application: I want to use Radiance to
estimate/simulate the effective irradiance with respect to the C-lambda.

First option is to use different (-0.034 IR + 0.323 IG + 0.558 IB)
weighting functions for C-lambda as suggested by Geisler-Moroder & Dur
(2010) in their paper (entitled *‘**Estimating melatonin suppression and
photosynthesis activity in real-world scenes from computer generated
images’*). My question is whether using these C-lambda weighting
functions is a correct way of getting effective irradiance with respect to
C-lambda in W/m2 or not?

Second option is to use the spectral rendering as suggested by
Ruppertsberg & Bloj (2008) in their paper (entitled *‘Creating physically
accurate visual stimuli for free: Spectral rendering with RADIANCE’*) .
In this case my question is how can I spectrally model the sky?

Cheers,

Parisa

On 22 June 2015 at 23:57, Greg Ward <[email protected]> wrote:

If I may jump in, here...

Ultimately the 179 lumens/watt conversion derives from the peak defined
efficacy of 683 lumens/watt at 555nm and my particular choice of endpoints
for the visible spectrum in integrating an equal energy source. Since the
power-to-photopic conversion is very sensitive to the choice of endpoints
(for the very reason that viewers are *not* sensitive to those endpoints),
I thought to standardize it at some point and end the confusion. Divide by
179 going from photometric units and multiply by 179 going to and the two
factors cancel, problem solved.

That said, the factor is somewhat arbitrary and Radiance does not really
care what lighting units it works in. This is why Jan's trick of
substituting solar reflectances and solar radiances works just fine. If
you dig through most of the Radiance code, you will find very few
references to wavelength, and in the end you can compute in infrared and
ultraviolet and nothing will go wrong, so long as you can get by with 3
channels or don't mind doing multiple runs.

The RGB coefficients for luminance (ignoring the 179 conversion factor)
add up to 1.0 again as a convention, but it's a common one for conversion
between color spaces. In this case, we're converting RGB to one channel of
CIE XYZ, the Y channel. The other matrix coefficients can be found in
ray/src/cal/cal/xyz_rgb.cal, or ray/src/common/spec_rgb.c if you prefer C
code.

If you would tell us your precise application, what you have as input and
what you expect as output, it would help us to better answer your question.

Cheers,
-Greg

> From: Parisa Khademagha <[email protected]>
> Subject: Re: [Radiance-general] Weighting factors used in the
irradiance calculation
> Date: June 22, 2015 2:14:24 PM PDT
>
> Hi Rob,
>
> Thank you for your reply! Is the formula incomplete for calculation of
the irradiance value or it is missing 179 luminous efficacy value for
conversion of irradiance to illuminance? What if we decide to measure the
effective irradiance with respect to another curve (for instance C-lambda)?
Should the summation of the C-lambda weighting functions be also equal to
1? Is this a rule in Radiance or it can be violated?
>
> Cheers,
> Parisa
>
> On 22 Jun 2015, at 18:10, Guglielmetti, Robert < >> [email protected]> wrote:
>
>> Hi Parisa,
>>
>> Yes, these values are the so-called V-lambda or photopic weighting
function, and yes these three will always equal 1 (naturally your derived
result will generally be > 1).
>>
>> *Be advised*, your formula as printed in your post is incomplete; when
converting irradiance as computed by Radiance (the software) to
illuminance, you need to multiply the whole thing by 179 which is the
luminous efficacy value to be used _with Radiance_. In other words:
>>
>> I = 179 * (0.265 IR+ 0.670 IG + 0.065 IB)
>>
>> There are scores of posts in the archives about this value and how it
came to be, and why it works even though it's different from any luminous
efficacy value you've ever seen in a textbook on light. =)
>>
>> - Rob
>>
>> On 6/22/15, 9:50 AM, "parisa khademagha" <[email protected] >> <mailto:[email protected]>> wrote:
>>
>> Dear all,
>>
>> I have two questions regarding the weighting factors (0.265, 0.670,
0.065) that are used in the formula ( I = 0.265 IR+ 0.670 IG + 0.065 IB)
with which one can convert the spectral irradiance triad to irradiance. My
first question is: where these weighting factor come from? Do they
incorporate the spectral sensitivity of the human eye (so called V(λ)) in
the irradiance calculation? My second question is: should the summation of
these weighting factors be always equal to 1.
>>
>> Thank you in advance,
>> Parisa

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

--
Dipl.-Ing. Dr. David Geisler-Moroder
Hofwaldweg 14/20
6020 Innsbruck
Austria

Hi all,

Thank you all for your great research and longstanding contributions to the community!

Is this the right derivation of the weighting factors?
grafik

With those wavelength bounds?
grafik

I derived the values \lambda_2 and \lambda_3 backwards from the given RGB values in code line Radiance/src/common/color.h at 826e4ef174aaf1503e4e6f97eead06c2d51ebb78 · LBNL-ETA/Radiance · GitHub . The values \lambda_1 and \lambda_4 are typical ranges for illuminance meter.

If we apply this concept to a sensitivity of a Pyranometer, which i assume is 1, to get the weighting factors for shortwave energetic light and use this relationships:
grafik

we get the wavelength integration bounds:
grafik

Are those the right for shortwave energetic light?

For V(\lambda) I used this python code:

#################
import colour

wavelengths = np.arange(380, 781, 1)
V = colour.SDS_LEFS[“CIE 1924 Photopic Standard Observer”]
values = np.array([V[w] for w in wavelengths])
#################

And how are those wavelength bounds related to for example the derivation of the RGB values from the reflectance spectrum? Can we use this relationship
grafik

and the spectral data from @J_Alstan_Jakubiec 's project https://spectraldb.com/? Or how do they generate the RGB values from the spectral data? This is a question from the Ladybug forum Radiance modifier from spectral data - Ladybug Tools | Forum .

Kind regards Simon

Hi Simon,

RGB values are not derived from a partitioning of the spectrum in Radiance. Rather, we apply the CIE 2° standard observer functions (x, y, and z of lambda) against an illuminant spectrum (for example) to get XYZ values that we would then transform via a 3x3 matrix to get RGB. This matrix is derived from standard methods for a particular set of primaries defined in “src/common/color.h”. These primaries predate the sRGB primaries, and differ slightly. A listing of different primaries is in color.h and also “src/cal/cal/xyz_rgb.cal”, along with the 3x3 matrix derivation.

In most cases, we assume either RGB or XYZ input and convert using a matrix transform. The new hyperspectral capabilities in Radiance 6.0 build in many of these conversions, but since there is no precise way to go from RGB to spectral data, a very crude wavelength partitioning is used for that. Those are contained in the global WLPART array and assigned by the setspectrum() routine called during initialization, both defined in “src/common/color.c”.

I feel I am not getting at the heart of your questions, as I do not understand your application or exactly what you are trying to sort out. Can you give more context for your problem?

Cheers,
-Greg

Hi Greg,

As always, thank you for your rapid support. Lets suppose you have:

  • a spectrum of transmission, front reflection, and back reflection over a wide range (300–2500 nm) for transparent components, or
  • a reflection spectrum for opaque components
    and you want to use this to determine the respective values for the RADIANCE modifiers “plastic” or “trans.”

How do you get there? Is there a tool for this? The application are i.e. Ladybug/ Honeybee based simulations of either visual or broadband spectrum.

Best regards,
Simon

Hi Simon,

If you’re working with Radiance 6.0, you can use the new “spectrum” primitive combined with the new “WGMDfunc” material to specify different reflectance and transmittance spectra. For opaque materials, “plastic” will work if the highlight is white, also using a “spectrum” modifier.

The spectral resolution of the default installation is limited to 24 bands, so covering 300-2500 nm means roughly 91 nm steps, which is not great resolution but better than lumping all the energy into 3 bands. During rendering, you would specify “-cw 300 2500 -cs 24”.

For more instructions and tips, check out the tutorial I gave a couple of years back in Salt Lake City here. The WGMDfunc material is covered in more detail in my talk from last year in Lausanne.

Cheers,
-Greg

Hi Greg,

okay. So within your 2024 presentation you wrote “380-480nm for BLUE, 480-588nm
for GREEN, and 588-780nm”. Using those band limits and the presented integration algorithm I come to values 0.253709347679, 0.718761366037, 0.0275292866318. What are those weightening factors for the 24 band simulation?

Besides the 3 or new 24 band simulations, is there a tool to get to this primitives from a spectrum? Isn’t this behind the webpage @J_Alstan_Jakubiec 's project https://spectraldb.com/? I think it could be of use.

Kind regards
Simon

The blue and red wavelength ranges for RGB materials get extended to the extrema set by the -cw option. The green channel typically stays between 480 and 588 nm as you noted. These ranges were decided based on maximal correspondence to the standard RGB chromaticities mentioned earlier.

How you weight the channels depends entirely on what they are applied to. If you have a perfect black absorber and you are trying to determine how much energy arrives on it over the 300-2500 nm range, you would use a uniform weighting (i.e., straight average) over the computed spectrum. This output is provided with the rtrace -pA option, for example. Similarly, there are -pY, -pS, and -pM options for photopic, scotopic, and melanopic weightings, respectively. These curves ignore infrared and ultraviolet radiation, however.

If you want to know the botanical value of light in an atrium or similar, then you should apply some kind of photosynthetic efficacy weighting function, I believe.

Does this help at all?

-Greg

1 Like

Hi Greg,

Thank you for your rapid support. Its not what I thought of, so a describe it more precise:

Given:

  • typeModifier: either RGB plastic or trans
  • spectrumType: either illuminance (photopic weightening, 380-780nm) or irradiance quantity (uniform weightening, 300-2500nm)
  • spectrum data (given wavelength range and resolution) depending on typeModifier

Goal:

  • Get the RADIANCE string of the material modifier

Then I conduct standard simulations:

  • Map modifier with geometry within Grasshopper
  • Do RADIANCE optical simulations as follows:

########
echo ::Generating scene octree::
oconv mat.rad geo.rad sunLights.rad > scene.oct

echo ::Running rcontrib::
rcontrib -I+ -V+ -ab 4 -ad 10000 -lw 1.0000e-04 -y 1 -t 5 -dc 1 -dt 0 -dj 0 -faa -M sunNames.txt scene.oct < sensors.txt > tot.mtx

echo ::Converting total sun results::
rmtxop -faa -c StringOfWeightenings -t tot.mtx > totFin.txt
########

Description to the code:

  • mat.rad contains the RADIANCE material modifiers
  • geo.rad contains the geometries
  • sunLights.rad contains for all investigated incidence directions:

##########
void light sunName_xxx 0 0 3 intensityRGB intensityRGB intensityRGB
sunName_xxx source sunName_xxx_2 0 0 4 xPos yPos zPos 2*halfAngle
##########

  • StringOfWeightenings is either 0.265 0.670 0.065 for illuminance or 0.333 0.333 0.334 for irradiance.
  • Later I divide it by the intensity value of the three channels given in sunLights.rad and the solid angle of the sun.

More is given in the paper done by Sarith and me:
Weber, S.O., Subramaniam, S., Leistner, P., 2025. A parametric design integrated sampling and general training approach for optimal control oriented surrogate models of light-related quantities. Journal of Building Performance Simulation. https://doi.org/10.18419/opus-17170

Hi Simon,

It makes a lot more sense to use the newer version of Radiance that supports hyperspectral calculations, especially if you have spectral data as input. If you limit yourself to earlier versions of Radiance, then your results may be less accurate.

In the case described, I would redefine your channels as Green=Lumens/179 and Red=Watts. In other words, the G channel will track illuminance interactions and the R channel tracks irradiance. The 179 lumens/watt factor just brings them into value alignment. You can use the Blue channel for a third metric, or just duplicate one of the other channels as you don’t really need it. (Copying channel is better than setting it to 0.)

I would not use weighting functions to go back-and-forth between RGB and alternate definitions, as it just introduces another source of error. Attempting to get good spectral separation from 300-2500 nm with only three channels is not reasonable. While assuming a gray world is also not reasonable, it is the best you can do without using the latest version of Radiance.

Cheers,
-Greg