[Thermal imagery] Can ODM process 16-bit grayscale PNG images?


#1

Hello!
So I have datasets of radiometric JPG images from a Zenmuse XT-R (FLIR Vue) camera. These so-called R-JPG images are in essence 8-bit RGB-images - they are initially unuseable for mapping as the outputs don’t yield accurate thermal measurements.

However, these images have a 16-bit grayscale TIF-image embedded inside them. Their pixel values are numbers which can later be converted into 32-bit floating temperature values in °C.

I’ve hypothesised this workflow:

  1. Extract the TIF-image from the R-JPG
  2. Convert the TIF to PNG (as ODM doesn’t support TIFs directly)
  3. Apply the GPS co-ordinates to the PNGs somehow (directly, indirectly, as gcp? Haven’t done this yet, am currently on this stage).
  4. Process the PNGs in ODM… and hope that the outputs will retain their 16-bit values.
  5. Convert the 16-bit output to 32-bit temperature values afterwards (not with ODM).

What are your thoughts? How can I make this happen?


#2

Hey @hnodri, ODM currently does not handle thermal images well (but it’s on our road map and many people have been expressing interest in it).

I haven’t looked too much into the task, but two things that you should keep in mind are:

  • Absolute vs relative radiometric values (do you need to normalize the values across all images prior to starting the ODM pipeline?)
  • The mvs-texturing program always expects 3 bands (RGB).

We would welcome contributions that help improve support for thermal images.