Thermal Imaging

Temperatures you can measure

Omniris

Geospatial Intelligence

White Paper

Overview

How Omniris turns a thermal drone flight into a map of real surface temperatures that you can click, outline, search for hot spots and compare — with every number read from the measured data, never guessed from the colours.

Read More
Omniris white paper · October 2026

Temperatures you can measure

How Omniris turns a thermal drone flight into a map of real surface temperatures that you can click, outline, search for hot spots and compare — with every number read from the measured data, never guessed from the colours.

Reading131.9 °F (55.5 °C) · 36.0412° N, 79.1183° W
Reference97.2 °F (36.2 °C) · vs similar component
ΔT+34.7 °F (+19.3 °C) · critical
Sourcetemperature map · 2026-10-01 · verified · THERMAL
ConversionDJI Matrice 4 Thermal · ε 0.95 · 100 ft · 62 % RH · 84 °F ambient
71.6 °F (22.0 °C)ironbow · 2nd–98th percentile138.2 °F (59.0 °C)
Illustrative example values.

Summary

A thermal camera on a drone sees heat the eye cannot: a solar panel string running hot, a roof holding water, a field that has run short of water, an electrical connection on its way to failure. Most tools stop at a colourful picture — dramatic, but nothing a second person can check. Omniris turns the flight into a map where every pixel is a measured surface temperature, gives you tools to measure on it, and keeps a record of where every number came from.

Six capabilities work together:

A temperature map, not a heat picture

Thermal photos are stitched into one map where every pixel is a surface temperature. A map is labelled THERMAL only after its temperatures are checked, and the tools read nothing else.

Measure on the map

Click for a temperature, compare two points and grade the difference, get statistics inside any outline, or highlight everything above a temperature. Readings show °F first, °C beside them.

Anomaly detection

Finds areas noticeably hotter (or colder) than the rest of the flight or than their surroundings, ranks them, and gives each one's peak, rise, size and location. The result is saved, so the report and the assistant quote the same list.

Crop water stress

A crop water stress map from canopy temperature, using published crop baselines where they exist and a clearly labelled relative method where they don't.

Reports and an assistant that agree

The report prints the same map, scale and anomaly table you see on screen. Orion, the Omniris assistant, answers from the same data and shows you where — it never estimates a temperature.

Honest conditions

The settings used to calculate temperatures are saved with the job. Solar and roof reports list the inspection conditions their standards call for and say plainly what was not recorded.

Why a thermal picture is not a measurement

A radiometric thermal camera records the measured heat at every pixel, not just a coloured image. That data can be turned into real surface temperatures once you allow for the surface material, the distance and the air. Many tools throw it away and stitch the camera's coloured preview instead. The result looks good but has three weaknesses:

  • It has no units. A pixel is just a colour, and the camera adjusts its colour range photo by photo, so the same colour means different temperatures in neighbouring photos. The scale on the side is decoration.
  • Nothing can be re-measured. A second person cannot click the map and read a temperature, outline an area and get its statistics, or ask how much hotter one panel is than its neighbours.
  • Nothing can be compared. Without real temperatures, one flight cannot be compared with the last, and an "anomaly" is whatever looked bright that day.

Omniris makes the thermal map something you can measure on. Everything in this paper follows from one rule.

Only verified temperatures

Every thermal map in Omniris stores a real surface temperature at each pixel, in a standard map-image format (cloud-optimised GeoTIFF). Gaps are marked as "no data", never filled with a made-up value. Omniris checks this when the map is created, not when it is shown:

  • When a thermal stitch finishes, its values are checked to confirm they really are temperatures. Some cameras store temperature in a different unit; those values are converted to °C. A result that cannot be confirmed is refused, not labelled.
  • Only a map that passes is labelled THERMAL. That check is the only thing that applies the label.
  • Every thermal tool, the report and Orion read only THERMAL maps. A folder without one gets a plain "no verified thermal product" message, never a number from somewhere else.
One rule, everywhere

No temperature shown anywhere in Omniris is estimated from a picture. The probe, region statistics, temperature highlights, anomaly detection, crop water stress, the report and Orion all read the same verified temperature map and show what they read.

From flight to temperature map

