Workflow Guide
This guide demonstrates common processing workflows with visual representations to help you understand the data flow and decision points.
- Basic Workflow - Standard processing pipeline
- GPU-Accelerated Workflow - High-performance GPU processing
- Smart Skip Workflow - Resume interrupted jobs
- Parallel Processing - Multi-worker processing
- Best Practices - Optimized workflows for different scenarios
π Basic Workflowβ
The most common workflow for processing LiDAR data into ML-ready datasets.
For the complete basic workflow diagram, see Workflow Diagrams - Basic Processing Pipeline.
The workflow includes the following key stages:
-
Data Availability Check: Verify if LiDAR tiles are already downloaded
-
Download: Acquire tiles from IGN servers if needed
-
Validation: Ensure downloaded files are valid
-
Enrichment: Add geometric features and building component classification
-
RGB Augmentation: Optionally add color information from orthophotos
-
Processing: Create training patches for machine learning RGB -->|No| SkipRGB[LiDAR Only]
FetchRGB --> Features[Enriched LAZ Ready] SkipRGB --> Features
Features --> Process[Create Training Patches] Process --> Output[ML Dataset Ready] Output --> End([Process Complete])
Error1 --> End
style Start fill:#e8f5e8 style End fill:#e8f5e8 style Download fill:#e3f2fd style Analyze fill:#c8e6c9 style CleanData fill:#fff9c4 style Enrich fill:#fff3e0 style Process fill:#f3e5f5 style Output fill:#e8f5e8
## β‘ GPU-Accelerated Workflow
Workflow for processing large datasets with GPU acceleration (v1.3.0+).
```mermaid
flowchart TD
Start([Start GPU Processing]) --> CheckGPU{GPU Available?}
CheckGPU -->|Yes| GPUSetup[Initialize GPU<br/>CuPy + CUDA]
CheckGPU -->|No| Fallback[β οΈ Fallback to CPU]
GPUSetup --> LoadData[Load Point Cloud]
Fallback --> LoadData
LoadData --> TransferGPU[Transfer to GPU Memory]
TransferGPU --> FeatureGPU[π GPU Feature Computation<br/>5-10x faster]
FeatureGPU --> RGBCheck{Include RGB?}
RGBCheck -->|Yes v1.5.0+| RGBFetch[Fetch Orthophoto]
RGBCheck -->|No| FeaturesDone[Features Complete]
RGBFetch --> RGBCache{In GPU Cache?}
RGBCache -->|Yes| RGBInterpolate[β‘ GPU Color Interpolation<br/>24x faster]
RGBCache -->|No| RGBLoad[Load to GPU Cache]
RGBLoad --> RGBInterpolate
RGBInterpolate --> Combine[Combine Features + RGB]
FeaturesDone --> Combine
Combine --> TransferCPU[Transfer to CPU]
TransferCPU --> SaveOutput[Save Enriched LAZ]
SaveOutput --> MoreData{More Data?}
MoreData -->|Yes| LoadData
MoreData -->|No| End([Processing Complete])
style Start fill:#e8f5e8
style End fill:#e8f5e8
style GPUSetup fill:#e3f2fd
style FeatureGPU fill:#c8e6c9
style RGBInterpolate fill:#c8e6c9
style Fallback fill:#fff3e0
GPU Performance Benefitsβ
Operation | CPU Time | GPU Time | Speedup |
---|---|---|---|
Feature Extraction | 45s | 6s | 8x |
RGB Interpolation | 12s | 0.5s | 24x |
Normal Computation | 30s | 5s | 6x |
Total (1M pts) | ~87s | ~11.5s | 7.5x |
- Cache RGB tiles - Reuse orthophotos across patches
- Batch processing - Process multiple tiles in sequence
- Monitor GPU memory - Use
nvidia-smi
to check utilization - Use workers=1 with GPU - GPU parallelizes internally
See GPU Overview for detailed setup instructions.
π Smart Skip Workflowβ
Understanding how the smart skip system optimizes repeated runs.
ποΈ Parallel Processing Workflowβ
How the library handles multi-worker processing for optimal performance.
π― LOD Classification Workflowβ
Understanding how building components are classified into LOD levels.
π― Enhanced Enrich Pipelineβ
Detailed view of the complete enrich workflow with auto-params and preprocessing.
Auto-params and advanced preprocessing features have been available since v1.7.1 and continue to work in v2.0+.
π Feature Extraction Pipelineβ
Detailed view of the geometric feature computation process.
π§ Configuration Decision Treeβ
How to choose optimal settings for your use case.
π‘ Best Practice Workflowsβ
Urban Area Processingβ
# Optimized for dense urban environments
ign-lidar-hd download --bbox 2.0,48.8,2.1,48.9 --output urban_tiles/
ign-lidar-hd enrich --input-dir urban_tiles/ --output urban_enriched/ --use-gpu --k-neighbors 30
ign-lidar-hd process --input-dir urban_enriched/ --output urban_patches/ --lod-level LOD3
Rural/Natural Area Processingβ
# Optimized for sparse rural environments
ign-lidar-hd download --bbox -1.0,46.0,0.0,47.0 --output rural_tiles/
ign-lidar-hd enrich --input-dir rural_tiles/ --output rural_enriched/ --k-neighbors 15
ign-lidar-hd process --input-dir rural_enriched/ --output rural_patches/ --lod-level LOD2
High-Performance Batch Processingβ
# Maximum throughput for large datasets
ign-lidar-hd enrich --input-dir tiles/ --output enriched/ --use-gpu --num-workers 8 --batch-size large
ign-lidar-hd process --input-dir enriched/ --output patches/ --num-workers 16 --skip-existing
GPU-Accelerated with RGB (v1.5.0+)β
# Fastest processing with GPU RGB augmentation
ign-lidar-hd enrich \
--input-dir tiles/ \
--output enriched/ \
--use-gpu \
--add-rgb \
--rgb-cache-dir /data/rgb_cache/ \
--num-workers 4
# Create patches with cached RGB
ign-lidar-hd process \
--input-dir enriched/ \
--output patches/ \
--lod-level LOD3 \
--num-workers 8
π Related Documentationβ
- GPU Acceleration Guide - Detailed GPU setup and optimization
- RGB GPU Guide - GPU-accelerated RGB augmentation (v1.5.0+)
- Architecture - System architecture and components
- CLI Commands - Complete CLI reference
- Smart Skip - Smart skip system details
- LOD Classification - LOD2/LOD3 classification
π‘ Tips for Workflow Selectionβ
Choose Basic Workflow when:β
- β Learning the library
- β Processing < 10 tiles
- β No GPU available
- β Prototyping and testing
Choose GPU Workflow when:β
- β Processing > 50 tiles
- β NVIDIA GPU available
- β Production pipelines
- β Time-sensitive projects
Choose Smart Skip when:β
- β Resuming interrupted jobs
- β Iterative processing
- β Large datasets with failures
- β Incremental updates
Parallel Processing for:β
- β Multi-core systems
- β Batch processing
- β Production environments
- β Maximizing throughput