I have been meaning to start this thread once I get my new SDL2 code ready for release but I decided to start it now because I recently learned that a graduate student (@kiranjayaraj) has been using my old Python code to control a Seek in his research. He has asked several questions about the code via PM & it occurred to me that the discussion could benefit others who use the program, so this thread can provide a forum for such discussion.
I didn't intend to "support" the program and had even abandoned the Python code because it was incapable of running surveillance while displaying the images at even 1x scale, but knowing that someone has been using that program for such a serious purpose has motivated me to make some relatively easy updates to the code that people who have used it would probably like to have, so I will post the new code here. It is also possible that some people might not want to use my new SDL2 code on a Pi because it has to be run in console mode (no X-windows).
I made the topic general enough that we can post links to other software that runs on a Pi. For instance I know from another thread that people are using this code on GIthub:
https://github.com/maartenvds/libseek-thermal which is more of a "bare-bones" program.
The main updates to the Python code have to do with the color palette. The program now reads in palettes from ASCII file lists of RGB values. The file names are listed in the config file, so people can create & use their own palettes. I have included 6 palette files with the program. Hopefully @frenky doesn't mind that I stole a couple palettes from his software package.
There is also a setting for autoranging the temperature use of the palettes wherein the program finds the min & max temperature in each frame and applies the entire palette to that range. This is, I guess, the common way of doing things and I kind of like it for the smooth palettes but I still like my distinct color palettes without the autoranging. I have also added the pixel bias correction which makes for cleaner images. The effect of this was not noticeable with the original Seeks but now that they are much less noisy this correction makes a significant difference when the camera temperature is even just a few degrees different from the temperature at which the "user cal" was done. To accomplish this the program now saves the shutter data to a file when the "user cal" is done. There are other things I could or should do but I'll toss this out there now & see how much interest there is otherwise I'll just keep coding and never get it released.
At least with this thread there is a place to comment or complain about the program.
When the palette is in autorange mode the program will display markers at the min & max scene temperatures. These will update every frame and can appear erratic in some instances (see attached sample video), so I also provided the ability to turn off the min/max marker display.
I have changed the program file names so that compiling the new version (of pixelmath) won't mess up any earlier versions installed on the system. I also woke up to the fact that there are things I should have changed in the setup.py file instead of leaving the boilerplate stuff there, and I changed some things in that file as well as the file name. Still, I suggest unzipping the archive to a new directory of your choice. Once that is done, follow the instructions in the Readme.html file.
I have successfully run my updated version of the Python code on my Pi2B running Raspbian Stretch and on my Pi Zero(W) with a 3.5" touchscreen running Raspbian Jessie (January 2017 version). I have not gotten Stretch to work with that 3.5" screen but have not spent much time on that.
Attachments below are:
The revised program
Video showing "erratic" markers during palette autorange
Screenshot with "Iron" palette autoranged
Screenshot with my hand-made palette at 5 shades per degree (I like the extra isotherms I get with that palette.
)