i3 ThermalExpert custom software - Page 1
Forum section: electronics / general

author: frenky
author_rank: Unknown
timestamp: August 16, 2016, 10:11:06 am
content: Here I'll post links to software that I will develop for use with i3system ThemalExpert cameras.T.E. Android app has an ability to save .csv file which contains temperature and image data.To save .csv data you must select "Thermal & Visible image & Temperature" in app settings.My first win software is "ThexBatch" and it can convert many csv files at once to png images in original 384x288 resolution.To use it:- install .net 4.5 if you don't have it- copy csv files from your phone to your pc- extract ThExBatch_compiled.zip to that folder- run ThexBatch.exeNew "export" folder will be created containing all converted images.Compiled version (just run exe and make sure that you have Iron.png in the same folder):ThExBatch_compiled.zipVisual studio 2015 solution:ThExBatch_source.zip

author: frenky
author_rank: Unknown
timestamp: September 15, 2016, 07:29:34 am
content: New version with fixed bugs (total thermal range, last line, last pixel...)

author: frenky
author_rank: Unknown
timestamp: September 15, 2016, 07:56:13 am
content: I've made a very basic win app "ThexConvertGUI" for converting .csv files to .png images with palette (min/max) adjustment.Features:- it remembers last opened folder with .csv files- quickly switch between files in folder (list view on the left)- ability to swap palette and add your own (just add 1001px png into palette folder)- adjust min and max values for palette mapping- "Save" button saves .png image to the current_folder/export/***.pngEDIT:I have added new version with palette selection.

author: frenky
author_rank: Unknown
timestamp: October 23, 2016, 09:38:37 pm
content: Here is a c# demo code for anyone trying to make a win app for i3 ThermalExpert.I'm using c# with multi-threading to stream images to win form:

author: joe-c
author_rank: Frequent Contributor
timestamp: October 24, 2016, 06:43:38 pm
content: Quote from: frenky on October 23, 2016, 09:38:37 pmInteresting,i have a working version too, it will released probably this weekend. i work on some detailsi wrote some mails to i3, and they told me that another version of the DLL will come. but they don't told me when...and just for info, it is possible to use the same driver (Zadig) for Seek thermal and Thermal Expert. See the results...

author: frenky
author_rank: Unknown
timestamp: October 24, 2016, 07:15:46 pm
content: Nice... Looking forward to test new version of your app.I'm way behind you... I never learned USB protocol (I mostly do web apps) so these days I was reading about data transfer types, endpoints etc...And I also did some USB traffic captures with Wireshark (USBPcap). When you request new image there is only one control and one bulk transfer, really easy.But at "get flash data" there is like hundreds of requests. I'm not sure what is going on there...My plan was to use Zadig to install WinUSB and then use this .net wrapper for WinUSBhttps://github.com/madwizard-thomas/winusbnetto do all the communication with T.E. module...So I could avoid using i3system DLLs.If you have a working stream without DLLs that means that you were able to write all necessary usb communication already?

author: joe-c
author_rank: Frequent Contributor
timestamp: October 24, 2016, 08:17:14 pm
content: Quote from: frenky on October 24, 2016, 07:15:46 pmme tooQuote from: frenky on October 24, 2016, 07:15:46 pmYes... my core is simple... ignore the first frames with the cal info and use just the usable frames.each frame has some extra bytes. i guess some info's like device temperature and so on.here you can have my playground with map Cal (this is similar to the Seek Thermal Core, get a low and hi frame, and calc defect pixel, gain and offset).i have 2 classes, one for the DLL and one without. I like both ways... the DLL way shows only up to 240 different values (Byte range), but the Temperatures are calibrated.i hope it helpsNote: i have to remove the i3system_USB_DLL_V2_1.dll (size to big). Put yours in the \bin folder

author: frenky
author_rank: Unknown
timestamp: October 25, 2016, 08:23:04 am
content: Thank you for this. I will take a good lot at it when I get home from work.P.S:I started a new thread with usefull info about T.E.:https://www.eevblog.com/forum/thermal-imaging/thermalexpert-reverse-engineering-jar-dll/

author: lberger
author_rank: Newbie
timestamp: November 04, 2016, 02:55:56 pm
content: Hi,I am new in this forum (sorry for my bad english) and I'm interesting in IR image. I have read many post and I choose thermalexpert q1. I have just received it and plugged in my note 3 and it works. Now reading your previous post it seems I can plug thermalexpert in a pc using usb. I cannot find in Doc how to plug it. Which connector can I use? Can you give me a reference?Thanks in advance for your help

author: joe-c
author_rank: Frequent Contributor
timestamp: November 04, 2016, 09:15:00 pm
content: Quote from: lberger on November 04, 2016, 02:55:56 pmlook for "usb micro female" on ebay, here some examples:http://www.ebay.de/itm/USB-Male-to-Micro-USB-Female-Converter-Connector-Male-to-Female-Adapter-CY-/191760234516?hash=item2ca5ccf814:g:OwYAAOSw1S9Wb2f5http://www.ebay.de/itm/5-10-20pcs-MICRO-USB-To-DIP-Adapter-5pin-Female-Connector-Pcb-Converter-DIY-Kit-/272403088967?var=&hash=item3f6c7d4647:m:mujObFRFRMr8QVYD31e7aXg

author: frenky
author_rank: Unknown
timestamp: November 04, 2016, 10:53:05 pm
content: An easy solution if you know how to solder:https://www.eevblog.com/forum/thermal-imaging/another-smartphone-thermal-imager-from-i3/msg996575/#msg996575

author: lberger
author_rank: Newbie
timestamp: November 05, 2016, 10:52:40 am
content: Thanks foryours answer I choosethis onebecause delay was less than one week (other was one month...)

author: lberger
author_rank: Newbie
timestamp: November 29, 2016, 08:07:34 pm
content: Hi,I have just received my plug (first was bad) your link was good. Now I have downloaded ThexWinStream2.zip and it works on my desktop. Thanks a lot.It is a C# application and I know nothing in C#. Then I want to write my own application in C++.My question is : in your project there are two dll i3system_USB_DLL_V2_1 and i3system_TE_dll is it 32 bits or 64 bits dll ? (with depends.exe I find 64 bits but I must LoadLibrary in 32 bit application)

author: frenky
author_rank: Unknown
timestamp: November 29, 2016, 08:48:26 pm
content: Hi.I did not build DLLs . I got them from official SDK.You can ask i3system for SDK where you will find c++ example.

author: lberger
author_rank: Newbie
timestamp: November 29, 2016, 09:11:47 pm
content: unfortunately it is a x86 dll

author: joe-c
author_rank: Frequent Contributor
timestamp: November 29, 2016, 10:41:09 pm
content: Quote from: lberger on November 29, 2016, 09:11:47 pmits not a problem, it works fine on my win7 x64 machine.additional info, since app version 17 the "temperature" CSV file will store the values in 1x1 format, no more 4x4.

author: frenky
author_rank: Unknown
timestamp: November 29, 2016, 10:56:56 pm
content: Quote from: joe-c on November 29, 2016, 10:41:09 pmI didn't notice that. That's great!

author: lberger
author_rank: Newbie
timestamp: November 30, 2016, 07:35:45 am
content: QuoteYes 32 bits application are compatible with 64 bits applications. When you want to use 3rd party library in 64 bits it's a problem.I will solve problem in writting a 32 bits applications server to grab image.Quotethanks I wrote yesterday to i3system and I have got an answer with a link today. Good support

author: frenky
author_rank: Unknown
timestamp: November 30, 2016, 08:11:51 am
content: Quote from: lberger on November 30, 2016, 07:35:45 amI'm not really sure where is the problem. I've made my application in 64-bit environment while using 32-bit DLLs and everything is working fine.

author: lberger
author_rank: Newbie
timestamp: November 30, 2016, 05:06:54 pm
content: I don't know c#. But I believe this answer is truehttp://stackoverflow.com/questions/2265023/load-32bit-dll-library-in-64bit-applicationTo find memory model of lib given in SDK thermalexpert (I have receive from i3system) I use this posthttp://stackoverflow.com/questions/3322630/determining-the-cpu-architecture-of-a-static-library-lib-on-windows.dumpbin i3system_TE_dll.lib /HEADERSand answer is x86

