A complete python pipeline that facilitates the use of WebODM and PDAL to recognize, cluster, and log various data of concrete defects.
Author: Matthew Lai
This pipeline runs on a docker environment. You can start it using either Docker Compose or Docker:
Using Docker Compose (recommended):
docker compose up -d
Using Docker directly:
docker run -d --name laimatt -v .:/app -v /opt/lampp/var/mysql/mysql.sock:/app/mysql.sock -p 57902:57902 laimatt
The console command to be used to load a folder of images, expressed as a path, to be processed by WebODM is as follows:
curl -X POST -F "file=@/home/admin0/Downloads/{zip_file_name}" https://laimatt.boshang.online/task
where {zip_file_name}
is the absolute, local path to a zip file containing images.
All information relating to the task and its components will be stored in the whole_data
and patch_crack
databases.
These files are already accessible from a URL generated by WebODM, but require authentication. These URLs provide the exact same files but are publicly accessible.
These URLs are also generated precisely and ready-to-use in the databases.
The URLs are as follows:
-
The LAZ pointcloud file:
https://laimatt.boshang.online/downloadwebodm/{PROJECT_ID}/{TASK_ID}/georeferenced_model.laz
-
The GLB texture map file:
https://laimatt.boshang.online/downloadwebodm/{PROJECT_ID}/{TASK_ID}/textured_model.glb
-
The ZIP file containing all available assets provided by WebODM:
https://laimatt.boshang.online/downloadwebodm/{PROJECT_ID}/{TASK_ID}/all.zip
where {PROJECT_ID}
and {TASK_ID}
are their respective values as given by WebODM. A reference for these available files can be found here
If successful, the file will directly download.
These files are the resulting cluster pointclouds generated by PDAL. These URLs are also generated precisely and ready-to-use in the databases.
The URL format is as follows:
https://laimatt.boshang.online/download/{PROJECT_ID}/{TASK_ID}/component_{COMPONENT_ID}.las
where {PROJECT_ID}
and {TASK_ID}
are their respective values as given by WebODM, and {COMPONENT_ID}
is a 6 character numerical index ranging from 000000 to 999999.
If successful, the file will directly download.