Author Topic: SeekOFix - new windows software for SeekThermal  (Read 74771 times)

0 Members and 1 Guest are viewing this topic.

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #25 on: February 22, 2016, 08:42:00 am »
You could make a USB OTG cable yourself. Just make sure you connect sense pin to the ground.
This way you don't have to worry about socket orientation on the tablet.
 

Offline Tantibus Vulgaris

  • Newbie
  • Posts: 2
  • Country: lt
Re: SeekOFix - new windows software for SeekThermal
« Reply #26 on: March 05, 2016, 08:57:10 pm »
Hi Frenky,

Tried out SeekOFix 0.3, but cannot get it working, says "No seek devices found". Installed latest WinUSB with Zadig, tried other drivers as well, but no success.

Seek Compact is of 5th version, USB ID 289D:0010, named as com.thermal.pir.206.1. It is detected by Linux PC too, dmesg shows info about camera, so I suppose my cable is right (not too much to screw there).  Windows also identifies device, as otherwise I wouldn't be able to install driver with Zadig, right? :-)

Anything else I could provide to help to identify problem? I have tried this with Windows 7, one "real" PC and one in VMWare, result are the same. Maybe the difference is my device is of newer generation, with manual focus ring?

Regards
 

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #27 on: March 05, 2016, 09:06:22 pm »
When you installed driver with zadig did you select iAP interface or com.thermal.pir?

You should select iAP:
https://www.eevblog.com/forum/thermal-imaging/yet-another-cheap-thermal-imager-incoming/msg534497/?PHPSESSID=7168ae8eb50b730e1916ea3fe6dcb052#msg534497
 

Offline Tantibus Vulgaris

  • Newbie
  • Posts: 2
  • Country: lt
Re: SeekOFix - new windows software for SeekThermal
« Reply #28 on: March 05, 2016, 10:59:39 pm »
Thank you for prompt response!

Now, how do I save the picture? :-)

I really like the possibility to fix temperature range, the feature I miss so much in the native Android app. Also "raw" format with temperature values for each pixel would be another tremendous work. I've read you had plans to export Flir format, right? Any progress on that?
 

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #29 on: March 05, 2016, 11:14:05 pm »
I've been doing a lot of image tuning lately and trying to improve usage of ID4 and ID10 frames for gain so not much work was done on the SeekOFix.
I did not even begin with studying Flirs format. Will do my best to release new version soon but probably it won't have this feature yet.
It will have:
- start & stop streaming
- histogram
- temperatures in K, *F, *C
- ability to add your own color palettes
- big code cleanup

To save the file just check the "AutoSave" and every time you'll hear shutter click you will have a new image saved in folder c:\seek\
This is because the first image after calibration has the least noise.
« Last Edit: March 05, 2016, 11:18:16 pm by frenky »
 

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #30 on: March 14, 2016, 09:43:19 am »
There are a lot of smart people here and I need your help. ;)

This values were taken while pointing Seek to uniform thermal plate.

Columns:
ID4 - values of gain? pixels which never change; (avg=3950)
gain - calculated gain (ID4/avgID4)
ID10 - values of gain? pixels which never change
ID1 - calibration frame, this is thermal image of shutter;  (avg=7700)
ID3_25C - image of uniform thermal plate at 25*C (77*F); (avg=7400)
ID3_75C - image of uniform thermal plate at 25*C (167*F);(avg=9500)
diff - subtracted: ID3_75C-ID3_25C (should be 2900)



So in ideal world all ID3_25C values would be 7400 and all ID3_75C would be 9500.
Difference would be 2900 which corresponds to 50*C (90*F).

What needs to be accomplished is:

1. How to use ID4, ID10, ID1, to fix values ID3_25C so that all are 7400.
The same algorithm should also work for fixing ID3_75C so that all values are 9500.


2. How to use ID4, ID10, ID3_25C, to fix values ID3_75C so that all are 9500.
Or how to use the same columns for fixing difference ID3_75C - ID3_25C so that all diff values would be 2900.

Tnx! :)

P.S.
CSV file is in the attachment.
 