flowchart LR
  A[Thermal photos
DJI, FLIR or built-in thermal band] --> B[Recognised and kept apart
from the colour photos] B --> C[Converted to °C
photo by photo] C --> D[Stitched into a map
as its own job] D --> E[Temperature check] E --> F[THERMAL map
in the vault] F --> G[Map tools · Report · Orion]
Detect

Thermal photos are recognised automatically

Before a stitch, Omniris checks every photo. Thermal photos are recognised from the camera's own markings: a thermal band tag, a FLIR temperature record inside the photo, or a DJI thermal camera's small image size and file naming. The stitch dialog shows how many it found, and the Thermal option appears, already ticked, only when there is something to build.

Separate

They never spoil the colour map

Thermal photos are always kept out of the colour and multispectral maps, whether or not you ask for a thermal map. The Thermal option decides whether you get a thermal map, not whether thermal photos end up in the wrong one.

Convert

Converted to temperature with saved settings

DJI and FLIR thermal photos are converted to temperature one by one — DJI's with DJI's own thermal software. Five settings affect the result, and you can review them under Temperature measurement settings: emissivity (how strongly the surface gives off heat; 0.95 by default), distance, humidity, air temperature and reflected temperature. Humidity and temperatures are prefilled from the weather reading nearest the time the flight was captured — the evening reading for an after-sunset flight — and the dialog names the weather source and the hour it used. The values are saved with the job. Cameras with a built-in thermal band (the MicaSense Altum family) record temperature directly and skip this step.

Build

A job of its own

The thermal map is built as its own job — alongside the colour or multispectral map, or on its own, from one submission. It is priced on its thermal photos, can be cancelled or retried by itself, and shows as its own progress card with a Thermal badge.

Verify

Checked before it is labelled

When the job finishes, the result goes through the temperature check described above. Only then is it labelled THERMAL and added to the vault as a map layer.

Supported cameras

FamilyCamerasHow temperature is obtained
DJI radiometricMavic 3 Thermal, Matrice 4 Thermal, Matrice 30T, Zenmuse H20T / H20N, Zenmuse H30T, Mavic 2 Enterprise AdvancedRadiometric JPEGs (R-JPEG: a JPEG with the temperature data inside), converted photo by photo with DJI's thermal software and your saved settings
FLIR radiometricSkydio X10 (validated); other cameras that write FLIR radiometric JPEGsConverted photo by photo with the temperature calibration stored in each photo and your saved settings. Maps from cameras other than the Skydio X10 are labelled "camera not validated — temperatures unverified" on the map and in the report. Photos with no calibration are left out, and the dialog says how many.
Built-in thermal bandMicaSense Altum, Altum-PTThe camera's thermal band records temperature directly; no conversion settings are needed

Thermal photos can be uploaded in the same folder as the colour photos from the same flight; Omniris sorts them.

Measuring on the map

Turn on a THERMAL layer and its date in the Site Navigator (the Omniris map view). It is coloured with ironbow — the standard thermal colour scale, from black for cool through purple, red and orange to white for hot — stretched over that flight's own temperature range (the 2nd to 98th percentile, so a few extreme pixels don't wash out the rest). The layer's row gains five tool buttons. Every number comes from Omniris reading the stored temperatures; your screen only displays it.

Temperatures show °F first, °C in brackets. Differences are converted as differences, so a rise of 7.0 °C reads +12.6 °F (+7.0 °C) — never with the 32-degree offset added by mistake.

Spot probe and ΔT

Turn on the thermometer and click anywhere on the map: a small panel shows the temperature at that point. Click again and it compares your last two readings, showing the difference (ΔT, "delta-T") and a severity grade — normal, low, medium, high or critical — with the suggested action when you hover over it. A drop-down says what you compared against: vs similar component or vs ambient (the surrounding air), because the same rise means something different in each case. Grades follow common electrical-inspection practice and come from one table, so the panel and Orion always agree. Clicking where there is no data says "No data at that point" instead of inventing a number. With more than one thermal map switched on, the second click reads the same map as the first wherever that map has data. If it has none there and the reading comes from another flight, the panel labels each reading with its map and says that this ΔT compares two flights.

