Execution Pipeline
This page describes the high-level runtime flow from user input to final outputs.
At a glance
flowchart LR
A[Input collection] --> B[Argument normalization]
B --> C[Preprocessing and validation]
C --> D[Core algorithm execution]
D --> E[Post-processing and output writing]
Pipeline stages
1) Input collection
Purpose
Capture tool parameters from the selected runtime interface.
Main actions
- GUI mode: parameters are collected from form widgets.
- CLI mode: parameters are parsed from command-line arguments.
Inputs
- User-provided tool parameters
- Runtime context (GUI/CLI)
Outputs
- Raw, mode-specific parameter payload
2) Argument normalization
Purpose
Build a consistent runtime argument set independent of call mode.
Main actions
- Tool metadata defines required/optional parameters.
- Framework options (
processes,call_mode,log_level) are applied consistently.
Inputs
- Raw parameter payload
- Tool metadata/schema
Outputs
- Normalized tool kwargs ready for execution
3) Preprocessing and validation
Purpose
Verify that inputs are usable and compatible before expensive computation starts.
Main actions
- Check that the input folder exists and holds LAS/LAZ files, and create the output folder.
- Check that the R packages the tool needs are installed, and install any that are missing.
Inputs
- Normalized kwargs
- Source data files
Outputs
- Validated inputs and a ready R session
- Early validation errors (if any)
4) Core algorithm execution
Purpose
Run the selected tool’s core processing logic.
Main actions
- The tool wrapper sources
r_scripts_collection.rand calls the tool's R function. - The R function processes the
LAScatalogtile by tile with parallel R workers.
Inputs
- Validated inputs
- Execution options (including
processes)
Outputs
- One output per input tile (raster or point cloud)
5) Post-processing and output writing
Purpose
Finalize results and persist outputs for downstream use.
Main actions
- Merge per-tile rasters into a
Merged_*.tifmosaic when there is more than one tile. - Write tables and plots for the raster analysis tools.
- Emit logs/progress information.
Inputs
- Core algorithm outputs
Outputs
- Saved output datasets
- Runtime logs and progress signals
Typical workflow chain
flowchart LR
A[LiDAR data info] --> B[Ground Classify Using CSF]
B --> C[Generate DTM]
B --> D[Normalize LiDAR Data]
D --> E[Generate CHM or DSM]
B --> F[Detect Hummock and Hollow]
E --> G[Surface Water Mapping]
C --> H[Depth-to-Water]
G --> H
C --> I[Seismic Line Disturbance Analysis]
F --> I
H --> I
Failure points to monitor
| Failure signal | Likely cause | Pipeline stage | Mitigation |
|---|---|---|---|
| Error finding R, or rpy2 fails to import | R not installed in the environment, or R_HOME points elsewhere |
Preprocessing and validation | See How R is located; run from an activated environment |
R packages could not be installed |
No internet access, or missing system libraries on Linux | Preprocessing and validation | Run tests/test_r_environment.py; install the GDAL/GEOS/PROJ/udunits development libraries |
| Hummock/hollow stops without output, or a CHM comes out as a DSM | Input not ground-classified, or not height-normalized | Core algorithm execution | Run Ground Classify Using CSF, then Normalize LiDAR Data; check with LiDAR data info |
| Out of memory or very slow processing | Too many R workers for a small cell size | Core algorithm execution | Lower processes; the TIN and kriging DTM tools already halve the workers below a 1 m cell size |
Missing CRS reported as Unknown |
LAS files without a CRS | Preprocessing and validation | Assign the CRS to the LAS files before processing |
See also: Tool Runtime Model