Please select Into the mobile phone version | Continue to access the computer ver.
DJI TSDK (Thermal SDK) officially launched
4546 23 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 and Zenmuse XT S are now suitable for TSDK.
  
3.      How to download TSDK?
  
You can directly visit the download page of Zenmuse H20 series camera or Zenmuse XT S camera on DJI official website and download TSDK for free:
      
4.      Is there a detailed introduction to TSDK?
  
Download and unzip TSDK archive file, you can look up the following files for details:
  
n  Readme.md: Introduce the development environment of TSDK and the usage of executable programs under utility directory
  
n  License.txt: Declare the license information of TSDK
  
n  doc/index.html: List the detailed interface information of TSDK API (tsdk-core/api/dirp_api.h)
  
n  sample/build.sh, sample/build.bat: are scripts for automatic compilation of test programs under Linux and Windows
  
n  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 : 2016040 ft
Netherlands
Offline

Thanks for the info!
2020-12-23
Use props
VanzPix
First Officer
Flight distance : 195187 ft
France
Offline

gatesgodman Posted at 12-21 11:36
**** The author has been banned or deleted automatically shield ****

arms and drug sales and what do the moderators do
2020-12-28
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.
1-7 18:46
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.
3-17 22:16
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.
3-22 02:38
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!
3-28 18:12
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.
4-15 12:46
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
4-19 18:35
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..
4-22 23:48
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?
5-17 04:28
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?
6-3 02:49
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.
6-6 22:44
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.
6-6 22:47
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#?
6-7 07:23
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.

6-8 02:04
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.
6-17 02:09
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.
6-17 02:19
Use props
Alvara74
First Officer

United Kingdom
Offline

Thanks for the info!
7-11 05:58
Use props
Alvara74
First Officer

United Kingdom
Offline

VanzPix Posted at 2020-12-28 05:54
arms and drug sales and what do the moderators do

Have you reported it?
7-11 05:59
Use props
lekanrio
lvl.1

Nigeria
Offline

Thanks for the info!
7-18 23:55
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!
7-21 05:43
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules