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.
- Python 3.8
- pip (Python package installer)
The easiest way to install LEDSA is via pip:
python -m pip install ledsa
To install LEDSA from source:
-
Clone the repository:
git clone https://github.com/FireDynamics/LEDSmokeAnalysis.git cd LEDSmokeAnalysis
-
Install the package:
pip install .
LEDSA can be used via its command-line interface (CLI). The general structure is:
python -m ledsa [ARGUMENT] [OPTIONS]
Create a default configuration file:
python -m ledsa -conf
Create an analysis configuration file:
python -m ledsa -conf_a
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
LEDSA includes a demo that demonstrates its functionality using sample data.
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
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
Comprehensive documentation is available at https://firedynamics.github.io/LEDSmokeAnalysis/
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.
LEDSA is licensed under the MIT License. See the LICENSE file for details.
- Kristian Börger (boerger@uni-wuppertal.de)
- Lukas Arnold (arnold@uni-wuppertal.de)