Skip to main content

LIBSsa: an open source software for analyzing LIBS spectra

Project description

libssa_logo

LIBSsa2 - Laser Induced Breakdown Spectroscopy spectra analyzer

PyPI - Python Version GitHub - Commits GitHub - Contributors GitHub - Releases PyPI - Release GitHub - License

LIBSsa 2 is free software, licensed under the GNU Affero General Public License version 3, and written in Python 3.x for analyzing LIBS spectra. It can read several formats of data inside raw/text files, import the spectra, and perform multiple analyses on the data. The environment (spectra, peaks, and results) may also be saved into an encapsulated lb2e file.

libssa_mainwindow
LIBSsa main window

For a full list of features implemented in LIBSsa, you may check the FEATURES.md file but, in short, you can: remove outliers using SAM or MAD algorithms, perform full spectrum normalization (FSN), create correlation spectrum, do peak isolation, peak fitting (Gaussian, Lorentzian, and Voigt), univariate linear models, multivariate partial least squares regression (PLSR), principal components analysis (PCA), and obtain plasma temperature and electron density values using Saha-Boltzmann (modified to LIBS) equation.

Bellow are presented some of the graphics generated by LIBSsa.

libssa_graphics
Some treatments available in LIBSsa: peak isolation (a), peak fitting (b), PCA (c), and Saha-Boltzmann plot (d)

Finally, users can also export the results of the analysis in many common formats (txt, csv, and xlsx).

Setting up the environment

You will need to install Python 3 to use the program (tested on 3.9 and 3.10 with current libraries). Python can be obtained from the official website, https://www.python.org/ and, if you have any additional inquiries, there are official instructions on how install Python on Linux Distributions, Windows and macOS.

1. Simple install (PyPI version)

LIBSsa is distributed as a Python Package on PyPI. With Python and PIP installed, just run from inside a terminal or Windows PowerShell and type:

pip install libssa
libssa-gui

2. SRC install (GitHub version)

If you prefer interacting with the source code of LIBSsa, you may download the software zip, or clone the repository using git:

git clone https://github.com/kstenio/libssa.git

Then, you can use PIP to install LIBSsa in editable mode :

cd libssa
pip install -e .
libssa-gui

In editable mode, every change made to the source code will also be reflected into the package. Doing this, you'll also install the following external libraries that LIBSsa uses:

  1. NumPy (~=1.25.1)
  2. SciPy (~=1.11.1)
  3. Pandas (~=2.0.3)
  4. Scikit-Learn (~=1.3.0)
  5. PySide6 (~=6.4.3)
  6. PyQtGraph (~=0.13.3)
  7. OpenPyXL (~=3.1.2)
  8. Psutil (~=5.9.5)
  9. Markdown (~=3.4.3)

Lastly, advanced users are encouraged to use venv (Virtual Environment).

Contributing

If you wish to contribute to the development of LIBSsa, please check for the guidelines in the CONTRIBUTING.md file.

Warranty

LIBSsa 2 is an open-source project. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License version 3 attached for more details.

Historical background

The LIBSsa 1 was a software created in the middle of 2017 for my personal use in a LIBS class during my doctorate. Eventually, many colleagues from the Optics and Photonics Laboratory at Embrapa Instrumentation (Sao Carlos, SP, Brazil) enjoyed the application, and I continued developing it until late 2019.

At some point, the LIBSsa software became an important part of my doctorate/thesis, so I decided to restructure it into a new - better - version. Finally, in the middle of 2020, the development of LIBSsa 2 started.

Acknowledgements

The present software (up to version 2.0.99) was supported by the Coordination for the Improvement of Higher Education Personnel - Brazil (CAPES) - Finance Code 001, and by the Laboratory of Optics and Photonics at Embrapa Instrumentation, under the supervision of Dr. Debora Milori.

Copyright

You are free to use and redistribute LIBSsa 2 (and are, in fact, encouraged to do so), provided that proper credit is given to the developer and/or this repository is mentioned. The software is licensed under the AGPLv3.

To ensure the open-source nature of LIBSsa 2 and prevent any attempt to transform it into proprietary software, the source code of a previous version (2.0.99) has been registered with the Brazilian National Institute of Industrial Property (INPI-BR). This registration provides an additional layer of protection in accordance with the principles of the TRIPS Agreement and is documented under the process number BR 51 2023 002165-2.

LIBSsa also uses content from other projects: SVG icons are from Font Awesome, and the logo is based on the PT_Sans font. License to those content are available in the doc/open_source_licenses folder.


Developed by: Kleydson Stenio @ 2024

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

libssa-2.5.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

libssa-2.5.0-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file libssa-2.5.0.tar.gz.

File metadata

  • Download URL: libssa-2.5.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for libssa-2.5.0.tar.gz
Algorithm Hash digest
SHA256 79074457d911460b03585babd944a98b49ef076551cf60d30b7abe7a7e851d61
MD5 a2d47d8eb6e5151782f4d720500e5148
BLAKE2b-256 ca07bcd1c3787c16fa562c3fbb3ba1e4e2689e7d8e7ad426951130e60137b50d

See more details on using hashes here.

File details

Details for the file libssa-2.5.0-py3-none-any.whl.

File metadata

  • Download URL: libssa-2.5.0-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for libssa-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9df071e979a511a89f9c8f2b1619ebd280a9f94f2a6268206c97beb7c3932186
MD5 2fa885acb71bca1b5111098c2d6b27ad
BLAKE2b-256 47225d7d42993d88740013c03c3c2b7c5c0ff2c2c3d686867cd5c0d51594b5a9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page