Skip to main content

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 @ 2023

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.2.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for libssa-2.2.0.tar.gz
Algorithm Hash digest
SHA256 01a0b8f23b50818ffb749b36bdfa510d2e5627ed23b05abb482202ade9403f20
MD5 8bdc6fd67cbc27d7a5a48783ec8c7625
BLAKE2b-256 00fe9d8d532a81808beff93052a57d2c1623bcca78469d03b7452109d000e14b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for libssa-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7006aacb1545330d94984c19bce1653e0a33d8006a2b86a009bbea5fb164c88
MD5 3786b7f6a035143cfc1e43509465ed46
BLAKE2b-256 64fcf737ebaca93b21e1bfaf2c67fec6919377f538a18cbc632581648572ba68

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