What I did was what I'd call a moving average of the 9fps camera frames. I defined a set of arrays, frame1, frame2, frame3, frame4 and as each frameID3 came along I'd shift the saved frames down the line & put the new one in frame1. I'd make an average of each pixel across the 4 arrays & use those averaged pixels for the output image.
After making that last post I saw the new activity on
https://www.eevblog.com/forum/thermal-imaging/seek-thermal-hardware-modification-to-improve-image-quality/25/ in which frenky got improvement with 20 "stacked" frames. If by "stacked" he means averaged, then perhaps I did something wrong in my code OR maybe my 1 degree Fahrenheit granularity masks the improvement (OR maybe a mere 4 frames wasn't enough!). All of my images are one color per degree Fahrenheit (or half degree C if I show temp in C). I don't know what degree resolution frenky is showing there. If he's displaying 1-bit "diff" resolution then he has about 3 bits finer than mine. By the way, frenky, that's quite a nifty cooling system you have there.
You might have noticed in the images in my preceding post that there is a splotchy pattern in the image, sort of a remaining "fixed pattern noise" even after applying the fremeID10 (or "user generated" scaling factors). I see the same sort of thing in some of the images people have posted on these Seek threads, such as those posted by havaloc here
https://www.eevblog.com/forum/thermal-imaging/seek-vs-flir-one-g2-images/?topicseen . I have found that this is related to the correction factors, as I get a different pattern if I use my own set as opposed to frameID10.
It has become my obsession to get rid of that pattern but I have yet to be truly successful at it. I finally just subtracted the actual temperature from the lookup values of each pixel of one frame from a uniform temperature surface and used the remainder as a correction in my software. Dividing the pixel temperature by the actual temperature to create scaling factors had about the same effect. This produces a rather nice image, but only at temperatures near the temperature where I made the correction values. So the pattern is related not only to the correction factors but also to the camera temperature and maybe the scene temperature.
The first image attached below is the wall corner with the 9 pixel average from before AND the pattern subtracted. The second one is a few feet to the right, the wall above my fireplace, with the pattern. The third one is that image with the pattern subtracted.
I have pretty much given up on using frameID4, 7, & 10 and am trying to come up with my own correction schemes. Doing so, I recently discovered that if I take an image of a room temperature surface with the camera stabilized and create a set of pixel correction factors by dividing each "diff" by -400 (or maybe even any number between -400 & -500) I get just as clean an image without doing any pattern subtraction, but still only at temperatures within a few degrees of that particular room ambient. The non-averaged image is much better with that set of correction factors also.
The 4th image attached is the fireplace wall with those correction factors but NO pattern subtraction.
A bit later I made a similar set of cal factors using 5 averaged frames and that is what I am using now. The 5th image is a fresh one from just now with the camera hung about 10 inches above my tabletop & set to minimum focus distance. The 6th image is the same with NO pixel averaging. Compare those with the averaged & non averaged images in my preceding post!
As a point of comparison, I edited my code to use the frmeID10 correction factors instead of my latest ones and the last 2 images are the tabletop with those factors and with the 9 pixel averaging (7th image) and without the 9 pixel averaging (8th image). Since I had to restart the program, I couldn't put the markers back in the same spot.
I find that the pattern returns at other camera temperatures. The 9th image is the ceiling above the camera with the camera's pixel 1 value at 4192, close to the 4198 value where the cal values were made. The 10th image is the same ceiling with the camera lying in this laptop's "exhaust", heating it to a pixel 1 value of 4060. I'm not sure if the temperatures are off due to the camera not being stable yet or what; I didn't note whether it was stable.
I am now trying to figure out what the temperature dependance is; it may be a while...especially since I need to get something else done.