images | ||
.gitignore | ||
exif_rad.py | ||
LICENSE | ||
Readme.md |
radiation tagger
exif_rad.py is a simple unix-style cross-platform Python 3 tool which can write certain tags to an image file.
It can scan a couple of images, extract their Exif-tags, and compare the DateTimeOriginal
with other sources.
By now it can parse a .his (CSV) file from a GeigerLog file export and calculate the radiation in µS/h using the factor in SIFACTOR
.
It then creates a UserComment
Exif tag with the actual measured radiation at the time the photo has been taken.
Dependencies
Right now it depends on the following non-core Python 3 libraries:
- piexif: Python module for working with EXIF image data.
Requirements
- GeigerCounter log file in csv format as it is being exported by the software GeigerLog. Such files look like this:
# ID , time in isoformat , CP/M, CP/S
149654, 2020-02-27 05:12:42, 13.0, 0.0
- A bunch of images (jpg, cr2, etc.) with its time of creation stored in
DateTimeOriginal
All sources are matched by their timestamp, so all sources have to be recorded during the same time (and timezone). The Geiger counter has to log a value every second, as the script compares the timestamps exactly.
Usage
A tool that writes radiation levels (and optionally geocoordinates) to image
files and extracts the infos from external sources.
positional arguments:
CSV Geiger counter history file in CSV format.
Photo One or multiple photo image files to process.
optional arguments:
-h, --help show this help message and exit
-si SIFACTOR, --sifactor SIFACTOR
Factor to multiply recorded CPM with. (default:
0.0065)
-o OUTDIR, --outdir OUTDIR
Directory to output processed photos (default: .)
GeigerLog setup
The Software is Open-Source and can be downloaded from Sourceforge.
Configure GeigerLog to use the GMC-Geiger counter
The GMC device has to be enabled in the geigerlog.cfg
which is located in the main program directory. Because GS (GammaScout) is preactivated, it can be disabled, while you want to enable GMC
-GSActivation = yes
+GSActivation = no
+#GSActivation = yes
The GMC* defaults are quite sane, but you might want to set the correct serial port:
usbport = /dev/ttyUSB0
Using GeigerLog to download history
Now the program can be started by double-clicking geigerlog
or by executing ./geigerlog
on the command prompt.
Once connected to the device (in any power state) by pressing 'Ctrl+C' , you can download the history ('History' -> 'GMC Series' -> 'Get History from Device'). You will be asked to choose a filename for the hisdb-file (SQLITE format).
GeigerLog now presents you a rendering of the radiation over time in its main window:
Once imported, you can export the history into a hisdb.his-file, which is basically the CSV-file exif_rad.py
can process. Choose 'History' -> Save History Data into .his file (CSV)'.
future possibilities
- In the future it should also be able to do the same with a gpx-file to extract geolocations and to write them into the appropiate Exif-fields.
- It might get a setup.py if I want to waste my time on it.
- I might want to get rid of the requirement to use a bloated GUI application to download the history data off the Geigercounter. There must be a neat working command line tool. Maybe I'll write it myself.