app
FLIR Thermal
FLIR Thermal decodes radiometric FLIR JPEG/RJPEG files, displays calibrated temperature maps, measures rectangular ROI hot/cold/mean values, and exports rendered images with Celsius data.
Requirements And Launch
A .jpg, .jpeg, or .rjpg extension alone is insufficient; the file must contain a readable FLIR raw thermal record and calibration metadata.
labkit_FLIRThermal_app
Inputs And Navigation
Use Add FLIR files or folder to load one or more radiometric images. The selected row is the current image; Previous/Next change selection without discarding per-image display range or measurement annotations. Source files are read-only.
Basic Workflow
- Load radiometric files and inspect the decoded min/max/metadata summary.
- Choose a palette and color mapping.
- Set a range preset, per-image range, or shared group range.
- Choose ROI hot spot, ROI cold spot, or ROI mean, then drag its rectangle.
- Optionally click the image for an independent manual point reading.
- Review the numeric results and markers.
- Export the current image or the full batch.
Placing or dragging a reading ROI and refreshing its marker preserves the current zoom. The reading is recalculated from the thermal matrix, not from screen colors.
Temperature Conversion
labkit.thermal.readFile extracts the raw sensor matrix and converts it to Celsius. Environment-corrected conversion uses Planck constants plus available emissivity, object distance, atmospheric/window transmission, reflected temperature, and related metadata. Missing environmental fields may use documented defaults and are listed in record.metadata.temperatureConversion; required Planck constants are never invented.
Absolute temperature accuracy depends on camera calibration and environmental assumptions. Preserve conversion diagnostics with reported measurements.
Display Controls
Palettes are Turbo, Iron, Hot, Parula, and Gray. Mapping modes are Linear, Log, and Gamma; gamma defaults to 2.2 and is limited to 0.1-5. Display ranges are stored per image. Actions can set each image independently, apply one shared group range, fit the current image, or round configured bounds.
Palette, mapping, gamma, and color limits affect only mapping into display colors. They do not transform the Celsius matrix or exported temperature values.
ROI Readings
The rectangular ROI includes both boundary pixels after its two corners are rounded and clamped to the thermal matrix. Hot and cold readings report value and [x y] location. Mean ignores non-finite pixels and also records ROI geometry and finite pixel count. The marker is a display annotation; moving it does not change source data.
Outputs
Current or batch export writes PNG, TIFF, or JPEG rendered thermal images, matching color scale graphics, Celsius CSV matrices, measurement values, a batch CSV summary, and the standard flir_thermal.labkit.json result manifest. The clean image export excludes interactive toolbar chrome. Numeric temperature outputs remain Celsius regardless of palette or mapping mode.
Project And State
Saved projects keep portable source references, display parameters, export settings, and lightweight per-image ranges and readings. Raw sensor matrices and decoded Celsius matrices are loaded again from the selected source when a project opens. Missing source files use the standard relinking flow rather than relying on a local absolute path. An existing source that is no longer a readable radiometric file aborts the restore and preserves the current document. Batch import may still report and skip rejected selections before they become project sources.
An empty launch does not choose an output directory. Adding files establishes the source-adjacent default; Choose folder remains available before export.
Use Without The GUI
record = labkit.thermal.readFile("capture.rjpg");
temperatureC = record.temperatureC;
point = flir_thermal.analysisRun.pointTemperatureReading( ...
temperatureC, [120 80]);
[hot, cold, meanReading] = ...
flir_thermal.analysisRun.roiTemperatureMeanReading( ...
temperatureC, [90 60], [169 129]);
[imageHot, imageCold] = ...
flir_thermal.analysisRun.extremeTemperatureReadings(temperatureC);
Function Reference
The generated pages for pointTemperatureReading and extremeTemperatureReadings specify coordinate order, clamping, nonfinite/empty behavior, returned fields, conversion failures, and related measurement APIs.
Errors And Limitations
- Non-radiometric JPEG files are rejected even when their extension is valid.
- Coordinates refer to the decoded thermal matrix, not a separately scaled visible-light image.
- An ROI containing no finite temperature pixels cannot return a finite mean.
- JPEG export is visual and lossy; keep Celsius data for quantitative work.
Related Topics
Functions And API
Open a function for exact MATLAB syntax, arguments, outputs, behavior, and source.
| Function | Purpose |
|---|---|
flir_thermal.analysisRun.extremeTemperatureReadings | Locate finite global thermal extrema. |
flir_thermal.analysisRun.pointTemperatureReading | Read the nearest calibrated thermal pixel. |
flir_thermal.analysisRun.roiTemperatureMeanReading | Measure an inclusive rectangular thermal ROI. |
Change history
- 2026-07-20 - App actions require explanatory hover helpfeat | compatible
- 2026-07-19 - App SDK explicit contract replaces the retired UI runtimerefactor | breaking
- 2026-07-17 - Public API help is complete, discoverable, and behavior checkeddocs | compatible
- 2026-07-17 - Project restore distinguishes missing sources from damaged sourcesfix | compatible
- 2026-07-17 - Explicit layout action contractrefactor | compatible
- 2026-07-16 - Image App project validation ownershiprefactor | compatible
- 2026-07-16 - Runtime-owned session defaults across App familiesrefactor | compatible
- 2026-07-16 - FLIR Thermal separates durable annotations from decoded sourcesrefactor | compatible
- 2026-07-16 - Image Apps stop creating invalid placeholder outputsfix | compatible
- 2026-07-16 - UI 7 public runtime boundaryrefactor | breaking
- 2026-07-15 - Runtime V2 lifecycle ownership across the app fleetrefactor | breaking
- 2026-07-13 - Traceable FLIR temperature calibrationfeat | compatible
- 2026-07-06 - UI 5 facade redesign, app migration, and plot refreshrefactor | breaking
- 2026-07-03 - FLIR display tuningfeat | compatible
- 2026-07-03 - CSC export and viewport policyfeat | compatible
- 2026-07-03 - UI groups migrationrefactor | compatible
- 2026-07-03 - App file-selection and electrochem control fixesfix | compatible
- 2026-07-03 - Declarative app runtimerefactor | compatible
- 2026-07-01 - Debug sample packsfeat | compatible
- 2026-07-01 - Image app workflow improvementsfeat | compatible
- 2026-07-01 - Thermal facade and FLIR appfeat | compatible