Please select Into the mobile phone version | Continue to access the computer ver.
DJI TSDK (Thermal SDK) officially launched
12Next >
10152 78 2020-11-29
Uploading and Loding Picture ...(0/1)
o(^-^)o
DJI-DEV8
Moderator

South Africa
Offline

1.      What is DJI TSDK?
  
DJI TSDK (Thermal SDK) is a free and open source SDK provided for DJI users. Users can develop their own software based on TSDK in Windows or Linux environment to develop such as R-JPEG infrared photo processing and temperature measurement.
  
2.      Which cameras are suitable for TSDK to process infrared photos?
  
Zenmuse H20T
Zenmuse XT S
Mavic 2 Enterprise Advanced
  
3.      How to download TSDK?
  
You can directly visit the download page on DJI official website and download TSDK for free:
  
https://www.dji.com/downloads/softwares/dji-thermal-sdk
  
4.      Is there a detailed introduction to TSDK?
  
Download and unzip TSDK archive file, you can look up the following files for details:
  
  • Readme.md: Introduce the development environment of TSDK and the usage of executable programs under utility directory
  • License.txt: Declare the license information of TSDK
  • doc/index.html: List the detailed interface information of TSDK API (tsdk-core/api/dirp_api.h)
  • sample/build.sh, sample/build.bat: are scripts for automatic compilation of test programs under Linux and Windows
  • dataset: several R-JPEG samples for testing
  
5.      How can I get help when I encounter problems in the development process?
  
If you encounter related problems in the development process, you can leave a message directly below, and we will answer them in time. You can also contact DJI after-sales or solution engineers for feedback.

2020-11-29
Use props
gatesgodman
lvl.1

Cameroon
Offline

WhatsApp: + 195.46.41–82.38 Buy Xanax bars , Lean syrup , Oxycodone , Adderall , Percocet , Methadone , Ecstasy , Lsd and acid , Actavis Promethazine Cough Syrup , Viagra , Vyvanse , Klonopin , Fentanyl , Rohypnol (Roofies) , Ketamine , Hydrocodone 10/325, MDMA (molly) crystal and pill form , Crack Cocaine , Heroin (white, brown and tar) E-mail: danny@doctor. com  Weed , Marijuana , Cannabis buy in Switzerland , Germany , Spain , Italy , Strawberry , Sour Diesel , Jack Herer , Durban Poison , Haze, Pineapple Express , Blue Dream , Purple Haze , AK-47 , Grapefruit , White widow , OG Kush , Purple Kush , Black weed , CBD Oil , Hemp oil , Moonrock for sale in Switzerland , Germany , Spain , Italy , E-mail: danny@doctor. com Nembutal  Pentobarbital  Sodium online  WhatsApp: + 195.46.41–82.38
2020-12-21
Use props
Montfrooij
Captain
Flight distance : 2235919 ft
Netherlands
Online

Thanks for the info!
2020-12-23
Use props
Amandap
lvl.1

United States
Offline

Thank you for posting this.

I tried using the SDK  to extract temperatures. I used the following command from the Readme.md:

Input R-JPEG and output global temperature value image which pixel type is INT32 or FLOAT32.

