OpenDroneMap / ODM

A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷
https://opendronemap.org
GNU Affero General Public License v3.0
4.91k stars 1.11k forks source link

Handle Altum-PT Thermal band #1686

Closed gnosys-scrawford closed 1 year ago

gnosys-scrawford commented 1 year ago

How did you install ODM? (Docker, installer, natively, ...)?

Latest Docker image pulled from dockerhub.

What is the problem?

Processing Altum-PT data with thermal band, when using --radiometric-calibration camera+sun, software crashes.

What should be the expected behavior? If this is a feature request, please describe in detail the changes you think should be made to the code, citing files and lines where changes should be made, if possible.

Expect it to either leave this channel alone, or, convert the values from milliKelvin to Celsius.

In opendm/thermal.py in the dn_to_temperature function, change an "if" statement (line 38) so that it will handle both Altum models correctly:

if photo.camera_make == “MicaSense” and photo.camera_model == “Altum”: to if photo.camera_make == “MicaSense” and “Altum” in photo.camera_model:

This will solve this specific problem, adding support for Altum-PT. To make the code more robust, the "else" case (line 57) for all unrecognized camera makes and models still is not functioning well and may need attention. (see attached log).

How can we reproduce this? What steps did you do to trigger the problem? If this is an issue with processing a dataset, YOU MUST include a copy of your dataset AND task output log, uploaded on Google Drive or Dropbox (otherwise we cannot reproduce this).

Attached one Altum-PT thermal band image if you are able to test this function directly. Otherwise full dataset available at https://shepard-altumpt-test.s3.us-west-2.amazonaws.com/ Ensure that channel 6 files have been removed before running, as they cause ODM to fail in a different manner. Run equivalent of docker run -ti --rm -v C:/Users/scrawford/Documents/data:/datasets opendronemap/odm --project-path /datasets subset --dsm --dtm --pc-las --pc-quality high --radiometric-calibration camera+sun

IMG_0010_7.zip odm_crash_log.txt

pierotofy commented 1 year ago

Hey @gnosys-scrawford :wave: I know it's been a while since you opened this issue, I've tried to download the images from https://shepard-altumpt-test.s3.us-west-2.amazonaws.com/ but I get a "bucket not found".

Is it possible to upload a small (30-50) images dataset to reproduce this?

gnosys-scrawford commented 1 year ago

I just deleted this two days ago. I'll see if I can bring it back.

gnosys-scrawford commented 1 year ago

I put the data back in the same place for now.

pierotofy commented 1 year ago

I can't seem to be able to access the files:

aws s3 cp s3://shepard-altumpt-test/ altumpt --recursive --region us-west-2
fatal error: An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
pierotofy commented 1 year ago

Meh, silly AWS. Here's a complete image list.

img_list.txt

To download:

xargs -n 1 curl -O < img_list.txt