Illustrative probe panel contents.

Region statistics

Click the outline tool, click points around an area and press Finish. You get the minimum, average, maximum, and 2nd and 98th percentile temperatures inside the outline, and how many pixels were measured. An outline wider than the full-resolution read covers is measured from a reduced-resolution read, and the panel says decimated read beside the pixel count; a smaller outline is read at full resolution. Omniris remembers the last area you outlined on the page, so you can ask Orion about "the area I just marked" — and it recalculates the numbers itself rather than trusting the screen.

Temperature highlights (isotherms)

The sliders button switches the layer from its colour scale to a highlight of the temperatures you choose: Above, Below or Between values you type in °F. "Show me everything over 140 °F" on a switchyard or a roof is one setting. Clear returns the normal colours.

Anomaly detection

The flame button searches the whole layer for anomalies — areas noticeably hotter (or colder) than the rest. It takes the flight's typical temperature (the median) as the background — or, set to vs surroundings, the typical temperature of the ground about 33 ft (10 m) around each spot — finds connected areas at least a set amount above it, and ranks them by how far their peak is from the background. Each anomaly gets its peak temperature, average rise above the background, area and location, and is marked on the map with its rank number. The panel lists the top 15.

  • Adjustable. The first run starts from the site type's preset: on most sites 10 °F above the whole-map background, a minimum size of 10 ft² (0.9 m²), warm; on a Solar (PV plant) site 18 °F (10 K) above the surrounding panels, down to the size of one solar cell (0.26 ft², 0.024 m²). The panel then shows those four settings — threshold, minimum size, warm or cold, and vs whole map or vs surroundings — with a Re-run button, so you can tighten or loosen the search on the same layer.
  • Graded on solar sites. On a Solar site each anomaly is also given a class of abnormality from IEC TS 62446-3, on its average rise: 18 to 72 °F (10 to 40 K) is CoA 2, a thermal abnormality; above 72 °F (40 K) is CoA 3, safety-relevant. Below 18 °F (10 K) the standard gives no figure, and Omniris shows CoA 1, no abnormality. The standard states its classes for a rise scaled to 1,000 W/m² of sunlight on the panels; that sunlight is not recorded with a flight, so the class is worked out on the measured rise, and the panel and the report say it is indicative.
  • Warm or cold. Cold mode finds areas noticeably colder than the background: a wet patch under a membrane, a failed heating element, a blocked flow.
  • Saved with its settings. Each result is saved with the threshold, minimum size and direction it was run with, so the report and Orion never read it against the wrong settings.
  • Keeps running. Detection runs on Omniris's side and finishes even if you close the panel. A very large layer can take several minutes; the saved result is what the report and Orion use.
  • Turn anomalies into findings. Where findings are switched on, you can promote any anomaly — or all of them at or above a chosen severity — to a tracked finding, or tick Create findings so the next detection creates them automatically.

Illustrative example values. The top three of 24 anomalies found with the default settings; the report prints the same table (top ten).

Crop water stress

A plant that is short of water closes its pores and warms up, so canopy temperature is a direct sign of water stress. The Crop Water Stress Index (CWSI) turns that temperature into a score from 0 (well-watered) to 1 (severely stressed), and the seedling button creates it as a new map layer from the flight.

CWSI depends on the crop, so you must pick one. There is no default, because guessing the crop would give a wrong answer:

  • Corn (maize), soybean, cotton, wheat (pre-heading) use published crop baselines together with the air temperature and humidity on the capture day, and give an absolute score.
  • Other crop (relative) is for crops with no published baseline (blueberry, for example). The scale is set by the coolest and warmest canopy in the same flight, so the score only compares plants within that flight. The label says so in the tool, in the result, on the saved layer and under it in the Site Navigator, in the report and in Orion's answers, and zone trends and comparisons keep it as a separate index from the absolute one, so the two are never mixed.

To score the plants and not the soil between them, Omniris uses a vegetation index from the same flight — NDVI (the standard plant-health index) when multispectral bands exist, cut at the site's own vegetation threshold (0.20 when the site has none), otherwise one made from the colour map — and the result says which it used. CWSI therefore needs a colour or multispectral map from the same flight; without one it is refused rather than run over plants and soil together.

A saved crop water stress layer joins the site's other crop measures: zonal analytics trends it zone by zone across flights, and two dates can be compared, with no multispectral bands needed. The absolute and relative versions are separate indices there. The absolute version's flights count in the zone trend line without multispectral calibration, since it is worked out from temperature and the crop's published limits; the relative version is rescaled per flight, so it is never in the trend line, whatever the flight's calibration, and is read only in the zone rankings, which compare zones within one flight. On a flight without multispectral bands the zone values cover the whole zone, since the layer is already limited to the canopy, and the view says it is showing all pixels.

Reports that match the screen

A stitch report is created once and saved, so the document a client downloads next month is the one that was reviewed. Its thermal section contains:

  • The temperature map with a labelled scale in °F (°C in brackets), hot at the top, using the same colours and the same 2nd–98th percentile stretch as the map view.
  • Thermal anomalies — the ten highest-ranked areas with peak temperature, average rise above background, area in ft² (m²) and location (and, for a detection graded on a Solar site, each one's class of abnormality), plus the total count and the background temperature. It prints the saved detection result, the same one the panel shows. If you run detection after the report was created, Refresh Report brings the document up to date. If detection had to read a very large layer at reduced resolution, the report says so.
  • Crop water stress — the saved CWSI map with its five-class legend. A map from a published crop baseline notes that its colours mean the same on every flight; a relative one is captioned relative, because its 0 and 1 are that flight's own coolest and warmest canopy.
  • Survey-type wording. A site's type tunes the thermal presets and the language. A Solar (PV plant) site cites the conditions of IEC TS 62446-3, the standard for thermal inspection of solar plants — at least 600 W/m² of sunlight striking the panels (plane-of-array irradiance) and wind below 17 mph (28 km/h) — and says plainly that sunlight on the panels is not recorded per flight, so anomaly grades are indicative rather than standard-compliant. A Roof / building envelope site cites ASTM C1153, the standard for finding wet roof insulation by infrared — 24 hours without rain, sun on the roof during the day, capture after sunset — and repeats its caveat: warm areas are moisture candidates; the report locates them, it does not certify moisture.
  • Weather during the flight — air temperature and wind for the flight window, from a weather archive, so the conditions above can be checked against it.
  • Camera notes — for a FLIR camera other than the Skydio X10, the "camera not validated" label, and how many photos were left out for lacking a temperature calibration.

Asking Orion

Orion, the Omniris assistant, reads the same verified maps. Ask "how hot is the hottest spot?", "any thermal anomalies?", "is this field water-stressed?" or "what is at that spot?" and it answers from measured values:

  • It shows you where. A question about the hottest spot comes back with the thermal map and a numbered marker at the spot, the temperature and the coordinates. The marker is the answer; you are never sent off to find it.
  • It quotes saved results. Anomaly detections and crop water stress layers are read back as saved, with the settings they were run with. If no crop water stress layer exists, Orion calculates the relative version on the spot, says nothing was saved, and names the crops that have published baselines.
  • It can look. Asked what is at an anomaly, Orion looks at the colour map around that spot — a close view and a wider view — describes what it sees, and shows the images in the conversation.
  • It never estimates a temperature. A folder with no verified thermal map gets exactly that answer.

Flying for thermal

A temperature map, like any map stitched from overhead photos, needs the camera pointing straight down (nadir). Before a stitch, Omniris reads the camera angle from every photo. If a flight was shot too far from straight down — 45°, say — it says so plainly, with the angle, and won't start a map that would fail; the dialog offers to build a 3D model of the same flight instead.

The temperature conversion needs the distance from the camera to the surface. For DJI cameras Omniris prefills it from the flight height the drone recorded — its height above the takeoff point, or its GPS height above the terrain when that isn't recorded; if left blank, each photo's own recorded height is used. FLIR photos use each photo's own height unless you enter a distance. If the drone took off from much higher or lower ground than the site, correct the distance in the measurement settings.

Inspection conditions are yours to meet

Omniris records what the drone and the weather service can tell it: flight height, camera angle, air temperature, humidity and wind. It does not measure sunlight on solar panels, and it cannot know whether a roof was dry for 24 hours. The report lists the conditions the standard calls for next to the weather during the flight, and says plainly what was not recorded, so the inspector can make the call.

Temperatures as evidence

A thermal finding often has consequences — a warranty claim on a panel, a roof repair invoice, an insurance dispute over water damage. Thermal maps are ordinary files in the Omniris vault, so everything in the Evidence you can prove paper applies to them:

  • The temperature map and the crop water stress layer each get a sealed, timestamped custody record and a file fingerprint (a SHA-256 hash) the moment they are created, linked to the stitch they came from. Anomaly results are saved with the flight; anomalies turned into findings carry custody records of their own.
  • The temperature settings — emissivity, distance, humidity, air and reflected temperature — are saved with the job, so the inputs behind every temperature can be shown.
  • A legal hold on the job preserves the photos, the maps, the report and the flight record together; a retention policy disposes of them with a signed certificate.
  • A custody certificate for the temperature map carries its file fingerprint, so the file a court or insurer receives can be shown to be the one the report was made from.

Cloud, data center and on-premises

Thermal processing runs wherever Omniris runs. Omniris cloud (Microsoft Azure or Google Cloud), the data center edition and on-premises installations produce the same temperature map from the same photos, with the same tools, reports and Orion. A self-hosted installation with Hybrid enabled can send a thermal job to the cloud when the local machines are busy or too small, and the result lands in the local vault like any other run.

What the product claims, and what it doesn't

A measurement is only as good as the honesty of its claims. Omniris states its limits where they apply:

  • Accuracy is the camera's. A radiometric drone camera is typically rated at ±3.6 °F (±2 °C) or ±2 %; Omniris does not improve on that and does not claim to. Differences within one flight are more reliable than absolute values, which is why the tools lead with ΔT.
  • The temperature settings are inputs, not measurements. Emissivity is a property of the surface material that the inspector chooses; distance, humidity and air temperature are prefilled from the flight and the day's weather and can be edited. They are saved with the job so any reading can be re-examined.
  • Relative crop water stress is relative. The relative method compares a plant with the rest of its own flight. It cannot say a field is stressed in absolute terms, and it is labelled that way everywhere it appears.
  • Severity grades are industry practice, not a standard's verdict. The ΔT grades follow common electrical-inspection practice; the solar classes of abnormality are worked out without the sunlight reading the standard scales them by, so they are indicative; the solar and roof wording cites the relevant standard's inspection conditions and says which were not recorded.
  • Anomaly detection finds temperature contrast, not causes. Orion can look at the colour imagery and describe what is there; the diagnosis is the inspector's.
  • Large areas are read at reduced resolution. Anomaly detection on a very large layer works from a reduced-resolution copy and says so. Region statistics on a large outline also work from a reduced-resolution read and say so beside the pixel count, as do Orion's answers about that outline; Orion's whole-map answers work from a reduced-resolution copy too. A single-pixel extreme may not appear in them.
Not an inspection certificate

Omniris provides measured temperatures and the means to check them. Whether an inspection meets a standard, and what a finding means for a warranty, a claim or a repair, depends on the conditions on the day and the inspector's judgement. The report gives both the numbers and the conditions so that judgement can be made.

Where it matters

Solar plants

Find hot panels, strings and diodes against the panels around them, ranked, located and given an indicative class of abnormality, with the report framed in IEC TS 62446-3's terms and honest that sunlight on the panels was not measured.

Roofs and building envelopes

After-sunset flights show possible wet areas as warm patches; cold mode finds the wet patch under a membrane. The report cites ASTM C1153's conditions and caveat.

Agriculture

Canopy temperature turned into crop water stress, with published baselines for major crops, a labelled relative method for the rest, and an assistant that answers "where is the drought stress?" with a map.

Electrical and substations

Probe a bushing against a similar component or the surrounding air, grade the difference, and highlight everything in the yard above a temperature with one setting.

Insurance and disputes

A temperature map with the settings used to make it, a saved anomaly table that matches the report, and a sealed custody record behind it.

Process and infrastructure

Pipelines, storage, cooling: anomalies in either direction, re-run at tighter thresholds, with region statistics inside any outline you draw.

Thermal skin on the 3D model

A temperature map needs a straight-down flight. A flight shot at an angle — a solar array at −45°, a building face, a pitched roof — can't become a map, but its temperatures can be laid onto the 3D model: the model's shape comes from the colour photos, and its surface is coloured from the thermal photos taken at the same moments. Hot strings, diodes and wet patches can then be examined in 3D, on the structure they belong to.

  • Where it is offered. In the stitch dialog, whenever a 3D model is being built (3D model, or Map with Include 3D), for a DJI thermal drone whose thermal photos have their matching colour photos in the same folder. It is not offered for FLIR cameras, multispectral stitches or jobs sent to the cloud with Hybrid. It is included with the 3D model at no extra charge and uses the same measurement settings.
  • What it produces. A second 3D layer beside the model that stores temperature rather than a picture, so the viewer colours it and knows what every value means. The 3D viewer gains an RGB / Thermal switch: Thermal shows the ironbow skin wherever the thermal camera saw a surface, and the colour model everywhere else. A legend gives the range in °F (°C) and the precision — the range split into 256 steps, plus the camera's own accuracy.
  • Alignment is checked, not assumed. Lining the thermal photos up with the colour photos depends on the drone model. The Matrice 4 Thermal has been calibrated; other DJI models start from their camera specifications and are checked on your own photos. If that check doesn't pass, the skin is not published — the job says so and why — rather than shipping a skin that is a panel row off. The legend shows the result of the check on every skin.
  • Limits. The skin shows temperature but is not a measuring surface: you can't yet click it for a reading, and it is not included when the 3D model is exported in a sharing package, or in the mobile app.

What is coming

  • A temperature probe on the 3D model — reading a temperature from the thermal skin at a clicked point, which the way the skin stores temperature already allows.
  • Thermal change between flights. The same comparison already used for elevation and crop-index change, applied to temperature: a map of the temperature difference between two dates of the same site. Today the Site Navigator's Compare tool shows two thermal dates against each other visually, and says plainly that it does not compute a temperature difference.

Standards and references

ReferenceUsed for
IEC TS 62446-3Inspection conditions for thermal inspection of solar plants, and the classes of abnormality used to grade anomalies (Solar site type)
ASTM C1153Inspection conditions and caveats for finding wet roof insulation (Roof site type)
Electrical-inspection ΔT practice (NETA-style)Severity grades for the probe's ΔT, vs similar component and vs ambient
Idso et al. (1981); Idso (1982)Published crop baselines for the Crop Water Stress Index
DeJonge et al. (2015)The upper limit used in the absolute index (canopy 9 °F (5 °C) above air temperature)
Park et al., Remote Sensing 9(8):828 (2017)The relative method used where no crop baseline is published
DJI Thermal SDKConverting DJI R-JPEG photos to temperature
Cloud-optimised GeoTIFFStorage format of the temperature map and every layer made from it

Glossary

CWSI
Crop Water Stress Index: a 0–1 score of water stress worked out from canopy temperature — absolute with a published crop baseline, or relative within one flight without one.
ΔT
"Delta-T", a temperature difference — between two probe readings, or between an anomaly and the background. Shown °F first and converted as a difference.
Emissivity
How strongly a surface gives off heat compared with a perfect emitter; a property of the material that the temperature conversion needs.
Ironbow
The standard thermal colour scale — black through purple, red and orange to white — used for every thermal layer, report figure and chat image.
Isotherm
A view of the thermal layer that highlights only the areas above, below or between chosen temperatures.
Nadir
Straight down. Maps stitched from overhead photos, including temperature maps, need nadir photos.
Radiometric
A thermal camera that records the measured heat at each pixel, from which temperature can be calculated, rather than only a coloured picture.
R-JPEG
A radiometric JPEG: a normal-looking photo with the camera's temperature data stored inside it.
Temperature map
A map-accurate image of surface temperatures stitched from a thermal flight (a thermal orthomosaic).
THERMAL
The label on a verified temperature map in the vault; the only thing the thermal tools, the report and Orion read.
Omniris · Thermal imaging white paper, October 2026. This paper describes product capabilities. Companion paper: Evidence you can prove.