Skip to main content

Release Notes - v3.0.0

Release Date: October 16, 2025
Status: ๐ŸŽ‰ Major Release


๐ŸŽฏ Overviewโ€‹

Version 3.0 represents a major milestone with simplified configuration, feature modes, and significant performance improvements.

Highlightsโ€‹

โœจ 45% fewer configuration parameters
๐Ÿš€ 2.8x faster feature computation (asprs_classes mode)
๐Ÿ’พ 67% smaller output files (asprs_classes mode)
๐ŸŽฏ Feature modes for easy optimization
๐Ÿ“Š Better ASPRS classification accuracy
๐Ÿ”ง Flatter, clearer configuration structure


๐Ÿ†• New Featuresโ€‹

1. Feature Modesโ€‹

The biggest addition in v3.0 is feature modes - predefined, optimized feature sets.

features:
mode: "asprs_classes" # Select optimized feature set

Available modes:

  • asprs_classes โญ - Optimized for ASPRS classification (default)
  • minimal - Ultra-fast, basic features
  • lod2 - Building detection
  • lod3 - Architectural modeling
  • full - All features for research

Benefits:

  • No more manual feature flag configuration
  • Optimized combinations for each use case
  • Significant file size reduction
  • Faster processing

Learn more about Feature Modes โ†’

2. Simplified Configuration Schemaโ€‹

Complete redesign of the configuration system:

Before (v2.x):

config:
processor:
lod_level: "LOD2"
features:
mode: "full"
data_sources:
bd_topo:
enabled: true
features:
buildings: true

After (v3.0):

processing:
lod_level: "ASPRS"
features:
mode: "asprs_classes"
data_sources:
bd_topo_enabled: true
bd_topo_buildings: true

Improvements:

  • Flattened from 3-4 levels to 2 levels
  • Clearer parameter names
  • Less nesting, easier to read
  • Sensible defaults

Learn more about Configuration v3.0 โ†’

3. Preset Configurationsโ€‹

Five ready-to-use preset configurations:

  1. default_v3.yaml - Balanced for most users
  2. asprs_classification.yaml - ASPRS LAS 1.4 classification
  3. minimal.yaml - Fast processing
  4. full_enrichment.yaml - Complete dataset creation
  5. gpu_optimized.yaml - GPU acceleration

Usage:

ign-lidar-hd process --config-file configs/presets/asprs_classification.yaml

4. Enhanced Data Source Documentationโ€‹

Comprehensive documentation for all data sources:

  • BD TOPOยฎ - Buildings, roads, infrastructure
  • BD Forรชtยฎ - Forest types and species
  • RPG - Agricultural parcels and crops
  • Cadastre - Land parcel boundaries

Learn more about Data Sources โ†’

5. Automatic Migration Helperโ€‹

Migrate v2.x configs to v3.0 automatically:

from ign_lidar.config.schema_simplified import migrate_config_v2_to_v3

new_config = migrate_config_v2_to_v3(old_config)

Learn more about Migration โ†’


๐Ÿš€ Performance Improvementsโ€‹

Feature Computation Speedโ€‹

Modevs v2.x fullSpeedup
minimal-75% time4x faster
asprs_classes-64% time2.8x faster
lod2-50% time2x faster
lod3-20% time1.25x faster

File Size Reductionโ€‹

Modevs v2.x fullSavings
minimal500 MB-83%
asprs_classes800 MB-67% โญ
lod21.2 GB-60%
lod32.5 GB-17%

Memory Usageโ€‹

ModeRAMvs v2.x
minimal2 GB-75%
asprs_classes4 GB-50%
lod26 GB-25%
lod312 GBยฑ0%

๐Ÿ”„ Changesโ€‹

Configuration Structureโ€‹

Renamed Sectionsโ€‹

v2.xv3.0
config.processor.*processing.*
config.features.use_infraredfeatures.use_nir
config.processor.processing_modeprocessing.mode

Flattened Parametersโ€‹

v2.xv3.0
data_sources.bd_topo.enableddata_sources.bd_topo_enabled
data_sources.bd_topo.features.buildingsdata_sources.bd_topo_buildings
data_sources.bd_foret.enableddata_sources.bd_foret_enabled

New Parametersโ€‹

  • โœ… features.mode - Feature set selection
  • โœ… processing.mode - Processing mode (moved from output)

Removed Parametersโ€‹

The following rarely-used parameters were removed:

  • โŒ features.sampling_method - Always uses optimal
  • โŒ features.normalize_xyz - Rarely used
  • โŒ features.normalize_features - Rarely used
  • โŒ processor.prefetch_factor - Auto-optimized
  • โŒ processor.pin_memory - Auto-detected
  • โŒ processor.batch_size - Always "auto"

Default Changesโ€‹

  • Default feature mode: asprs_classes (was full)
  • Default LOD level: ASPRS (was LOD2)
  • Default with spectral features enabled (RGB, NIR, NDVI)

โš ๏ธ Breaking Changesโ€‹

v3.0 (This Release)โ€‹

No breaking changes - v3.0 is backward compatible with v2.x configurations.

Deprecation warnings added for:

  • Old configuration loader (ign_lidar.config.loader)
  • Old schema (ign_lidar.config.schema)
  • Nested configuration structure

v4.0 (Future, ~6 months)โ€‹

Breaking changes planned for v4.0:

  • โŒ Remove ign_lidar.config.loader module
  • โŒ Remove ign_lidar.config.schema (old)
  • โŒ Drop support for v2.x configuration format

Action required: Migrate to v3.0 configuration before v4.0.


๐Ÿ“š Documentation Updatesโ€‹

New Documentationโ€‹

Updated Documentationโ€‹

  • Quick Start - Updated for v3.0
  • API Reference - New simplified schema
  • Processing Modes - Updated examples
  • Performance Guide - New benchmarks

๐Ÿ› Bug Fixesโ€‹

  • Fixed RGB normalization in some edge cases
  • Improved memory management with large tiles
  • Better error messages for missing data sources
  • Fixed cache invalidation issues
  • Corrected ASPRS code assignment priority

๐Ÿ”ง Technical Changesโ€‹

Internal Improvementsโ€‹

  • Refactored configuration loader (deprecated old, new in schema_simplified.py)
  • Optimized feature computation pipeline
  • Improved caching mechanism for data sources
  • Better memory estimation for GPU processing
  • Enhanced error handling and validation

Code Qualityโ€‹

  • Added comprehensive tests for new configuration system
  • Improved type hints throughout
  • Better documentation strings
  • Code coverage increased to 85%

๐Ÿ“ฆ Installationโ€‹

Upgrade from v2.xโ€‹

pip install --upgrade ign-lidar-hd

Fresh Installationโ€‹

pip install ign-lidar-hd

GPU Supportโ€‹

pip install ign-lidar-hd[gpu]

๐Ÿš€ Getting Startedโ€‹

Quick Start with v3.0โ€‹

# Use default configuration (ASPRS classification)
ign-lidar-hd process \
--config-file configs/default_v3.yaml \
input_dir=data/raw \
output_dir=data/processed

# Or use ASPRS preset
ign-lidar-hd process \
--config-file configs/presets/asprs_classification.yaml \
input_dir=data/raw \
output_dir=data/asprs

Override Parametersโ€‹

# Enable GPU and set workers
ign-lidar-hd process \
--config-file configs/default_v3.yaml \
processing.use_gpu=true \
processing.num_workers=8 \
features.mode=lod3

๐Ÿ“Š Benchmark Comparisonโ€‹

Processing Time (1 kmยฒ tile, 10 pts/mยฒ)โ€‹

VersionFeature SetCPU TimeGPU Time
v2.xfull (all features)12 min4 min
v3.0asprs_classes3 min โœ…1 min โœ…
v3.0lod310 min3.5 min

Output File Size (1 kmยฒ tile, NPZ format)โ€‹

VersionFeature SetFile Size
v2.xfull3.0 GB
v3.0asprs_classes0.8 GB โœ…
v3.0lod32.5 GB

Classification Accuracy (with BD TOPO)โ€‹

VersionFeature SetOverall Accuracy
v2.xfull92%
v3.0asprs_classes93% โœ…
v3.0lod394%

Note: asprs_classes achieves similar accuracy with 67% smaller files!


๐Ÿ™ Acknowledgmentsโ€‹

Thanks to all contributors and users who provided feedback during the v3.0 beta period.

Special thanks to:

  • IGN for maintaining BD TOPO, BD Forรชt, and other data sources
  • The community for testing and bug reports
  • Contributors for documentation improvements

๐Ÿ“ž Supportโ€‹

Documentationโ€‹

Communityโ€‹


๐Ÿ”ฎ What's Nextโ€‹

v3.1 (Planned)โ€‹

  • Interactive configuration builder CLI
  • Enhanced validation with detailed error messages
  • Auto-detection of optimal feature mode
  • Performance profiling per feature
  • Config versioning system

v4.0 (Future)โ€‹

  • Complete removal of v2.x compatibility layer
  • New experimental features
  • Additional data source integrations
  • Enhanced ML model support

โฌ†๏ธ Upgrade Instructionsโ€‹

See the Migration Guide for detailed upgrade instructions.

TL;DR:

  1. pip install --upgrade ign-lidar-hd
  2. Use new preset: --config-file configs/presets/asprs_classification.yaml
  3. Or migrate existing config with migration helper

Thank you for using IGN LiDAR HD! ๐ŸŽ‰