Skip to main content

No project description provided

Project description

ltool

PyPI version Python versions License CI Docs

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 .ini configuration
  • 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_based
  • wct_based
  • snr_based
  • prm_based
  • optimized_wct
  • optimized_snr
  • optimized_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

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

ltool-2.0.3.tar.gz (41.4 kB view details)

Uploaded Source

Built Distribution

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

ltool-2.0.3-py3-none-any.whl (50.4 kB view details)

Uploaded Python 3

File details

Details for the file ltool-2.0.3.tar.gz.

File metadata

  • Download URL: ltool-2.0.3.tar.gz
  • Upload date:
  • Size: 41.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for ltool-2.0.3.tar.gz
Algorithm Hash digest
SHA256 f15570ab06ec5e0999051475c05c452eaee2f4496a74c2a2bbb18a26b229c08d
MD5 62b44a2aff61ed7b62c602ea4c2587b0
BLAKE2b-256 3499b2fb1444d73f727b78c751f87fa62a59c9c4af8bb22f94e8e7eb8d90dc7b

See more details on using hashes here.

File details

Details for the file ltool-2.0.3-py3-none-any.whl.

File metadata

  • Download URL: ltool-2.0.3-py3-none-any.whl
  • Upload date:
  • Size: 50.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for ltool-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e4ffad05b40cc7ca811b4fa019d72e0100348ca1ba3d81780c7034a7c7e04787
MD5 5821e193755e6e05529d606f18a46ff4
BLAKE2b-256 620f29774b0a97b0385a8b3c7bd6b33cccb39a772e24400278fa3afdc3c68dd3

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