Skip to main content

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.

Documentation PyPI

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:

  1. Clone the repository:

    git clone https://github.com/FireDynamics/LEDSmokeAnalysis.git
    cd LEDSmokeAnalysis
    
  2. 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:

  1. Step 1: Find LEDs on a reference image

    python -m ledsa -s1
    
  2. Step 2: Assign LEDs to LED arrays

    python -m ledsa -s2
    
  3. Step 3: Analyze light intensity changes among different images for the RGB color channels

    python -m ledsa -s3_fast -rgb
    
  4. Calculate 3D coordinates of the individual LEDs

    python -m ledsa -coord
    
  5. 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 images
  • simulation: 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

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

ledsa-0.9.8.tar.gz (62.5 kB view details)

Uploaded Source

Built Distribution

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

ledsa-0.9.8-py3-none-any.whl (74.1 kB view details)

Uploaded Python 3

File details

Details for the file ledsa-0.9.8.tar.gz.

File metadata

  • Download URL: ledsa-0.9.8.tar.gz
  • Upload date:
  • Size: 62.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ledsa-0.9.8.tar.gz
Algorithm Hash digest
SHA256 86a6dd9645424c8ffb7740755ff10b52e98a34d65a92db0d4186041e2324e5e0
MD5 cce2925b21cba3a9b8396b4b2aa86325
BLAKE2b-256 a28c8411cc1b944a190144a78449a0201e7629d2bfe6bbcb578a024708f574b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ledsa-0.9.8.tar.gz:

Publisher: python-publish.yml on FireDynamics/LEDSmokeAnalysis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ledsa-0.9.8-py3-none-any.whl.

File metadata

  • Download URL: ledsa-0.9.8-py3-none-any.whl
  • Upload date:
  • Size: 74.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ledsa-0.9.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1955b0e2e180f9abf507dc048e2f29c7f09bb9d8473db00af8a6f8f08e5bf3f2
MD5 b14f45e4e22d47c18c62c570620fae76
BLAKE2b-256 d3c620d4185e64c653f57f7ca16ba7f0e0a3402c21b4efdd2f378853a2e4f81a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ledsa-0.9.8-py3-none-any.whl:

Publisher: python-publish.yml on FireDynamics/LEDSmokeAnalysis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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