Skip to main content

Flir Image Extractor CLI

The email address attached to this on PyPi may not be monitored, open issues on the GitHub repo to ensure a response

Feel free to submit any pull requests or issues, this is in active development. Also let me know if you are successful in using this on cameras not listed below.

FLIR® thermal cameras like the FLIR ONE® include both a thermal and a visual light camera. The latter is used to enhance the thermal image using an edge detector. The resulting image is saved as a jpg image but both the original visual image and the raw thermal sensor data are embedded in the jpg metadata.

This Python CLI that allows you to extract the original photo and thermal sensor values converted to temperatures, normalize the temperature range and output the photos to different color maps.

Requirements and Install

To install and Run on Linux and windows if repo is cloned:

poetry install
poetry run flir-image-extractor

You can install the CLI using pip:

pip install flirimageextractor or pip install --upgrade flirimageextractor (windows)

Usage: Sample Basic code Snppet

import numpy as np
from flirimageextractor import FlirImageExtractor

flir = FlirImageExtractor()
flir.process_image(flir_img_file='images/DJI_H20T.jpg')
# Save processed images and extract thermal data
images = flir.save_images(bytesIO=True)
temperature = flir.get_thermal_np()
# Calculate and upload thermal data
max_temp, min_temp = np.amax(temperature), np.amin(temperature)
print(max_temp)
print(min_temp)

Resulting Plot and Saved Images

The CLI is able to output 3 folders of images with the bwr, gnuplot, and gist_ncar colormaps from matplotlib. You can define the pallete(s) that you would rather use.

Supported/Tested Cameras

  • FLIR R-JPEG Camera Model

    • FLIR
    • FLIR AX8
    • FLIR B60
    • FLIR E40
    • FLIR T640
  • DJI R-JPEG Camera Model

    • DJI H20T
    • DJI XT2
    • DJI XTR
    • DJI XTS
    • DJI R-JPEG Camera Model DTAT3.0
  • DJI M2EA / DJI MAVIC2-ENTERPRISE-ADVANCED

    • DJI H20N
    • DJI M3T / DJI MAVIC3
    • DJI M30T

Other cameras might need some small tweaks (the embedded raw data can be in multiple image formats). Let me know if you succesfully use other cameras so they can be added to this list.

Development

Install the required packages using Poetry. Note that this tool is intended to work on Windows as well as Unix operating systems so use os.path functions to manipulate file paths instead of string manipulation.

Build Command for Dev (uses poetry or twine)

  • python -m build --sdist --wheel
  • poetry build
  • poetry add "packagename" --group=extras --optional
  • sphinx-build -b html docs/source docs/build (To Generate Docs)

Credits

This CLi was developed using this repos:

Metadata

Release files for flirimageextractor 1.5.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flirimageextractor 1.5.11
File Size Uploaded
flirimageextractor-1.5.11.tar.gz 35.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flirimageextractor 1.5.11
File Interpreter ABI Platform
flirimageextractor-1.5.11-py3-none-any.whl Python 3 none any Details

Total release size: 75.9 kB

Release files / flirimageextractor-1.5.11.tar.gz

Download URL flirimageextractor-1.5.11.tar.gz
Size 35.3 kB
Tags Source
SHA-256 checksum
How to use checksums
beb2a35489fd9037779ef6d65145ee8b17cf3a4c2347d4dcecc43931c1146d82
BLAKE2b-256 checksum
How to use checksums
4875b194e1a558f4515cff567c87222e0f6a751dde2ac644a5e23ba558314190
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.20

Release files / flirimageextractor-1.5.11-py3-none-any.whl

Download URL flirimageextractor-1.5.11-py3-none-any.whl
Size 40.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09ae4e03b2ceee4d779a406f26442d8808ea397de34c6f443012125c0610f27a
BLAKE2b-256 checksum
How to use checksums
5f1f5fda07980d8e6cce3dd2b207016a0d030e9838d4b3ae6bb3e1bff3095557
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.20

Release history Release notifications | RSS feed

This release

1.5.11 This release

2 release files

1.5.10

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

1 release file

1.2.11

1 release file

1.2.10

1 release file

1.2.9

1 release file

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

3 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page