Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: acs.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.3%) to scientific vocabulary
Repository
Spectral preprocessing software
Basic Info
- Host: GitHub
- Owner: Jakub-Konkol
- License: other
- Language: Jupyter Notebook
- Default Branch: master
- Size: 1.35 MB
Statistics
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
Porchlight
Porchlight is a preprocessing aid for spectroscopists and for students to learn preprocessing.

This program was published as part of the article Porchlight: An Accessible and Interactive Aid in Preprocessing of Spectral Data.
Features
Porchlight allows you to open a variety of spectral files and immediately visualize the preprocessing you perform on your spectra. This way, you can get a better intuition for the impact various preprocessing methods have. The software is also designed for the classroom as well, with important features to support learning such as dynamic plot axis labelling.
Installation
To install the most up-to-date version from GitHub, you can use the following:
pip install git+https://github.com/Jakub-Konkol/Porchlight.git
Use
This section describes the use of Porchlight, either through the GUI or as a class you can use in your scripts.
GUI
To invoke the GUI, call the following from the terminal
python -m porchlight
Within scripts
The data handling backend code be called in scripts using
python
from porchlight.spectralData import SpectralData
From here, one can instantiate the class by providing a list of file directories containing spectral data, either in CSV, TXT, or Thermo-Gram SPC (if optional spc-spectra is installed).
python
data = SpectralData(['myFile.csv'])
All preprocessing techniques are methods of this class, which are performed in-place. To perform SNV, one can use
python
data.reset()
data.SNV()
We recommend performing a reset at the start, to make sure you don't accidentally process processed data.
Class Variables
wav - numpy array containing the abscissa axis
war - pandas DataFrame containing labels for each spectrum (not currently used)
tf_history - a list that describes the preprocessing steps performed to the spectra. Each list element is a list where
the first element is the preprocessing step and the second element is a dictionary with the values given for the method.
file_source - a list of directories that describe the source file for each spectrum. If one file provides multiple
spectra, then it is repeated multiple times.
spc - a pandas DataFrame containing the spectral data in a tidy format. Each row is one spectrum, each column
is a corresponding abscissa value. The column names are equivalent to the variable wav.
_baselines - a pandas DataFrame with calculated baselines, if one was calculated.
Acknowledgements
This material is based upon work supported in part by Rutgers, The State University of New Jersey, and the National Science Foundation Award 1751683.
This software has been developed by Jakub Konkol of the Dr. Tsilomelekis group at Rutgers, the State University of New Jersey. Come see our research!
:copyright: 2021-2025 Rutgers, the State University of New Jersey
Owner
- Name: Jakub Konkol
- Login: Jakub-Konkol
- Kind: user
- Company: Rutgers, the State University of New Jersey
- Website: https://jakubkonkol.com
- Repositories: 2
- Profile: https://github.com/Jakub-Konkol
PhD student at Rutgers, the State University of New Jersey with focus in applying advanced spectroscopic techniques to chemical engineering problems. LaTeX, 🐍
Citation (CITATION.CFF)
cff-version: 1.2.0 message: "If you used Porchlight in your research or classes, please cite it as below." authors: - family-names: "Konkol" given-names: "Jakub" orcid: "https://orcid.org/0000-0002-6488-2167" - family-names: "Tsilomelekis" given-names: "George" orcid: "https://orcid.org/0000-0002-0435-8216" title: "Porchlight: An Accessible and Interactive Aid in Preprocessing of Spectral Data" version: 1.1.0 identifiers: - type: doi value: 10.1021/acs.jchemed.2c00812 date-released: 2023-02-14 url: "https://github.com/Jakub-Konkol/Porchlight"
GitHub Events
Total
- Watch event: 3
- Push event: 9
- Fork event: 1
Last Year
- Watch event: 3
- Push event: 9
- Fork event: 1
Dependencies
- matplotlib *
- numpy *
- pandas *
- scipy *
- tk *
- matplotlib *
- numpy *
- pandas *
- scipy *
- spc_spectra *
- tk *