A scientific package to analyse smoke via the dimming of light sources.
Project description
LEDSmokeAnalysis (LEDSA)
LEDSA (LEDSmokeAnalysis) is a Python-based software package for the computation of spatially and temporally resolved light extinction coefficients from photometric measurements. The method relies on capturing the change in intensity of individual light sources due to fire-induced smoke. Images can be acquired within laboratory experiments using commercially available digital cameras.
Installation
Requirements
- Python 3.8
- pip (Python package installer)
Installation from PyPI
The easiest way to install LEDSA is via pip:
python -m pip install ledsa
Installation from Source
To install LEDSA from source:
-
Clone the repository:
git clone https://github.com/FireDynamics/LEDSmokeAnalysis.git cd LEDSmokeAnalysis
-
Install the package:
pip install .
Usage
LEDSA can be used via its command-line interface (CLI). The general structure is:
python -m ledsa [ARGUMENT] [OPTIONS]
Configuration
Create a default configuration file:
python -m ledsa -conf
Create an analysis configuration file:
python -m ledsa -conf_a
Main Workflow
The typical workflow consists of three main steps:
-
Step 1: Find LEDs on a reference image
python -m ledsa -s1
-
Step 2: Assign LEDs to LED arrays
python -m ledsa -s2
-
Step 3: Analyze light intensity changes among different images for the RGB color channels
python -m ledsa -s3_fast -rgb
-
Calculate 3D coordinates of the individual LEDs
python -m ledsa -coord
-
Run computation of extinction coefficient
python -m ledsa --analysis
For a complete list of options, run:
python -m ledsa --help
Demo
LEDSA includes a demo that demonstrates its functionality using sample data.
Setting Up the Demo
The demo setup will download approximately 5GB of data from the internet:
python -m ledsa --demo --setup /path/to/demo/directory
This will create two directories:
image_data: Contains the sample imagessimulation: Contains configuration files and results
Running the Demo
After setting up the demo, you can run it:
python -m ledsa --demo --run
By default, the demo uses 1 core. You can specify more cores:
python -m ledsa --demo --run --n_cores 4
Documentation
Comprehensive documentation is available at https://firedynamics.github.io/LEDSmokeAnalysis/
Contributing
To introduce new, tested, documented, and stable changes, pull/merge requests into the master branch are used.
Pull request drafts can be used to communicate about changes and new functionality.
After reviewing and testing the changes, they will be merged into master.
Every merge with master is followed by introducing a new version tag corresponding to the semantic versioning paradigm.
License
LEDSA is licensed under the MIT License. See the LICENSE file for details.
Authors
- Kristian Börger (boerger@uni-wuppertal.de)
- Lukas Arnold (arnold@uni-wuppertal.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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ledsa-0.9.4.tar.gz.
File metadata
- Download URL: ledsa-0.9.4.tar.gz
- Upload date:
- Size: 60.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e882754870e2e6c6017dab7776dd23f19f53af23d3b161624c879b142b612cb
|
|
| MD5 |
1f0c99976581fdac42fe023c867669c8
|
|
| BLAKE2b-256 |
d5e13339195a3f88ba5afd6708e29a453c434a6407df60e85fa393ce7d47cfb8
|
Provenance
The following attestation bundles were made for ledsa-0.9.4.tar.gz:
Publisher:
python-publish.yml on FireDynamics/LEDSmokeAnalysis
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ledsa-0.9.4.tar.gz -
Subject digest:
8e882754870e2e6c6017dab7776dd23f19f53af23d3b161624c879b142b612cb - Sigstore transparency entry: 222944950
- Sigstore integration time:
-
Permalink:
FireDynamics/LEDSmokeAnalysis@ba6ee4dae061ea35a2e02e08d0d3411747e2d153 -
Branch / Tag:
refs/tags/v.0.9.4 - Owner: https://github.com/FireDynamics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ba6ee4dae061ea35a2e02e08d0d3411747e2d153 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ledsa-0.9.4-py3-none-any.whl.
File metadata
- Download URL: ledsa-0.9.4-py3-none-any.whl
- Upload date:
- Size: 71.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d345194c7ff704842499741255c1d2a4fde810acd9b3cb8fd9750732ce4e3c13
|
|
| MD5 |
05bc4b9ddc41cac4b65f6d8268a3e317
|
|
| BLAKE2b-256 |
e76d564075f0b0060d77db4df7bb5a8bd133262afe87cb81e8bf08d9a7a95e5c
|
Provenance
The following attestation bundles were made for ledsa-0.9.4-py3-none-any.whl:
Publisher:
python-publish.yml on FireDynamics/LEDSmokeAnalysis
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ledsa-0.9.4-py3-none-any.whl -
Subject digest:
d345194c7ff704842499741255c1d2a4fde810acd9b3cb8fd9750732ce4e3c13 - Sigstore transparency entry: 222944959
- Sigstore integration time:
-
Permalink:
FireDynamics/LEDSmokeAnalysis@ba6ee4dae061ea35a2e02e08d0d3411747e2d153 -
Branch / Tag:
refs/tags/v.0.9.4 - Owner: https://github.com/FireDynamics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ba6ee4dae061ea35a2e02e08d0d3411747e2d153 -
Trigger Event:
release
-
Statement type: