Skip to main content

A Python package for 3D LiDAR point cloud processing, analysis, terrain modelling, and visualization.

Project description

LidarLens

LidarLens is a powerful Python package for processing, analyzing, and visualizing 3D LiDAR point cloud data. It provides a clean, pythonic API for common tasks such as I/O, noise removal, ground extraction, DTM/DSM generation, and terrain analysis.

Features

  • I/O: Read and write LAS/LAZ files (wraps laspy and open3d).
  • Preprocessing: Voxel downsampling, statistical/radius outlier removal.
  • Segmentation:
    • Ground extraction using CSF (Cloth Simulation Filter) or RANSAC.
    • Building and vegetation segmentation (heuristic).
    • DBSCAN clustering.
  • Terrain Modelling:
    • Generate DTM (Digital Terrain Model) and DSM (Digital Surface Model).
    • Compute Canopy Height Models (CHM).
    • Generate vector contours.
  • Analysis:
    • Point density maps, roughness, slope, aspect, and hillshade.
    • Cloud-to-cloud distance comparison.
    • Volume computation and cross-section profiling.
  • Geometry:
    • Normal estimation and orientation.
    • Mesh surface reconstruction (Poisson, Ball Pivoting).
    • ICP Registration.
  • Visualization: Helper functions for plotting point clouds, DEMs, and histograms.
  • CLI: Comprehensive command-line interface for batch processing.

Installation

pip install lidarlens

To install with CLI support:

pip install lidarlens[cli]

To install with Deep Learning support (coming soon):

pip install lidarlens[dl]

Quick Start

Python API

import lidarlens as ll

# 1. Load a point cloud
pcd, header, vlrs, wkt = ll.read("input.laz")

# 2. Preprocess
pcd = ll.denoise(pcd, method="statistical")
pcd = ll.downsample(pcd, voxel_size=0.5)

# 3. Extract Ground
ground, non_ground, plane = ll.extract_ground(pcd)

# 4. Generate DTM
dtm, meta = ll.generate_dtm(ground, resolution=1.0)

# 5. Save results
ll.save(ground, "ground.laz", header=header, wkt=wkt)
ll.dem_to_png(dtm, meta, "dtm.png")

Command Line Interface

# Info
lidarlens info input.laz

# Processing pipeline
lidarlens downsample input.laz -v 0.5 -o downsampled.laz
lidarlens denoise downsampled.laz -o clean.laz
lidarlens ground clean.laz -o ground.laz

# Terrain products
lidarlens dtm ground.laz -o dtm.png
lidarlens contours ground.laz -i 2.0 -o contours.geojson

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lidarlens-0.1.3.tar.gz (36.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lidarlens-0.1.3-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file lidarlens-0.1.3.tar.gz.

File metadata

  • Download URL: lidarlens-0.1.3.tar.gz
  • Upload date:
  • Size: 36.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lidarlens-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5ef2655ab8829cf3a5830536cd9837397b4a6d6c1052a098b07941485d3276f1
MD5 d1b918f2afec18df9b2e18378eb09d85
BLAKE2b-256 6d6334393406b0a083c3a7484b950922ec4e12fa01aac6cc469ab50134d3ab1f

See more details on using hashes here.

File details

Details for the file lidarlens-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: lidarlens-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 32.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lidarlens-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fc96416a62fdc5b8f47f11f20605bcbd411ea75437c7102610971d52a7ea4de8
MD5 dfecbd9f3ea7831fac5a553cb1da6259
BLAKE2b-256 36f864d0de2bc6e5e2a7c4f5a1b0c36d8dc655226c6b0e188c5c005c50ff4a1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page