Products > Thermal Imaging

Flir A310 and A320 Thermal Camera

(1/2) > >>

mohitsharma44:
Hello everyone,

I have a flir a310 and a320 camera. I was following tomas123 and others on exiftool forums and eevblog (for quite sometime now). I am working on obtaining temperature from raw pixel values of the camera (just like the script for e4). So far I am following tomas123's php script (that I converted to python with a few other things) however there is a small problem:
The Flir A310 is giving the "AtmosphericTemperature" as -273.15C  |O because of which my raw atm temp is same as -ve plank_o value. I proceeded with the calculation and the max and min temp looks awful lot close to the flir tools's reading.
Flir tech denied helping in this case and all their replies concentrated on forcing me to use flir tools +  ??? (which I have but for some applications, it is not enough).

Did anyone have any success in using a310 and/ or a320 and obtain the correct temperature? I am open to suggestions and pointers to the right direction.

mohitsharma44:
In case anyone would like to play with the files, I am attaching:
* A310's radiometric jpeg image (http://sharmamohit.com/misc_files/test.jpg)
* header (http://sharmamohit.com/misc_files/test.hdr)
* ir image (http://sharmamohit.com/misc_files/test_ir.jpg)
* csv file (http://sharmamohit.com/misc_files/test.csv)
all are created using a python script (I am using exact same formula as tomas123's php script except that for converting ir image to temperature, I am using numpy). I am attaching the snippet for that below as well.

In case any one needs, here is the snippet for reading test_ir.jpg and converting pixel values to temperature and saving it as csv file:

--- Code: ---import numpy as np
from scipy.misc import imread

im = imread('test_ir.jpg')

raw_temp_pix = (im -
                (1 - tau) *
                raw_atm -
                (1 - emmissivity) *
                tau *
                raw_refl) / emmissivity / tau

t_im = (b /
        np.log(r1 / (r2 * (raw_temp_pix[:] + o)) + f) -
        273.15)
np.savetxt(csv_fname, t_im, delimiter=',')


--- End code ---

I'll be happy to share the bitbucket repo if any one needs it.

mohitsharma44:
Hate to say it but I solved it using brute force technique (Still dont understand the reason).
Using the above formula I checked that I am off by ~0.07 deg C when compared with FLIR tools's output. Modifying it the following way, I get exact same values that FLIR tools outputs to csv


--- Code: ---raw_temp_pix = (im -
                (1 - emmissivity) *
                raw_refl) / emmissivity / tau

--- End code ---

This is kind of confusing. It should either be that I do not consider tau at all and it should just be
--- Code: ---raw_val-(1-emissivity)*raw_refl)/emissivity
--- End code ---
. Why do i have to divide the whole result by tau?

ps: I am not an expert in thermography.

tomas123:
The calculations of atmosphere transmissivity is more complex.
Load my excel sheet from this post and the flir document from the following post and compare it with your script:   
http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,4898.msg27546.html#msg27546

tomas123:
your equation is right

--- Code: ---raw_temp_pix = (im -
                (1 - tau) *
                raw_atm -
                (1 - emmissivity) *
                tau *
                raw_refl) / emmissivity / tau


--- End code ---
goes to

--- Code: ---im = raw_temp_pix * emmissivity * tau  + (1 - emmissivity) * tau * raw_refl  +  (1 - tau) * raw_atm

--- End code ---

and this is identical with equation 3


I think, you have some troubles with parameter tau.
Please feed my excel sheet with the exiftool flir tags and compare the results with your csv values.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version