Offline mangler

  • Newbie
  • Posts: 6
  • Country: ca
Re: SeekOFix - new windows software for SeekThermal
« Reply #31 on: March 28, 2016, 04:56:13 pm »
You could make a USB OTG cable yourself. Just make sure you connect sense pin to the ground.
This way you don't have to worry about socket orientation on the tablet.


For people who don't want to mess around with DIY you can buy this to reverse the socket. Expensive but I can't seem to find a cheaper source...

http://www.amazon.com/YCS-Basics-reversed-Female-adapter/dp/B0141Q9OGO/ref=pd_sim_421_2?ie=UTF8&dpID=3198XGtWpeL&dpSrc=sims&preST=_AC_UL160_SR132%2C160_&refRID=1HB71E3D5SMG6PK200S5
 

Offline Ben321

  • Frequent Contributor
  • **
  • Posts: 894
Re: SeekOFix - new windows software for SeekThermal
« Reply #32 on: March 28, 2016, 10:16:10 pm »
Cool. Now how about instead of posting the source code, post the latest compiled EXE file. I may some day eventually get a Seek thermal imager, and when I do I don't want to be stuck compiling the software myself. I don't even think I have the right version of Visual Studio to compile this. And by the way, PLEASE don't use .net for it. Please write a non.net version, for those that don't have the particular version of .net required by this program. I HATE programs that use .net instead of being plain old Windows EXE files. If you don't happen to have the correct version of .net, you need to download it and install it, and that total process of downloading and installing it takes about 1 to 2 HOURS.

It may be that .net is the latest "cool" thing in writing Windows software, but it also requires the MASSIVE .net framework, making it an overbloated way of writing software. Unlike most programmers out there, I have NOT jumped on the .net bandwagon. When I write my own software, it's plain old Windows software. I usually use VB6 for the majority of the programming, and if there's a feature that VB6 doesn't have that I need in my program (such as the atan2 function that C and C++ has, but VB6 doesn't) I will then use VC++ 2010 to write a plain old DLL file (nothing that requires .net) that wraps the required C or C++ functionality (such as the atan2 function) in a function that is exported by the DLL file, so that it is accessible to VB6. That's as a software writer.

As a software consumer, I usually will avoid LIKE THE PLAGUE any software that requires .net because I don't want to possibly have to spend 1 or 2 hours downloading and installing the latest version of .net, or an older version (yep that's right, the latest version doesn't have everything the older versions did, so if you have a program that depends on an older version of the framework, you actually have to go back and download an OLDER version of .net, and if it's too old MS might not even supply a download for such an older version of .net anymore).

So for the love of all that is good, PLEASE rewrite this software in a way that doesn't require .net, and PLEASE include the compiled EXE, not just the source code.
« Last Edit: March 28, 2016, 10:19:18 pm by Ben321 »
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: SeekOFix - new windows software for SeekThermal
« Reply #33 on: March 28, 2016, 11:32:28 pm »
@Ben321, are you volunteering?

The framework came originally from sgstair and evolved to what it is now after several people contributed, maybe you can be the one that contributes a non .Net and make it cross platform while you are at it ;)
 

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #34 on: March 29, 2016, 12:08:02 am »
Cool. Now how about instead of posting the source code, post the latest compiled EXE file.

Will do that in my next release...

It may be that .net is the latest "cool" thing in writing Windows software, but it also requires the MASSIVE .net framework, making it an overbloated way of writing software.

I've been writing .net apps at work for the last 10 years so it's hardly the "latest cool" thing.

If you don't happen to have the correct version of .net, you need to download it and install it, and that total process of downloading and installing it takes about 1 to 2 HOURS.
On dial-up perhaps?  Client Profile verisons are about 40MB and it takes another 5min on regular pc to install... And the latest .net 4.5 is 50MB (complete version).

So for the love of all that is good, PLEASE rewrite this software in a way that doesn't require .net

Well sadly that is not going to happen.
I have completely rewritten my app in the last couple of weeks but it's still in .net because it's what I'm familiar with.

When I decide that SeekOFix is stable enough to be usable I'll add export to Flir .fff format and stop with development because I'd like to focus on the hardware improvements.

