A dockerised installation of the CloudCompare application, designed for headless running of scripts only. Derived from darth-veitcher/docker-cloudcompare and adapted for multistage build and removal of VNC features.
The list of available CloudCompare commands is detailed here: https://www.cloudcompare.org/doc/wiki/index.php?title=Command_line_mode
This container runs only as a headless script execution runtime and contains the following CloudCompare plugins (pretty much everything I could find a dflag
for that would compile on unix):
EDL
: Eye-dome Lighting OpenGL shaderSSAO
: Screen Space Ambient Occlusion OpenGL shader
Animation
: Animation rendering pluginBroom
: Clean a point cloud with a virtual broomCSF
: A pointclouds filtering algorithm utilize cloth simulation process(Wuming Zhang; Jianbo Qi; Peng Wan,2015)# TODO: Unable to compile on LinuxCanupo
: Train or apply a classifier on a point cloudCompass
: A virtual 'compass' for measuring outcrop orientationsFacets
: BRGM Fracture detection pluginHPR
: Uses the Hidden Point Removal algorithm for approximating point visibility in an N dimensional point cloud, as seen from a given viewpointHoughNormals
: Uses the Hough transform to estimate normals in unstructured point cloudsM3C2
: Multiscale Model to Model Cloud Comparison (M3C2)PCL
: Point Cloud Library wrapperPCV
: Ambient Occlusion for mesh or point cloudPoissonRecon
: Surface Mesh Reconstruction (for closed surfaces)RANSAC_SD
: Automatic RANSAC Shape Detection- SRA: Comparison between a point cloud and a surface of revolution
AdditionalIO
: This plugin adds some less frequently used I/O formats to CloudCompareCSVMatrixIO
: 2.5D CSV matrix I/O filterCoreIO
: Allows reading & writing of many file formatsE57IO
: Add E57 read/write capability using the libE57Format libraryFBXIO
: Add FBX read/write capability using AutoDesk's FBX SDKPDALIO
: Add LAS read/write capability using the PDAL libraryPhotoscanIO
: Photoscan (PSZ) I/O filter
CloudCompare is usually called multiple times as part of a more complex workflow, wrapped in a python or shell script.
docker run -v {local data}:/data -v {local scripts}:/work kevinstarkriotinto/cloudcompare:latest {script to run}
Examples
# Minimal
$ docker run kevinstarkriotinto/cloudcompare:latest /bin/sh -c 'xvfb-run CloudCompare -SILENT -CLEAR'
# QSocketNotifier: Can only be used with threads started with QThread
# QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
# [Global Shift] Max abs. coord = 1e+4 / max abs. diag = 1e+6
# [ccColorScalesManager] Found 0 custom scale(s) in persistent settings
# [Plugin] Searching: /opt/CloudCompare/lib/cloudcompare/plugins
# Plugin found: Additional I/O (libQADDITIONAL_IO_PLUGIN.so)
# Plugin found: Animation (libQANIMATION_PLUGIN.so)
# Plugin found: CEA Virtual Broom (libQBROOM_PLUGIN.so)
# Plugin found: Compass (libQCOMPASS_PLUGIN.so)
# Plugin found: Core I/O (libQCORE_IO_PLUGIN.so)
# Plugin found: CSF Filter (libQCSF_PLUGIN.so)
# Plugin found: CSV Matrix I/O (libQCSV_MATRIX_IO_PLUGIN.so)
# Plugin found: EDL Shader (libQEDL_GL_PLUGIN.so)
# Plugin found: Facet/fracture detection (libQFACETS_PLUGIN.so)
# Plugin found: Hough Normals Computation (libQHOUGH_NORMALS_PLUGIN.so)
# Plugin found: Hidden Point Removal (libQHPR_PLUGIN.so)
# Plugin found: M3C2 Distance (libQM3C2_PLUGIN.so)
# Plugin found: PCD file I/O (libQPCL_IO_PLUGIN.so)
# Plugin found: PCL wrapper (libQPCL_PLUGIN.so)
# Plugin found: PCV / ShadeVis (libQPCV_PLUGIN.so)
# Plugin found: PoissonRecon (libQPOISSON_RECON_PLUGIN.so)
# Plugin found: RANSAC Shape Detection (libQRANSAC_SD_PLUGIN.so)
# Plugin found: Surface of Revolution Analysis (libQSRA_PLUGIN.so)
# Plugin found: SSAO Shader (libQSSAO_GL_PLUGIN.so)
# [Plugin] Searching: /root/.local/share/CCCorp/CloudCompare/plugins
# [Plugin] Searching: /usr/local/share/CCCorp/CloudCompare/plugins
# [Plugin] Searching: /usr/share/CCCorp/CloudCompare/plugins
# [Plugin][Additional I/O] New file extensions registered: ICM OUT PN POLY POV PV SOI SX
# [Plugin][Core I/O] New file extensions registered: GEOREF MA OBJ OFF PDMS PTX SBF STL VTK
# [Plugin][CSV Matrix I/O] New file extensions registered: CSV
# [Plugin][PCD file I/O] New file extensions registered: PCD
# Processed finished in 0.00 s.