ltool
Documentation: https://nikolaos-siomos.github.io/ltool/
ltool is a layer detection tool based on the Wavelet Covariance Transform (WCT) for lidar profile analysis.
It provides:
- A programmatic Python API (
get_layers) - A standalone CLI (
ltool_standalone) for local processing - An SCC/server CLI (
ltool_scc) for server-side processing using an.iniconfiguration - Export of retrieved layers to NetCDF and generation of diagnostic plots
Installation
From PyPI:
pip install ltool
For development:
pip install -e .
Quick start
Python API
from ltool.__ltool__ import get_layers
layer_obj = get_layers(
height=height,
sig=sig,
sig_err=sig_err,
method="optimized_prm",
)
print(layer_obj.layers)
Export and plots:
layer_obj.export_to_netcdf(dir_out="/path/to/output", save_netcdf=True)
layer_obj.visualize(dir_out="/path/to/output", save_plots=True)
Standalone CLI
Run on a directory of NetCDF files:
ltool_standalone \
--input_path /absolute/path/to/data \
--method optimized_prm \
--save_plots \
--save_netcdf
SCC/server CLI
ltool_scc \
--measurement_id 123456 \
--config_file /absolute/path/to/ltool.ini
Layer detection methods
The --method option controls how bases/tops are selected. Choices:
height_basedwct_basedsnr_basedprm_basedoptimized_wctoptimized_snroptimized_prm(default)
See docs/methods/pairing.md for the full explanation.
Documentation (MkDocs)
Serve docs locally:
mkdocs serve
Build static site:
mkdocs build
Project layout
Recommended structure:
.
├── pyproject.toml
├── src/
│ └── ltool/
├── examples/
├── docs/
├── mkdocs.yml
└── .gitlab-ci.yml
Release (PyPI)
Build:
rm -rf dist build *.egg-info
python -m build
Upload:
python -m twine upload dist/*
License
This project is licensed under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE.
Contact
Maintainer: Nikolaos Siomos
LMU
Email: nikolaos.siomos@lmu.de
Release files for ltool 2.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ltool-2.0.6.tar.gz | 47.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ltool-2.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 104.0 kB
Release files / ltool-2.0.6.tar.gz
| Download URL | ltool-2.0.6.tar.gz |
|---|---|
| Size | 47.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ea80a7040d831db0819041eca2f2526e7ed26bdf8a8c42c20b91664ad824fbe
|
|
BLAKE2b-256 checksum How to use checksums |
121116bace2cabff78243aab3694754688ded144d52b2d1d46f6d7438f450210
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|
Release files / ltool-2.0.6-py3-none-any.whl
| Download URL | ltool-2.0.6-py3-none-any.whl |
|---|---|
| Size | 56.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fdf0a5f8a8f41906fb0348af750698f2ed2cd4c0d3e92fba6a24019e26ddc8ff
|
|
BLAKE2b-256 checksum How to use checksums |
a0d24e5a173d025b507d7b6374425532ef7ef8ea37b0388f8d0e0b9e5d5f5df5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|