FT20 (S0H-40) Thermal Imaging Module - Distance Compensation - Page 1
Forum section: electronics / general

author: Michael.Uray
author_rank: Newbie
timestamp: April 09, 2021, 09:14:48 pm
content: Hi guys,I am using for the first time a thermal camera and I am struggeling with the distance compensation.It is a "FT20 Uncooled Temperature Measuring Thermal Imaging Module" from Rakinda.https://www.rakinda.com/en/productdetail/83/132/236.htmlIt is shown in the Windows device manager as S0H-40 (VID_1514 / PID_0001).I guess the FT10 and FT30 has probably the same camera module included (same data).https://www.rakinda.com/en/productdetail/83/136/181.htmlhttps://www.rakinda.com/en/productdetail/83/136/166.htmlThe resolution is 256×192, but it sends 4 lines with additional data (256x196).They provide a SDK which is not very well documented.The SDK also contains a Xtherm.dll (like the HT-301 mentioned below).I have to switch the camera to RAW data mode and pass the 256x196x2 byte to the DLL as buffer to read out the temperature. Before that I have to apply some parameters (humitidy, ambient temperature, distance...) to the DLL that the DLL can do their calculations.Code:BOOL DataInit(int Width,int Height);void UpdateFixParam(float Emiss,float refltmp,float airtmp,float Humi,unsigned short Distance,float Fix)void GetFixParam(float *Emiss,float *refltmp,float *airtmp,float *Humi,unsigned short *Distance,float *Fix);void GetTmpData(int type,BYTE * pbuff,float *maxtmp,int *maxx,int *maxy,float *mintmp,int *minx,int *miny,float *centertmp,float *tmparr,float *alltmp);void GetDevData(float *fpatmp,float *coretmp,int *fpaavg,int *orgavg);Even their example program do not provide reasonable readings if I trie to compensate the distance to the object.I tried to take a max. temperature reading from an object (person) 1m away and then to put the object 3m away and adjusting the 3m in the demo-program, but there was a temperature deviation of 2 °C.Person about 1m away, room temperature measured by 3 temperature sensors next to the camera.Person about 3m away, without adapting the distance.Person about 3m away, distance adapted, but there is not really an effect to see on the temperature output.Another strange thing is, that the Linux SDK shows commands which sends the distance (as well as other compensation data) to the camera via the Zoom command interface, but this command is not used in the Windows SDK. To be more exact: It is somehow programmed (looks not done peroperly) in the C++ Visual Studio example, but the function never got called, the C# example misses this command completely.Not sure when it is required to send data for compensation purposes to the camera and when the DLL does this job.There are just a few of these commands explained in their description, but far not all of them.Does this mean that the temperature compensation in the DLL does not work properly?There is no description in the SDK which unit the distance has, but they did write me via e-mail that it is in "m". I get better results if I use m * 10, not sure if I can trust this statement from the e-mail.Is this a normal behavior of a thermal imaging camera, or is there something wrong with the calulcation in the DLL?The HT-301 system looks similar to me as it also has these 4 additional lines with meta data at the end.https://www.eevblog.com/forum/thermal-imaging/software-for-xtherm-t3s-and-ht-301/I also tried to run theht301_hacklibfrom Paweł Stawicki with slight modifications (adapted resolution, removed device string check, do not read compensation parameters from camera) but it does not provide any reasonable temperature reading, so I guess something works different there on this camera/DLL.hacklib code modifications:Test with all compensation parameter at 0.They actually offer this camera to do a people fever screening with an accuracy of +/- 0.5 °C, but in the meanwhile and after a lot of reading I doubt somehow that it is usabable for such an application with that accuracy, especially without a blackbody compensation.Is this in general problematic to measure objects with a different distance and to compensate that distance by its given value in "m"?Is there any other way to get a compensated temperature reading out of such a camera to detect an elevated body temperature of a person who is 0.5 to 1m away?