```

./dji_irp.exe -s ../../../../dataset/H20T/DJI_0001_R.JPG -a measure -o measure.raw

./dji_irp.exe -s ../../../../dataset/H20T/DJI_0001_R.JPG -a measure -o measure_float.raw --measurefmt float32

However, the output from either command does not look like temperature per pixel. The mean output is 6.656730582892192e-300, and 263783678.7321654 respectively for the first and second command. I would expect the temperature output to be within 10 – 40 degree in Celsius. The shape of the output is not corresponding to the shape of the test image, which is 640 by 512.

Is there any way to output pixel to pixel temperature values using this SDK? Any information would be appreciated.
2020-12-28
Use props
DJI-DEV8
Moderator

China
Offline

Amandap Posted at 2020-12-28 07:06
Thank you for posting this.

I tried using the SDK  to extract temperatures. I used the following command from the Readme.md:

Qustion A:
I've tested with your two commands. But their outputs are OK. You can open them with ImageJ software.
The measure.raw can be opened as [Image ypte:16-bit Signed], [Width: 640], [Height: 512], [Little-endian byte order: checked]. And every pixel value shoul be dividered by 10.0f, then you will get the pixel degree in Celsius.
The measure_float.raw can be opened as [Image ypte:32-bit Real], [Width: 640], [Height: 512], [Little-endian byte order: checked]. And every pixel value is the degree in Celsius.

Qustion B:
TSDK can only caculate temperature value with full image size. If you want to get the temperature value of a single pixel, you must get the pixel value of the specified coordinate from whole temperature images.
2021-1-7
Use props
dzdz
lvl.1

Malaysia
Offline

Hello and Good day!

I tried using the TSDK but unfortunately none of the results were as expected.

This was an example of using the following command on the readme.txt

./dji_irp -s ../../../../dataset/H20T/DJI_0001_R.JPG -a measure -o measure.raw



I was expecting the output to indicate the temperature of the image as can be seen on the DJI Thermal Analysis Tool. On the image below, it can be seen that the proper environment was set up on Ubuntu 16.04 according to the readme.txt.



If it is possible, may I know why does this occur? How do I troubleshoot this problem so that I may correctly install or use the SDK and what can I do to ensure that the SDK is working as intended?

Also, I have a few other questions :

1. On ./dji_irp what does --action extract/measure/process individually do?
2. On ./dji_irp again, when including the optional --palette --isotherm or --colorbar command on --action process , nothing seemed to change but the command runs without error.

Hopefully these issues can be assisted with. I am looking forward to receiving replies.

Kind regards.
2021-3-17
Use props
DJI-DEV8
Moderator

China
Offline

dzdz Posted at 3-17 22:16
Hello and Good day!

I tried using the TSDK but unfortunately none of the results were as expected.

Question A:
I want to know how did you open the measure.raw. What are the opened parameters for this RAW. Or can you send the RAW file to me?

Question B:
- extract, is used to get original infrared RAW data (16 bit unsigned RAW image).
- measure, is used to get temperature image (16 bit signed image or float image).
- process, is used to get color image with specified palette type (24 bit RGB image).
For dji_irp.exe, it is just a sample code. So we can only deal with one action one time.

Question C:
If you want to change palette type of RGB image, Please use --pallette.
If you want to display the image in a certain temperature range in color, and the image outside the range in grayscale. Please use --isotherm
If you want to change the contrast effect of image processing. Please use --colorbar
NOTICE: For white hot and black hot palette types, please not use --isotherm and --colorbar commands. Because they are grayscale images which not contain color components.
2021-3-22
Use props
dzdz
lvl.1

Malaysia
Offline

DJI-DEV8 Posted at 3-22 02:38
Question A:
I want to know how did you open the measure.raw. What are the opened parameters for this RAW. Or can you send the RAW file to me?

Thank you, I'll send you a personal message!
2021-3-28
Use props
JonoMcG
lvl.2
South Africa
Offline

Good day,

Is the DJI Thermal SDK compatible with R-JPEG images captured from the Mavic 2 Enterprise Advanced?

The images from the M2EA seem to store the information in the same format as the H20T / XTS images - raw values in the APP3 segment, raw header in the APP4 segment and the curve lut in the APP5 segment; However when trying to run it through the TSDK it throws an error: "image_measurement_wrapper failed! -4".

I also noticed that the M2EA R-JPEG images are not compatible with DJI Thermal Analysis Tools either. No temperature information is displayed within the program when opening a M2EA image.

Is anyone able to share some insight on these issues? Is there support coming for the M2EA thermal images? Thank you.
2021-4-15
Use props
DJI-DEV8
Moderator

China
Offline

JonoMcG Posted at 4-15 12:46
Good day,

Is the DJI Thermal SDK compatible with R-JPEG images captured from the Mavic 2 Enterprise Advanced?

Sorry, TSDK is not yet compatible with M2EA's R-JPEG images.
But you can use DJI’s newly released DTAT2 to analyze these R-JPEG images.
Download URL of DTAT2:
https://www.dji.com/downloads/softwares/dji-dtat2
2021-4-19
Use props
JonoMcG
lvl.2
South Africa
Offline

DJI-DEV8 Posted at 4-19 18:35
Sorry, TSDK is not yet compatible with M2EA's R-JPEG images.
But you can use DJI’s newly released DTAT2 to analyze these R-JPEG images.
Download URL of DTAT2:

Thanks for the response. Is there a plan to make the Thermal SDK compatible with the M2EA in the future and? If so, do you know when this will be done by?

We're needing to batch process multiple images and get the temperatures for every pixel out from the R-JPEG images. There's no option to do this with the DTAT2..
2021-4-22
Use props
djiuser_SWLhxzw7HIxv
lvl.2
United Kingdom
Offline

JonoMcG Posted at 4-22 23:48
Thanks for the response. Is there a plan to make the Thermal SDK compatible with the M2EA in the future and? If so, do you know when this will be done by?

We're needing to batch process multiple images and get the temperatures for every pixel out from the R-JPEG images. There's no option to do this with the DTAT2..

Second the need for batch processing RJPEGs from M2EA to a more open format (with absolute temperatures) for our planned application.  We can't really justify purchase of the drone before knowing that this will happen.

Is this planned or not? If yes, approximately by when would it be likely to appear?
2021-5-17
Use props
Magda
lvl.2
Flight distance : 2244259 ft
United Kingdom
Offline

@DJI-DEV8 is it possible to convert all R-JPEG from specific directory and output images with original names?
2021-6-3
Use props
DJI-DEV8
Moderator

China
Offline

djiuser_SWLhxzw7HIxv Posted at 5-17 04:28
Second the need for batch processing RJPEGs from M2EA to a more open format (with absolute temperatures) for our planned application.  We can't really justify purchase of the drone before knowing that this will happen.

Is this planned or not? If yes, approximately by when would it be likely to appear?

DTAT compatible with the M2EA features will be released in the second half of the year, but the specific time has not yet been determined.
2021-6-6
Use props
DJI-DEV8
Moderator

China
Offline

Magda Posted at 6-3 02:49
@DJI-DEV8 is it possible to convert all R-JPEG from specific directory and output images with original names?

You can refer to dji_ irp_ omp.cpp sample code, and make some changes to it to achieve the functions you need.
2021-6-6
Use props
NattoGabo
lvl.1

Peru
Offline

Hi thanks for the info, i have a question
How can we display and interact with a thermal image (measure.raw file) on a desktop app c#?
2021-6-7
Use props
Magda
lvl.2
Flight distance : 2244259 ft
United Kingdom
Offline

DJI-DEV8 Posted at 6-6 22:47
You can refer to dji_ irp_ omp.cpp sample code, and make some changes to it to achieve the functions you need.

@DJI-DEV8 So simple answer would be 'no, it's not possible without writing code by yourself'.

What about  image geotag information? Image location seems to be lost after converting image in DJI Thermal SDK.

2021-6-8
Use props
DJI-DEV8
Moderator

China
Offline

NattoGabo Posted at 6-7 07:23
Hi thanks for the info, i have a question
How can we display and interact with a thermal image (measure.raw file) on a desktop app c#?

You can maintain the measure.raw's temperature data array in the background of the application. Temperature corresponding to mouse pointer coordinates can be get from the temperature data array.
2021-6-17
Use props
DJI-DEV8
Moderator

China
Offline

Magda Posted at 6-8 02:04
@DJI-DEV8 So simple answer would be 'no, it's not possible without writing code by yourself'.

What about  image geotag information? Image location seems to be lost after converting image in DJI Thermal SDK.

Q1:
It's not possible without writing code by yourself.

Q2:
TSDK only deals with temperature, pseudo color and some thermal related functions. And TSDK never write back data to R-JPEG images.
You can use libexif or some other libraries to get geotag information from JPEG raw data. You can use the same original data pointer vs dirp_create_from_rjpeg's first argument.
2021-6-17
Use props
Alvara74
First Officer
United Kingdom
Offline

Thanks for the info!
2021-7-11
Use props
lekanrio
lvl.1

Nigeria
Offline

Thanks for the info!
2021-7-18
Use props
DroneInspect
lvl.1

Germany
Offline

Hi,

I executed the sample file as described in the readme:
./dji_irp.exe -s ../../../../dataset/H20T/DJI_0001_R.JPG -a extract -o extract.raw

A new file "extract.raw" did successfully get generated. But I don't know how to open it now in Windows 10 ?
Can anyone help me out and let me know how you open these raw files?

Thank you!
2021-7-21
Use props
DJI-DEV8
Moderator

China
Offline

DroneInspect Posted at 7-21 05:43
Hi,

I executed the sample file as described in the readme:

You can open it with any RAW image analysis tool, such as ImageJ.
Open extract.raw wih config:
Image Type: 16bit-Unsigned
Width: 640
Height: 512
[Check] Little-endian byte order.
2021-8-4
Use props
yingbin
lvl.1

China
Offline

Hi, I am wondering is it possible to release the numeric model ( Zenmuse H20) of how to calculate the real temperature using RJPG file? I want to calculate the temperature of a joint image in a large geographical scale.  However, when I convert the RJPG files into the real temperature files, I cannot join them in to a united file anymore since the lost of geographical coordinate system information. Do you have any solution to solve this problem?

Thank you.

Yingbin
2021-8-23
Use props
DJI-DEV8
Moderator

South Africa
Offline

yingbin Posted at 8-23 02:07
Hi, I am wondering is it possible to release the numeric model ( Zenmuse H20) of how to calculate the real temperature using RJPG file? I want to calculate the temperature of a joint image in a large geographical scale.  However, when I convert the RJPG files into the real temperature files, I cannot join them in to a united file anymore since the lost of geographical coordinate system information. Do you have any solution to solve this problem?

Thank you.

First, the output data of TSDK is a clean raw data which does not contains any EXIF/TAG information.
I think you can get real temperature image data with TSDK, and get geographical data with libexif. Then you can combine them to generate a new TIFF image file which contains all information you need.
With these new TIFF images, you can calculate the temperature of a joint image in a large geographical scale.
2021-9-5
Use props
yingbin
lvl.1

China
Offline

DJI-DEV8 Posted at 9-5 23:12
First, the output data of TSDK is a clean raw data which does not contains any EXIF/TAG information.
I think you can get real temperature image data with TSDK, and get geographical data with libexif. Then you can combine them to generate a new TIFF image file which contains all information you need.
With these new TIFF images, you can calculate the temperature of a joint image in a large geographical scale.

Thank you for you response. I tried this way before, the question, I did not have any software to combine the tiff image (the real temperature image) to create a joint image. When I combined it, it output as a RGB which did not reflect the real temperature any more. I am wondering do you have any detail step to process these images? Thank you again.

Yingbin
2021-9-8
Use props
jps42
lvl.2

United States
Offline

DJI-DEV8 Posted at 6-6 22:44
DTAT compatible with the M2EA features will be released in the second half of the year, but the specific time has not yet been determined.

Any update to when this is going to released?  Would really like to be able to create orthos with temperature with the M2EA.
2021-9-10
Use props
RHenriques
lvl.3
Flight distance : 1014872 ft
Portugal
Offline

Is there any new info about the M2EA full support for R-JPEg images that can be used to build a thermal orthomosaic?
2021-9-12
Use props
agarwalkunal12
lvl.1

India
Offline

Hi, Is there any way to get the values like Emissivity, Humidity, Reflection, etc. directly from the metadata from the TSDK?
2021-9-13
Use props
DJI-DEV8
Moderator

China
Offline

yingbin Posted at 9-8 06:06
Thank you for you response. I tried this way before, the question, I did not have any software to combine the tiff image (the real temperature image) to create a joint image. When I combined it, it output as a RGB which did not reflect the real temperature any more. I am wondering do you have any detail step to process these images? Thank you again.

Yingbin

Sorry, I have never tried it before. I think you should use float-valued tiff images to do it.
2021-9-13
Use props
DJI-DEV8
Moderator

China
Offline

jps42 Posted at 9-10 14:53
Any update to when this is going to released?  Would really like to be able to create orthos with temperature with the M2EA.

It will be released around the end of September.
2021-9-13
Use props
DJI-DEV8
Moderator

China
Offline

agarwalkunal12 Posted at 9-13 05:11
Hi, Is there any way to get the values like Emissivity, Humidity, Reflection, etc. directly from the metadata from the TSDK?

1. call dirp_create_from_rjpeg to creat a handle.
2. call dirp_get_measurement_params with the handle and get default distance, humidity, emissivity and reflection from the R-JPEG metadata.
3. call dirp_destroy to free the handle.
2021-9-13
Use props
DJI-DEV8
Moderator

China
Offline

RHenriques Posted at 9-12 16:15
Is there any new info about the M2EA full support for R-JPEg images that can be used to build a thermal orthomosaic?

Sorry, TSDK does not support to build a thermal orthomosaic.
You can use the float-valued output of dirp_process_strech, GSP information in R-JPEG and some 3rd party algorithm to build a thermal orthomosaic. And then you can reference the sample code of dji_ircm to get pseudo color image for this big orthomosaic image.
2021-9-13
Use props
jps42
lvl.2

United States
Offline

DJI-DEV8 Posted at 9-13 22:43
It will be released around the end of September.

Thanks!

Is it only going to be an update to DTAT or also the Thermal SDK?
2021-9-16
Use props
agarwalkunal12
lvl.1

India
Offline

I tried running few sample images with the sample binaries given (dji_irp executables in extracted folder/utility/bin/linux/release_x64/) in Linux but the last 20 pixels end up being completely different from what are expected. For ex: The area around the bottom is expected yellow when creating an array from the output raw file generated or using ImageJ tool to process it, but came out blue. This is the bottom right last row. Is this expected behavior?
2021-9-21
Use props
RHenriques
lvl.3
Flight distance : 1014872 ft
Portugal
Offline

DJI-DEV8 Posted at 9-13 23:03
Sorry, TSDK does not support to build a thermal orthomosaic.
You can use the float-valued output of dirp_process_strech, GSP information in R-JPEG and some 3rd party algorithm to build a thermal orthomosaic. And then you can reference the sample code of dji_ircm to get pseudo color image for this big orthomosaic image.

Sorry, I did not explain myself very well :-). I know that we cannot generate an orthomosaic directly. The problem is that, without proper support for file conversion, for instance to georreferenced RAW data or (better) to a geotiff format, the images are pretty useless for now. I use Agisoft Metashape to generate orthomosaics and I was able to generate one from thermal images. However the thermal info is lost. The orthomosaic is colored with the chosen thermal palette but as RGB values.  hope that the "end of September" SDK release will support proper M2EA RJPEG images proper format conversion. The machine (M2EA) is very good, the camera works pretty well but the lack of proper software makes it substantially and profoundly underused.
2021-9-22
Use props
s42
lvl.1

United States
Offline

I am interested in the exact same application as RHenriques. I need a tool that will allow for batch processing of the thermal photos collected using the M2EA to true temperature values. Otherwise, what is the point of being able to do a mapping mission with the smart controller that includes overlap needed specifically for the thermal camera properties? We can collect 300-1000 thermal images in a single mapping mission. It is not feasible with the current DJI Thermal Analysis Tool to hand process and export that many images.

Has this new update to DTAT or TSDK been completed? It is now October, after all.
2021-10-6
Use props
hobe6699
lvl.1

China
Offline

please answer me.
2021-10-16
Use props
DJI-DEV8
Moderator

China
Offline

agarwalkunal12 Posted at 9-21 05:51
I tried running few sample images with the sample binaries given (dji_irp executables in extracted folder/utility/bin/linux/release_x64/) in Linux but the last 20 pixels end up being completely different from what are expected. For ex: The area around the bottom is expected yellow when creating an array from the output raw file generated or using ImageJ tool to process it, but came out blue. This is the bottom right last row. Is this expected behavior?

This issue will be fixed in next version.
2021-11-8
Use props
DJI-DEV8
Moderator

China
Offline

s42 Posted at 10-6 11:01
I am interested in the exact same application as RHenriques. I need a tool that will allow for batch processing of the thermal photos collected using the M2EA to true temperature values. Otherwise, what is the point of being able to do a mapping mission with the smart controller that includes overlap needed specifically for the thermal camera properties? We can collect 300-1000 thermal images in a single mapping mission. It is not feasible with the current DJI Thermal Analysis Tool to hand process and export that many images.

Has this new update to DTAT or TSDK been completed? It is now October, after all.

1. We currently have no plans to support this feature

2. Development was delayed for some reasons. However, it has been developed done and will be online soon.
2021-11-8
Use props
12Next >
Advanced
You need to log in before you can reply Login | Register now

Credit Rules