I encourage everyone with programming skills to write better app for seek. For start just use the logic below and remove noise (on patent & dead pixels):

Code: [Select]
//get gain of each pixel:
gainCalArr[i] = avgID4 /arrID4[i]

//subtract frames and apply gain to diff:
currentFrame[i] = (arrID3[i] - arrID1[i]) * gainCalArr[i] + 7000;
 
The following users thanked this post: 77Ribetts

Offline efahrenholz

  • Regular Contributor
  • *
  • Posts: 188
Re: SeekOFix - new windows software for SeekThermal
« Reply #35 on: March 29, 2016, 12:27:32 am »
Cool. Now how about instead of posting the source code, post the latest compiled EXE file. I may some day eventually get a Seek thermal imager, and when I do I don't want to be stuck compiling the software myself. I don't even think I have the right version of Visual Studio to compile this. And by the way, PLEASE don't use .net for it. Please write a non.net version, for those that don't have the particular version of .net required by this program. I HATE programs that use .net instead of being plain old Windows EXE files. If you don't happen to have the correct version of .net, you need to download it and install it, and that total process of downloading and installing it takes about 1 to 2 HOURS.

It may be that .net is the latest "cool" thing in writing Windows software, but it also requires the MASSIVE .net framework, making it an overbloated way of writing software. Unlike most programmers out there, I have NOT jumped on the .net bandwagon. When I write my own software, it's plain old Windows software. I usually use VB6 for the majority of the programming, and if there's a feature that VB6 doesn't have that I need in my program (such as the atan2 function that C and C++ has, but VB6 doesn't) I will then use VC++ 2010 to write a plain old DLL file (nothing that requires .net) that wraps the required C or C++ functionality (such as the atan2 function) in a function that is exported by the DLL file, so that it is accessible to VB6. That's as a software writer.

As a software consumer, I usually will avoid LIKE THE PLAGUE any software that requires .net because I don't want to possibly have to spend 1 or 2 hours downloading and installing the latest version of .net, or an older version (yep that's right, the latest version doesn't have everything the older versions did, so if you have a program that depends on an older version of the framework, you actually have to go back and download an OLDER version of .net, and if it's too old MS might not even supply a download for such an older version of .net anymore).

So for the love of all that is good, PLEASE rewrite this software in a way that doesn't require .net, and PLEASE include the compiled EXE, not just the source code.

Someone worked hard and gave you the source. You claim to be a software developer and yet you can't rewrite it yourself? What's the problem, you don't have the time or the interest? Maybe it's because you are spending all your time bitching about having to compile the source yourself. For the love of all programmers everywhere, get with the times, and give the guy a break.
 
The following users thanked this post: Kilrah

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #36 on: April 08, 2016, 07:31:40 pm »
Hi guys. Finally new version...  :D

On the outside it does not look much different but the code is much better (lightweight & easier to understand).

New features:
- color palettes (you can add your own gradients in folder "palette" it should be png 1001px wide; 24BBP)
- temperature in K, *C, *F (Temperature is not accurate. I still need to calibrate my seek better. But difference in temperatures should be close enough...)
- execution time of single frame manipulation went down to approx 20ms so it should work better on old PCs.
- live histogram (it's not pretty but it gives you some insight)
- start/stop streaming
- vertical color palette with min/max temp

To-do:
- add averaging of x number of frames for cleaner still images
- improve external calibration so that image does not degrade so quickly with time
- implement Flir .fff file export (I did take a quick look at it and it will take some time to implement)
- fix sharpening (it looks worse than it used to)

SeekOFix v0.4:



EDIT:
There was a bug in external calibration. I reuploaded files.
« Last Edit: April 08, 2016, 08:13:14 pm by frenky »
 
The following users thanked this post: miguelvp, santasemilla, RAY5D

Offline IwuzBornanerd

  • Frequent Contributor
  • **
  • Posts: 318
  • Country: us
Re: SeekOFix - new windows software for SeekThermal
« Reply #37 on: April 13, 2016, 07:08:48 pm »
There are a lot of smart people here and I need your help. ;)