author: Bill W
author_rank: Super Contributor
timestamp: April 10, 2021, 05:58:02 pm
content: Quote from: Michael.Uray on April 09, 2021, 09:14:48 pmAll 'fever cameras' wil quote an accuracy of 0.5°C, however this does not mean that they actually can achieve it. Sales folks (especially Chinese ones) simply write what they hope sells.You are right, it needs a blackbody to work, as then the camera is doing a comparison and being 5% out on a 2°C differential is fine.As for your images, I suspect that you have not been able to get the same location to measure, maybe the 35.4° hot spot is below pixel resolution at 3m, or simply the camera did a calibration between the two images and reset the whole scene by 2°C.There is a small drop in signal level between 1m and 3m but it is very small, most drop off is at shorter than 1m due to atmospheric absorbtion at the band edge around 7 - 8 µm, and to compensate for that you need humidity data as well.Bill

author: Michael.Uray
author_rank: Newbie
timestamp: April 12, 2021, 12:28:00 am
content: Quote from: Bill W on April 10, 2021, 05:58:02 pmIn my application I take the average of 5 pixels on the forehead to prevent single hot spot pixel problems.I would expect to read almost the same temperature at the center region of the forehead.The blue one shows the 5px average, the red one the hotspot with 1px which comes from the camera.It is the same problem there, the temperature drops for about 2 °C if I move from 1m to 3m away.The shutter correction happens once a minute, there was none issued between the 2 pictures.Quote from: Bill W on April 10, 2021, 05:58:02 pmI understand from your comment that the influence of the distance should be minmal, means probably not 2 °C by moving from 1 to 3m.You can see there is a significant drop in the temperature if the distance to the object increases.What could create such a high temperature drop caused by the distance?

author: Bill W
author_rank: Super Contributor
timestamp: April 12, 2021, 11:32:37 am
content: The formula is given here:https://fas.org/man/dod-101/navy/docs/es310/IR_prop/IR_prop.htmm Loss (8-14um)0.1 0.999981 0.99983 0.999410 0.9981000 0.8183000 0.548Maybe the compensation has got m and km confused, as that gives about the right outcome, but note that humidity dependence is mainly 7-8um.As a couple of real data points:Calibrating a 7-14 camera at 50mm on a 100°C chart, you get a reading of 96°C when moving to 1m, and 95°C at 4m - in 40% RHThe response difference from a 'cool morning' to a 'hot steamy afternoon' is about 10% at 4m for a 35°C object.I see you have a setting of 80% humidity, does that change things ?Bill

author: bap2703
author_rank: Regular Contributor
timestamp: April 12, 2021, 05:17:15 pm
content: The sensor probably sees way more than just the 8-14µm.You can try to evaluate its spectral response by finding which one fits the best the attenuation vs distance you are measuring --> you need to calculate the extinction coefficient corresponding to the spectral response to do that.

author: Bill W
author_rank: Super Contributor
timestamp: April 12, 2021, 07:28:15 pm
content: Quote from: bap2703 on April 12, 2021, 05:17:15 pmThe sensor alone might, but the coatings will not be letting much through. A bit of atmosphere in the 7-8 area though, so energy will go up at very short range.Code:WL5678910111213141516TX000.050.60.690.740.750.70.610.280.210.09EN2.444.97.168.719.479.69.298.728.017.276.535.84TOT000.45.36.67.176.14.921.40.6WL = wavelengthTX = optical transmission of lens and window, also relative sensor absorptionEN = energy from a black body at 25°C (arbitrary units)TOT = EN * TXSum of TOT = 26 (arbitrary units)Under 10% is from below 8um, for these coatings.

author: bap2703
author_rank: Regular Contributor
timestamp: April 13, 2021, 06:46:38 pm
content: I must be missing something, how do you know the values for that particular sensor+coatings ?Germanium coatings can vary wildly.My though would be that for cheap consumer products you'd lean towards a less stringent spectral cutoff : gaining sensitivity at the expense of atmospheric dependency.

author: Bill W
author_rank: Super Contributor
timestamp: April 13, 2021, 10:38:13 pm
content: Quote from: bap2703 on April 13, 2021, 06:46:38 pmFor the table quoted I have the full manufacturer datasheets on sensor, sensor window and spectrum test reports on the coatings for lens / window surfaces, as it is taken from one of the Argus cameras I designed. I created the source spreadsheet to model high temperature signal levels and set up camera gain modes etc.For cheap consumer products, their lower cost coatings are likely to fall off a bit at the band corners as that is where the cost for quality resides. 8-12 at 90% is cheaper than 7-14µm at 95% per surface. Same with using silicon not germanium windows, and smaller aperture lenses. All lose a bit of signal but are cheaper, although at 12µm pixel pitch you may need f/1.4 lenses not f/1.

