Details of Irradiance List tag for Sunshine sensor in exif data of Sequoia


Ch0 values in the example are proportional to irradiance.


Yes but let’s say I want to calculate the Irradiance it will be something like:

Irradiance = count / gain(gain_index, reference_gain) * exposure

Right ??


@Jule take a look at the formula that @domenzain posted and note the proportional symbol that he used rather than an equals symbol.


@Jule, @seanmcleod

Concretely, Sequoia is designed to measure reflectance, not irradiance.

As mentioned above in response to @muzammil360 (here):
The units are not SI units.
Even field spectrometers (and most laboratory spectrometers) are not calibrated in that sense.
If they are, it will depend on whether it is through vacuum or air (and the air temperature, and its humidity and slight movements in the optics and…).

To be more precise:
Units are homogeneous to SI units, but have an arbitrary scaling factor.
I recommend the mentioned article, as it walks through the typical remote-sensing application.

If you have a spectral-radiance-calibrated light source, then with a very careful measurement you can figure out the exact scaling to obtain SI units. This is more than likely not what you intend.


@domenzain are you referring to this article?


@seanmcleod Yes. This gives solid advice on the hypotheses that are made and the formulas that should be used.


@domenzain let’s take the simplest case.

My drone is flying along above a farmer’s field and let’s assume that the sun is at zenith and that both the sunshine sensor and the Sequoia cameras have a pitch and roll angle of 0 degrees so the cameras are pointing at nadir.

And assume there are no clouds.

And the Sequoia takes two images (Image1 and Image2) 1s apart and assume there is a large overlap between the 2 images e.g. of 70%.

So now I have the following data:

(Image1_pixel_value, Image1_iso, Image1_aperture, Image1_exposuretime, Image1_ch0, Image1_gainindex, Image1_integrationtime)

(Image2_pixel_value, Image2_iso, Image2_aperture, Image2_exposuretime, Image2_ch0, Image2_gainindex, Image2_integrationtime)

So how do I calculate the reflectance value for the Image1 pixel?

And if we assume that the Image1_pixel_value and Image2_pixel_value overlap and refer to the same ground point can we use that to get a better estimate of the reflectance value?



@seanmcleod, I think we are missing some info in order to do what you are proposing. Even if we assumed that both of your images were taken at the same ISO and exposure time, I think you’d need to know the sensitivity of both the sunshine sensor and the sequoia sensor to each of the 4 bands in order to calculate reflectance. For example, looking at the graph I posted earlier, it seems that the sunshine sensor is much less sensitive to the RedEdge than to other bands.


@pk123 yes but the sensitivity/quantum efficiency of the two sensors is known by Parrot and they’ve even published at least a fairly rough (resolution wise) version of it online in their marketing material.

They’ve used the same filters for each band on the sunshine sensor and the multi-spectral sensors and would know the lens information for each etc.

In terms of the RedEdge you’ll notice that the filter band is much narrower compared to the other bands.


Please see the reflectance estimation topic for details on this.


Dear all,
I have read all in this forum and I am still confused for this question.
@domenzain you said Sequoia is designed for measuring the reflectance value rather than the irradiance, but in the files of converting irradiance to reflectance, you pointed the key point is to getting the K, which means the ratio of the irradance of sunshine sensor and the irradiance of sequoia sensor can be calculated by the tags in the exif, so I want to know how to get the precise value of the irradiance of sunshine sensor, now I have known how to calculate the irradiance value of sequoia sensor.

Please directly give me the solution rather than give me another links. Thanks very much!


dear @elliot1993
please read carefully this topic as everything you ask is detailed here.



I have already read and i think there are some contents are chaotic.
Firstly the objective of sequoia is to measure what? If it is the reflectance, then how can I get the information directly?
Secondly, you tell us the R = K* Sunshine/sequoia, the value of sunshine and sequoia in the equation is what? irradiance or some others? and how can I calculate them?
All of these are not clearly and directly displayed and so I wish get a specific solution from you. Thanks and wish your reply. I really do not want a link.


Dear Domenzain,

I do not understand why you choose 1 as the reference_gain, can we use 0,1,2,3 from gain_index as the reference_gain?
And you said the reference_gain is arbitrary as long as we keep a same for everywhere, does it affect the final results of the sunshine sensor irradiance calculation?

Wish your reply


@seanmcleod, I am new to the sequoia system so please forgive me if this is obvious. For one image, I see there are 9 lines of output. Can you elaborate on what each line is referring to for the given image?


The Sequoia seems to record those values at roughly 5Hz and so those 9 lines are the last 9 readings from the time of the previous image that was captured up until the capture of the image that you see the output from.


Got it. Thanks! I see that number 9 does not seem to be a magic number… I am playing around with the example multispectral dataset from the Pix4D support site until we do an actual data collection. Some have 9 readings, some have 4, etc. Is it a good assumption to take the final reading as the one relevant to a specific image?


You can see how frequently the readings are taken by looking at the timestamps. I’m assuming Parrot include multiple instead of just the last reading before the image to allow you to choose whether you possibly want to take a simple average, or a weighted average or even just the latest one.


I am working with some older Sequoia images captured with firmware version 1.0.2 from back in summer 2016. I have problems decoding the Irradiance List tag for Sunshine sensor in these images. I use the python code shared by Seanmcleod in this threat and it works perfectly with newer images, but not with the old ones. Can anyone help?
I have shared an (1.5 MB)


Hi @rasmus, sorry for the delay.

Prior to version 1.1.0 (long time before this was documented publicly) the format did not include gain and integration time, which were fixed to gain index 0 instead of gain index 1 and 100ms (struct.unpack format was ‘Q 2H 2f’).