This values were taken while pointing Seek to uniform thermal plate.

Columns:
ID4 - values of gain? pixels which never change; (avg=3950)
gain - calculated gain (ID4/avgID4)
ID10 - values of gain? pixels which never change
ID1 - calibration frame, this is thermal image of shutter;  (avg=7700)
ID3_25C - image of uniform thermal plate at 25*C (77*F); (avg=7400)
ID3_75C - image of uniform thermal plate at 25*C (167*F);(avg=9500)
diff - subtracted: ID3_75C-ID3_25C (should be 2900)


So in ideal world all ID3_25C values would be 7400 and all ID3_75C would be 9500.
Difference would be 2900 which corresponds to 50*C (90*F).

What needs to be accomplished is:

1. How to use ID4, ID10, ID1, to fix values ID3_25C so that all are 7400.
The same algorithm should also work for fixing ID3_75C so that all values are 9500.


2. How to use ID4, ID10, ID3_25C, to fix values ID3_75C so that all are 9500.
Or how to use the same columns for fixing difference ID3_75C - ID3_25C so that all diff values would be 2900.

Tnx! :)

P.S.
CSV file is in the attachment.


I'm surprised to see such a variation in values of these correction frames from camera to camera.  My frameID10 values are all between 30 & 112 and my fremeID4 values are centered around 2000 +/-a few hundred.  If I define diff = fremeID3pixel - frameID1pixel, then scaling each pixel by the percentage from fremeID10 (as in 100*diff/frameID10pixel) essentially eliminates the "fixed pattern noise".  I figured that since the starting value of the curve in my frameID9 is 2000 that the values in frameID4 were probably individual pixel starting values for that curve, but when I used them in that manner they made a huge mess unless I scaled the delta from 2000 by the values in frameID10.  And when I did that I didn't see any useful change in the image.  If I normalize all the values in my frameID4 to 2000 I get values that are off from those in frameID10 by anywhere from 1% to 6%.  The values in my frameID7 are all near the high end of the 14 bit range so I suspect they are negative numbers.

My frameID10 has a complete row of 0's at about the 38th row.  FrameID4 and frameID7 have that same row of 0's, which makes me believe all 3 are correction data, but I have yet to find a way to utilize the other 2 to improve the image.

I never see any mention of frameID9 on here; don't other cameras have a curve in frameID9?
I am not opposed to exercise, unless it is an exercise in futility.
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: SeekOFix - new windows software for SeekThermal
« Reply #38 on: April 13, 2016, 08:10:28 pm »
I never see any mention of frameID9 on here; don't other cameras have a curve in frameID9?

These are my thoughts for frame ID 9 when I first encountered it:
https://www.eevblog.com/forum/thermal-imaging/yet-another-cheap-thermal-imager-incoming/msg545910/#msg545910

Quote
Frame 2 (ID 9) is a bit bizarre, because it shows a nice gradient, like if during boot the chip shows that the memory is writable and is just to make sure it can be read. It's pretty smooth with no dead pixels (other than pixel 10) and maybe some others that I can't see. the original range goes from [2000 to 16383] (both included) it didn't translate well to 8 bits. Maybe that's the actual sensor range for raw data, not sure. Also it might be the firmware that outputs the gradient, doesn't have to do anything with the sensor for all we know.


I still think it must represent the range of sensor values but didn't look more into it since then.

Note that the image attached is clamped to 8 bits, I think the gradient is continuous in 16 bits without the wrap around shown on my attempt to include the image.

« Last Edit: April 13, 2016, 08:12:54 pm by miguelvp »
 

Offline IwuzBornanerd

  • Frequent Contributor
  • **
  • Posts: 318
  • Country: us
Re: SeekOFix - new windows software for SeekThermal
« Reply #39 on: April 14, 2016, 05:18:16 am »
I never see any mention of frameID9 on here; don't other cameras have a curve in frameID9?

I still think it must represent the range of sensor values but didn't look more into it since then.


I agree, which is why I thought there would be more talk about it on these Seek threads, but I guess the discussion has focused on cleaning up the image rather than determining the temperature.  I did see someone pose the question as to how to get temperature, though.

You should have your software write the 16 bit values to a text list file, plot it and see if it looks like the attached file (assuming that works; my first try here).

I am not opposed to exercise, unless it is an exercise in futility.
 

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #40 on: April 14, 2016, 07:44:13 am »
I believe you mean that someone should capture raw values while pointing seek to a black body with adjustable temperature?

I would be happy to do that if I had such a device... but sadly I don't and I can't spend 800$ on a hobby...



In the attachement is ID9 frame from my seek...

Values go from 1990-13320 and 15240-16020.
 

Offline IwuzBornanerd

  • Frequent Contributor
  • **
  • Posts: 318
  • Country: us
Re: SeekOFix - new windows software for SeekThermal
« Reply #41 on: April 14, 2016, 06:24:59 pm »
I believe you mean that someone should capture raw values while pointing seek to a black body with adjustable temperature?


No, actually what I mean is that you don't need to do that because you have the normalized thermistor curve in frameID9. ;D  And if you write the 16 bit values to  a list file & plot them against pixel number you will see that, as in the image I posted above.  The curve is repeated twice.

I'm wondering if this topic should be carried to the "How to correct..." thread; I originally posted on this one because it had the most recent activity & I was responding to an earlier frenky post here.  There is more to say...
I am not opposed to exercise, unless it is an exercise in futility.
 

Offline eternalone

  • Contributor
  • Posts: 30
  • Country: us
Re: SeekOFix - new windows software for SeekThermal
« Reply #42 on: June 12, 2016, 12:15:06 am »
Hiya! Just registered to say great job on this software. Big improvement for the seek. Ive added 20 different palettes for a variety of color choices. Ive had right knee problems for 20 years...this allows me to see the pain.  :-+

 The android software was real crap. Love the external calibration and manual exposure. And thanks for whipping up an EXE version, i dont know how to compile one.
 Keep up the great work and hope an update version is coming soon. :clap:

 heres some pics from my seek on my windows tablet....I enlarged them to 640x480

 

Offline eternalone

  • Contributor
  • Posts: 30
  • Country: us
Re: SeekOFix - new windows software for SeekThermal
« Reply #43 on: June 12, 2016, 12:26:12 am »
couple more pics...
 

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #44 on: June 12, 2016, 06:40:26 am »
Thank you for sharing your experience with my software. It really boosts my motivation to continue development... :-+
« Last Edit: June 12, 2016, 11:28:01 am by frenky »
 

Offline Kevin11

  • Newbie
  • Posts: 2
  • Country: tw
Re: SeekOFix - new windows software for SeekThermal
« Reply #45 on: June 15, 2016, 04:21:36 pm »
hello,
I am a beginner in seek thermal.
I am interested that it is possible to do some image processing(foreground detection or else) with seek thermal?
 

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #46 on: June 15, 2016, 07:02:04 pm »
Anything is possible if you know how to code...
 

Offline efahrenholz

  • Regular Contributor
  • *
  • Posts: 188
Re: SeekOFix - new windows software for SeekThermal
« Reply #47 on: June 16, 2016, 04:44:29 pm »
What's crazy is Seek already has a particular signature look, completely different from FLIR. I've noticed from some recent photos that the image quality has improved quite a bit, looks a lot smoother. Did they remove the speckled noise from hard contrast lines or something?
 

Offline frenkyTopic starter

  • Supporter
  • ****
  • Posts: 1003
  • Country: si
    • Frenki.net
Re: SeekOFix - new windows software for SeekThermal
« Reply #48 on: June 16, 2016, 08:18:27 pm »
On the settings->image settings-> image smothing you can turn off this enhancement ;)
 

Offline joe-c

  • Frequent Contributor
  • **
  • Posts: 350
  • Country: de
    • Joe-c.de
Re: SeekOFix - new windows software for SeekThermal
« Reply #49 on: June 17, 2016, 03:46:33 am »
I believe it is only a median filter.  8)
Freeware Thermal Analysis Software: ThermoVision_Joe-C
Some Thermal cameras: Kameras
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf