User: Drone pilots
Purpose: Create a quick and easy way for the users to associate metadata with the images and enable a clean, self-managed folder structure.
According to the design document, this would serve as Application 1
This web page should live on the Sandhills workstation and potentially other workstations at different research centers.
The aim is to enable drone pilots to select a folder of images to “upload” and associate some metadata with it.
This web application doesn’t upload the images to HPC or any other processing node to create orthomosaics. It relies on Globus to complete the upload.
List of associated metadata (mission)
Name | Purpose | Source |
---|---|---|
Pilot Name | To identify which pilot flew the UAV | pilot |
Weather Conditions | To identify weather conditions when the experiment was run. This can be potentially auto-filled using weather data. | pilot |
mission name | name of mission | folder name |
mission start datetime | start datetime of first image | image EXIF |
mission end datetime | end datetime of last image | image EXIF |
upload datetime | start datetime of image upload | os |
color representation | [RGB/MULTISPEC] | image EXIF |
sensor make | DJI/MicaSense/AgEagle manufacture of sensor | image EXIF |
sensor model | Altum-PT/ZenmuseP1 model of sensor | image EXIF |
mission extent | bounding box of mission (geom) | calculated |
List of associated metadata (images)
Name | Purpose | Source |
---|---|---|
(lat, long, alt) | latitude, longitude, altitude of the collected image (geom) | image EXIF |
name | original image name | image EXIF |
uuid name | new uuid name | code |
format | tiff/jpg | image EXIF |
datetime | datetime image was collected | image EXIF |
band | band number if single band multispectrial | image name |
size | size of image in MB | image EXIF |
Logic flow
When the user clicks the upload button, the folder with the images and associated metadata is sent to a flask app for processing.
The Flask app changes the file name for all the images using UUID to ensure uniqueness in the filenames.
The files are then stored in a folder with a unique name (generated using UUID). This folder name serves as an identifier of the flight/experiment.
Once each file is saved, their relative file paths and associated metadata are stored in a Postgres DB.
After this, the app's purpose is complete, and the user is notified that their files have been “uploaded.”
The actual upload happens at midnight using Globus.
.
Add Comment