**PySpecTrace** is an open-source, Python-based graphical user interface (GUI) designed for real-time UV-visible-NIR spectroscopy data analysis. It addresses the limitations of proprietary spectrometer software by providing advanced, customizable, and real-time spectral tracking and analysis tools suitable for a wide range of scientific disciplines
Project description
PySpecTrace: Python-based Graphical User Interface (GUI) for Real-time UV-Vis-NIR Spectroscopy Analysis
PySpecTrace is an open-source, Python-based graphical user interface (GUI) designed for real-time UV-visible-NIR spectroscopy data analysis. It addresses the limitations of proprietary spectrometer software by providing advanced, customizable, and real-time spectral tracking and analysis tools suitable for a wide range of scientific disciplines.
Installation
Open a terminal or Command Prompt then run the following command to install the latest version from PyPI:
pip install pyspectrace
Run the Application
After installation is complete, start the program with open terminal and write:
pyspectrace
Spectrometer SDK Setup
To connect the software with supported spectrometers, you must manually provide the required SDK files (DLLs/shared libraries). These SDKs are proprietary and must be obtained directly from the hardware manufacturers.
You can add SDK files from the application menu:
- Open PySpecTrace.
- Click menu bar
SDK. - Choose the vendor:
Ocean Optics,CNI Laser, orAvantes. - Select
Add ... DLLand choose the required.dllfile. - Close PySpecTrace then run again
PySpecTrace stores user-provided SDK files in the user data directory. This keeps the PyPI package free from proprietary SDK files.
Requirements
- Python 3.9 – 3.12
Notes for Avantes Spectrometer: If the spectrometer is still not detected after placing the SDK, please Install the official Avantes interface software from https://www.avantes.com/products/software/
Detailed steps for running documented in the Manual: PySpecTrace_Manual.pdf
If you encounter any issues or need assistance, we will do our best to help. Please feel free to contact us via the Corresponding Contact
Extra Documentation
- Zenodo archive: doi.org/10.5281/zenodo.18920460
- Repository: https://github.com/anamsigit/pyspectrace
- Supporting information: PySpecTrace_SI.pdf
- Demonstration video: Google drive
Key Features
- Real-time spectral visualization: Enables immediate monitoring of spectral changes during experiments.
- Dynamic spectral tracing and peak tracking: Utilizes adaptive fitting routines to identify and track spectral features live.
- Flexible configuration: User-friendly GUI includes panels for spectrometer connection, settings, data display, and analysis.
- Spectral post-processing: Offers robust data analysis capabilities for in-depth interpretation.
- Spectrometer Simulator: Supports testing without physical hardware, facilitating development and training.
- Modular and adaptable: Compatible with any spectrometer via appropriate driver interfaces; easily customizable for various experimental needs.
Architecture
- Built on a Model-View-Presenter (MVP) pattern for maintainability and scalability.
- Uses popular Python libraries including PyQt5, NumPy, SciPy, Pandas, Matplotlib, and PyQtGraph.
- This project has been tested with Python 3.9.13.
List of working spectrometers
PySpecTrace has been tested and working seamlessly with these commercial spectrometers (on Windows OS). Testing was performed using some instruments available from several research laboratories: Photonics Research Center of Indonesia; Chemistry Dept. of Chulalongkorn University; Electrical Eng. Dept. of Universiti Teknologi Malaysia; IMRAN, Tohoku University, Physics Dept. of Universitas Indonesia.
| Ocean Optics | Avantes | CNI |
|---|---|---|
| Maya PRO2000 | AvaSpec-ULS4096CL-EVO | Aurora 4000 |
| HR 4000CG-UV-NIR | AvaSpec-2048-USB2 | |
| USB4000 |
Please add to the list if you have found that it works in your spectrometer. It will be a nice information for new user.
Corresponding contact
- Feel free to contact us via Iwan Darmadi (email:iwan.darmadi@alumni.ui.ac.id) for technical support, bug reports, feature requests, or questions regarding PySpecTrace.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyspectrace-2.0.0.tar.gz.
File metadata
- Download URL: pyspectrace-2.0.0.tar.gz
- Upload date:
- Size: 106.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec826ae18b7bca764c37b1fd742452934d8ea6f05c276ff45cbd051d1c8ee854
|
|
| MD5 |
8c528ff43137abb2d632d0a2bd03539b
|
|
| BLAKE2b-256 |
498317a6eeae32f4a8691415654e1bbd77399f124a13f60d12c8cc86b23de592
|
File details
Details for the file pyspectrace-2.0.0-py3-none-any.whl.
File metadata
- Download URL: pyspectrace-2.0.0-py3-none-any.whl
- Upload date:
- Size: 175.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22ee5c01013ac563f2d5143126fe56c0008961f14225530d9b02475cfa7f5280
|
|
| MD5 |
4fd70b5c05644467369c29efa479e16a
|
|
| BLAKE2b-256 |
c786e3a6601a56097d0954904b4151de1be92d7e54c1ae20315b87b858bdb084
|