author: joe-c
author_rank: Frequent Contributor
timestamp: December 01, 2016, 05:09:56 pm
content: i don't know if they have a x64 version of the dll.i prefer applications, that run on both systems. Is it possible to have a Program partial on 32 and 64 bit?i mean, acquisition in 32bit but processing in 64bit... that could be interesting

author: lberger
author_rank: Newbie
timestamp: December 01, 2016, 09:13:29 pm
content: It is possible to have a program in 32 bits for acquisition and a 64 bit program for image processing. If you are interesting I think there is two way IP server or named pipe on windows and some hours of work

author: Trax
author_rank: Regular Contributor
timestamp: December 03, 2016, 07:10:00 pm
content: Wow thats cool,does it work with any i3 thermal expert product?Do I need some DLL's or derivers from i3 that may not be a free download?

author: frenky
author_rank: Unknown
timestamp: December 03, 2016, 09:20:05 pm
content: Are you asking about my apps?I have TE Q1 so I can only guarantee that my apps will work with it.You can get free SDK from i3system so you can make your own apps for linux, windows and android.

author: Trax
author_rank: Regular Contributor
timestamp: December 07, 2016, 07:50:27 am
content: Yes I'm asking the app.is teh SDK free or doe sit cost money?Do you have the SDK?

author: frenky
author_rank: Unknown
timestamp: December 07, 2016, 08:18:38 am
content: Yes SDK is free. You can get it by sending email to i3system...Yes I do have SDK.

author: lberger
author_rank: Newbie
timestamp: December 07, 2016, 08:36:25 am
content: Now I have my 32 bits basic exe using named pipe. I can use my 64 bits applications to process thermal image

author: frenky
author_rank: Unknown
timestamp: January 13, 2019, 01:04:50 pm
content: I've made a new version of my windows program for converting csv files from ThermalExpert Q1 to png images.Changes:- button to remove geo location data from filenames (so you can have it sorted by date)- added min and max temperature to palette gradient (*C)- checkbox to fix current temperature range (instead of autorange), useful for stacking images or sequence of heating up- bugfixesBy using option to save csv in android app and then converting it with this software to png you can get really nice images out of ThermalExpert Q1 module.

author: polar
author_rank: Contributor
timestamp: April 24, 2019, 10:21:48 pm
content: Hi frenkyI tried our converter but for me it is not working. The images are not rendered correctly, the min/max values were completely off and also the sliders did not work (most probably also because of the wrong min/max values). So I had a look at our code and I think the way you read the csv is not compatible with the csv my version of the thermal expert app is exporting. While parsing you delete the " and any '.' and ',' so you basically convert the floats to integer. I checked my csv and the problem is that there are values e.g. '31.415071' but also '32.65', so the output is not with a fixed number of decimals, which obvioulsy lead to chaosIs it possible that earlier version of the thermal expert app did export the data with fixed number of decimals? I think I have the newest version.Edit:I did a quick (and dirty) fix, now it works for me//lineNew = line.Replace("\"", "").Replace(",", "").Replace(".", "");lineNew = line.Replace("\"", "");[...]//val = uint.Parse(vrstica[i ]);val = (uint)(float.Parse(vrstica[i ])*100); //*100 to be consistent with previous code

author: frenky
author_rank: Unknown
timestamp: April 25, 2019, 06:57:23 pm
content: They have recently changed csv format. I have new version almost ready...

author: TooQik
author_rank: Regular Contributor
timestamp: April 25, 2019, 10:04:50 pm
content: Hi frenky,If it's any help to you, here's the changes I made to your software to get it working with the M1, I also had to make changes to support the new csv format. I've just ignored the second array of values after the temperature values. Any idea what these values are?I've marked all my changes with "// CK" so you can see where and what I've modified. I used ThexConvertGUI-0_3 as the source.One thing I have noticed and need to fix, is the software with my changes throws an exception if there are negative temperature values in the csv.Thanks again for the original software.

author: frenky
author_rank: Unknown
timestamp: May 14, 2019, 07:53:39 am
content: New version supports M1 model and new CSV format...