author: bap2703
author_rank: Regular Contributor
timestamp: April 15, 2021, 06:26:08 pm
content: My point was more about the idea of creating intentionally a system that by design is more broadband in order to achieve a given NETD despite a less sensitive sensor.Since NETD is a selling point for consumer devices but not atmospheric immunity that appeals to the evil marketing guy in me

author: Bill W
author_rank: Super Contributor
timestamp: April 16, 2021, 10:40:21 am
content: Quote from: bap2703 on April 15, 2021, 06:26:08 pmTrue although the more evil (real) marketing guys just put in 50mK regardlessAs I've posted before, the 50mK (assuming it is measured at all) is obtained from the best sensor (not yours), tested with the best lab test system (not the camera you bought), set to the best biases (not as per your camera) with the best f/1 ge lens (not the f/1.6 silicon one on the camera) in a dry AC room.it is one reason that better manufacturers (eg ULIS/Lynred) get slated for quoting 'guaranteed <80mK' while achieving 55-45mK compared to flybynight.cn quoting 'typical 50mK'Bill

author: Fraser
author_rank: Super Contributor
timestamp: April 16, 2021, 11:27:56 am
content: This NeTD thing reminds me of Tandberg Hi-Fi systems that I had dealings with when working as a student in an electronics emporium. While other ‘Hi-Fi’ manufacturers were trying to confuse buyers with impressive, if doubtful, specifications, Tandberg actually understated their equipments capabilities. I spoke to a Tandberg sales rep and he said that the company were reserved in their claims of output power and distortion as they believed in operating their equipment well within the achievable specification to ensure audio fidelity. They were not interested in crazy PMPO claims or fictional noise and distortion figures that could only be achieved under certain, specific, conditions.I am not a Hi-Fi specialist so know little about that world but it was nice to come across a company that appeared to make an excellent product that sold itself on audio fidelity rather than numbers on a specification sheet. I was told that their amplifiers were capable of producing far greater output power than their stated specification but Tandberg saw no need to specify the ‘extremes’ of their equipments capabilities as they liked to allow fur production variances, ageing etc. It is nice to meet a company that is truly honest in its specificationsIn the world of thermal imaging it is relatively easy to bulls##it the average consumer, or even the professionals ! To disprove some of the claimed specifications would require equipment not usually owned by the end user due to rarity and cost. Many customers just take the specifications at face value with no way to know if they are real world or an product of fiction by a marketing team manipulating the ‘test’ results, if any were carried out !I worked with an OEM who bought in a certain well known OEM core and they were having issues with measurement accuracy. Depending upon which specification sheet you read the core had a stated measurement accuracy of +-2C / 2% , +-3C / 3% or +-5C / 5%. Take your pick ! ...... guess which figures the camera manufacturer chose to specify and I disproved !I advise great caution when comparing budget thermal cameras using specification sheets..... there is so much attempted deception in the market place. It used to be the optical resolution that was falsely claimed (interpolation was included) but these days any important specification can be total fiction just to attract purchases and, as I said, how many people will have the equipment to reveal that dirty little secret ?To show how confused the potential purchaser can become, I have had people ask me why prosumer or industrial thermal cameras are so expensive when they can buy a FLIR One or Seek Thermal Dongle with the “same specification” so much cheaper. Just compare the imaging produced and all becomes clear. On top of that there is the real world measurement accuracy etc but it is no surprise that just a paper based comparison confuses consumers. NeTD is not the whole story.

author: Fraser
author_rank: Super Contributor
timestamp: April 16, 2021, 11:46:42 am
content: For those interested in NeTDhttps://youtu.be/9LGwjsulf2MNote the comment towards the end (at 11:18) regarding TVH noise !Noise analysis in thermal imaging systems is far more complex than some may be aware.