Radiometric vs Non-Radiometric Leptons

Hi,

I completely misread one of your earlier responses in this thread which is why I got so confused. You said

in non measurement mode the sensor runs an algorithm called AGC which adaptively scales the 14-bits to 8-bits using a method that changes per area of the image

. I have since looked at the flir data sheet in more detail and see that the 16 bit raw value was what i needed because I want tlinear output enabled:

With AGC disabled:
:black_small_square: With 14-bit raw data the first two bits of each pixel’s two-byte word are set to 0.
:black_small_square: With TLinear output all 16 bits are used.

I had misread and thought I needed the 14 bit value but I don’t as you correctly said. I have since modified the firmware so I am getting the 16 bit scaled output. Thanks.

Cool

Hi,

Possibly a foolish question but do you think there is any reason why the openmv board couldn’t be used to calibrate the lepton 3.5 as per the Flir guide https://www.flir.com/globalassets/imported-assets/document/lepton-with-radiometry-quickstart-guide.pdf. I know it mentions communicating with the camera over i2c and using a VoSPI stream to take frames (which is basically what you do anyway when you take a snapshot.) Given that the ioctl functions can call the sdk commands I’d image it would work, just wondering if you think there is any reason it won’t.

Yes, you can do that with the OpenMV Cam. And if you are feeling very generous you can post the python code here that performs the calibration (it would be a huge benefit to others).

Yeah no problem. I won’t get to it immediately as I have a few other features to develop first but when I eventually get it done I’ll post the code. Thanks

Hi,

I have designed and built a low cost black body - if you need one to help with this process please let me know.

Hello,
I am trying to obtain the temperatures of each pixel of the lepton 2.5, could you tell me which would be the SDK for the configuration, I have tried with the example codes but I get sensor control failed. your help please

Hi, please read the forums posts by GL-ITC on this. He’s already covered this topic is a lot of detail.

https://forums.openmv.io/search.php?author_id=1812&sr=posts

Summary answer if you don’t feel like reading all the threads from him:

→ The examples provide a valid temperature that’s accurate and if you are trying to do something with richer data you aren’t gaining much. You should follow them.

Hi kwagyeman

Just curious if theres any update on this

Regarding the 14-bit data any. I has a todo list task to support the FLIR Lepton in the FIR module. When this is done you will be able to get the 14-bit image. However, don’t expect this for a few months.

Thanks
G

It’s coming up to do. I have to get this working for the pure thermal openmv cam.

Note that the image will just be returned as an array of floats with each float being the pixel temp.

Hi Stub,

You mentioned that you had developed a low cost blackbody.

I have designed and built a low cost black body - if you need one to help with this process please let me know.

I was wondering if you could elaborate on that? Have you used it to calibrate a Lepton 3.5 and if so what sort of measurement accuracy are you seeing? I tried to send you a PM but the message never leaves the outbox for some reason.

Kind regards
G

Hi,

I have used it to provide an accurate threshold so that any pixel above the known temperature of the black body is definitely above the set temperature and any below are not. It was for a low cost skin temperature alarm.

I have not used it for the Flir calibration techinique in the manual.

Please take a look at our webpage for more. Www.Cybertronix.co.uk/quickscan

Hi Stub,

So your using the blackbody as a reference point within the image or am I wrong in saying that?

Did you manufacture the blackbody yourself, if so can you elaborate on that process?

Thanks,
G

Hey all, just a note. This is coming out soon.

Hi,

Yes on both counts.

It is detected as a square object using blob detection. Preset as it stands to 37.8°C but this can be changed.

Uses an arduino with control software and a temp sensor, in the frame on the heated plate. A couple of buttons on the back allow temperature adjustment.

3D printed frame and electronics cover.

We can build more if useful…

Hi Stub,

I appreciate your help on this matter. Do you basically use the following logic and say if the colour thresholds representing the blackbody @ 37.8 degrees is greater than the colour threshold of somebodies face then they do nothing otherwise trigger an alarm?

In my case I am not doing elevated skin temperature so I constantly need to find the hottest object in the scene and report that temperature, the temperature of the object would always be between 20 and 40 degrees. I just thought if I could make a blackbody relatively simply then I could drastically improve the accuracy of the Lepton.

Thanks,
G

Hi,

Yes that’s exactly what I am using the black body to do.

However in your use case it would also work to dramatically improve the readings - I am getting +/- 0.3°C. Obviously you would be working over a larger range so won’t be quite as good. You could scale the output around say 30° (ie set the blackbody to 30° and scale the pixel values accordingly so that the square is at 30 irrespective of the actual reading from the lepton.) You might have to play a bit to see what the best setting for the blackbody is maybe 40° would be better. I also use a Fluke temperature tester to check the black body temperature as it does take 15mins or so to heat up and stabilise.

Hi Stub,

In terms of the blackbody itself, are you using a solid state relay to control the constant temperature?
What material are you using for the surface out of interest, I know most metallic surfaces can be made into good emitters using paints.

I was actually thinking of having two black body sources in the scene, one at 20 degrees and one at 40 degrees so I would have the maximum amount of information available to me. That may have been overkill though.

Thanks,
G

Hi,

Yes I almost suggested two black bodies in my last reply.

We use a black coated steel plate, heater controlled with a FET. An SSR would do the same job.

Hi Stub,

Thanks for your help. I’m going to try create a blackbody myself as opposed to my current approach of improving temperature accuracy which was to alter the flux linear parameters on the Lepton and generate a calibration function which compared the output of the camera looking down at a container of hot water (due to its high emissivity) vs a DS18B20 temperature probe submersed in the water which I let cool from 50 degrees to around 10 degrees. I used that data to create a regression of camera output vs probe temperature which did improve the reported temperatures but not enough.

Kind regards,
G