An open source software for analyzing LIBS spectra
Project description
LIBSsa2 - Laser Induced Breakdown Spectroscopy spectra analyzer
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 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.
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:
- NumPy (~=1.25.1)
- SciPy (~=1.11.1)
- Pandas (~=2.0.3)
- Scikit-Learn (~=1.3.0)
- PySide6 (~=6.4.3)
- PyQtGraph (~=0.13.3)
- OpenPyXL (~=3.1.2)
- Psutil (~=5.9.5)
- 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
Release history Release notifications | RSS feed
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01a0b8f23b50818ffb749b36bdfa510d2e5627ed23b05abb482202ade9403f20 |
|
MD5 | 8bdc6fd67cbc27d7a5a48783ec8c7625 |
|
BLAKE2b-256 | 00fe9d8d532a81808beff93052a57d2c1623bcca78469d03b7452109d000e14b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7006aacb1545330d94984c19bce1653e0a33d8006a2b86a009bbea5fb164c88 |
|
MD5 | 3786b7f6a035143cfc1e43509465ed46 |
|
BLAKE2b-256 | 64fcf737ebaca93b21e1bfaf2c67fec6919377f538a18cbc632581648572ba68 |