Products > Thermal Imaging

RPi/SBC/Topdon TC001/clone Tester request (Thermal Camera Redux v0.9.3) Github

(1/23) > >>


2024-01-27: Version 0.9.3 modifications have been pushed to github to optionally build with dynamic border layout.
2024-01-25: Version 0.9.2 modifications have been pushed to github to optionally lock out camera's colormap auto-ranging.
2024-01-18: Version 0.9.1 modifications have been pushed to github for weak and single threaded/single core hardware.

"Thermal Camera Redux" is being posted to Github. 

All future updates will be available there free, for personal, non-commercial use.

No Microsoft, Apple or similar app stores required.  :)

Vive la Open Source !!!

UPDATE: The Python script has been abandoned in favor of a port to C/C++ for optimization and threading concerns.

I have been modifying Les Wright's PyThermalCamera python script on Debian 11 and would like to know if there are any RaspPi/Topdon TC001 users out there that would like to test the potential RasbPi bug fixes and new features.

I think I may have fixed the Fullscreen transitioning issues in addition to the following additional mods.

- Added Fahrenheit temp displays and toggle key to switch between F and C
- Floating MIN/MAX temps no longer get written off screen past the display edges.
- Floating MIN/MAX temps don't overwrite HUD menu text (but the target dots will to retain X,Y location).
- Added MIN/MAX temp labels.
- Added Frames Per Second display to HUD menu.
- Added ability to cycle backwards in addition to forwards through the color maps for quicker access.
- Added some speed optimizations in the animation loop.
- Added ability to have more scale modes based on your display size.  Note: larger scales require more CPU cycles.
- Added Fullscreen to cycling scale modes when max scale is exceeded.
- Scaling in Fullscreen mode automatically transitions to scaled resize windows when appropriate.
- Added window manager borders for additional move/resize, show/hide controls.
- Added some toggle keys.
- Some various visual changes to enhance readability.
- Fixed some minor issues.

If anyone is interested in testing the modded script, please let me know through PM or post in this thread.

NOTE: Min temp does not overwrite HUD text, but the blue dot in the upper left corner is free to float over the HUD menu according to its target location.

NOTE: If the HUD menu is turned off, the text moves close to the dot but does not get written off the top of the screen.  It slides slightly lower than the dot to stay in view on screen.

Thanks much to Les Wright for doing the heavy lifting on the Python script.  I have been looking for a thermal camera solution that doesn't tie me to a smart phone app and a lot of $$$.

After making yesterday's post, I realized there were some intermittent bugs in the calculation of the Min/Max/Avg temps and respective screen locations.  You can see the Min temp is higher than the crosshair temp in the original picture.

Fixing those bugs in Python is resources prohibitive, so I ported the code to C/C++ to get more optimizations.  The C++ OpenCV libraries are multi-threaded versus the single threaded Python library.  Processor utilization has gone down and frame rates are native for the Topcon TC001 (even with the bug fixes).

Here are both of the frames (top=image, bottom=thermal).  The C++ library has twice as many color maps plus the initial map so @ 23 in total.

Will be adding some more features with the extra headroom and possibly some frame manipulations (image rotate/flips, single/dual frame display, frame swap, etc.).

The thermal frame appears to have its merit.

Python is now in the rear view mirror.

Another update. 
Added a few extra display formats (see picts below) as well as a handful of interpolation methods.
Scaled fonts to grow/shrink with image scaling.
Added ability to disable all graphical overlays.
Added another thread to parallel thermal data harvesting and image preparation.
Added hot key to reset all configurations to default.
Did some prerf profiling and optimizations from the perf results.
Will probably add a user defaults config file.
Will be adding data logging over time for graphed analysis.
Found some v4l2 APIs that should allow application control of the camera's following User Controls.

Does anyone know what APIs control emissivity settings of the TC001 ?

Any other feature ideas ?

Tracking temp with mouse or arrow keys to move center crosshair temp ?

--- Code: ---User Controls:
                     brightness 0x00980900 (int)    : min=-64 max=64 step=1 default=0 value=0
                       contrast 0x00980901 (int)    : min=0 max=100 step=1 default=50 value=50
                     saturation 0x00980902 (int)    : min=0 max=100 step=1 default=64 value=64
                            hue 0x00980903 (int)    : min=-180 max=180 step=1 default=0 value=0
        white_balance_automatic 0x0098090c (bool)   : default=1 value=1
                          gamma 0x00980910 (int)    : min=100 max=500 step=1 default=300 value=300
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=1 value=1
0: Disabled
1: 50 Hz
2: 60 Hz
      white_balance_temperature 0x0098091a (int)    : min=2800 max=6500 step=10 default=4600 value=4600 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=100 step=1 default=50 value=50
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0

--- End code ---

Single Image Frame:

Single Thermal Frame:

Dual Horizontal Image / Thermal Frames:

Dual Vertical Image / Thermal Frames:

And another update. 

Here is a feature to monitor/log multiple user locations of interest at once (in addition to the existing monitoring points).

Add more monitoring points by clicking on the display.

This could be useful when doing bench work with the camera on a fixed stand and fixed work piece.

Not much more to add other than some more threading and rendering profiling optimizations.

High/Low alarm snapshots and recordings will probably go in next.

Time to put it to good use.


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod