Ep 59 — Community Innovations and Open-Source Projects: The Spectral Geeks on GitHub

Series: Infrared Spectroscopy Encyclopedia: From Principles to Practice
Chapter: Part 6 · Practice and Expansion — From Lab to Infinite Possibilities
Audience: All viewers, especially those interested in open-source tools, AI-assisted analysis, and community collaboration
Prerequisites: Ep 46–55 (Instrumentation and Tools), Ep 56 (ftir.fun)
Reading Time: Approximately 30 minutes


Introduction: The "Open-Source Awakening" in Spectroscopy

In previous chapters, we spent considerable time discussing commercial instruments and software—Bruker's Opus, Thermo's OMNIC, Shimadzu's LabSolutions. These tools are powerful, but they have two problems: they are expensive and closed.

A typical dilemma: you have a set of infrared spectra you want to analyze with machine learning, but the commercial software's algorithms are black boxes, data export is limited, and you cannot customize the workflow. So you turn to Python—and then discover that writing spectral preprocessing code from scratch has a higher barrier than expected.

This is where the open-source community shows its value.

"Open-source tools lower the barrier to spectral analysis, allowing anyone with ideas to participate in tool innovation. This 'decentralized' innovation model is reshaping the landscape of analytical chemistry."[1]

On GitHub, there is a group of "spectral geeks"—they may be PhD students, independent researchers, or hobbyist programmers, but they share a common trait: solving spectral problems with code and sharing it with the world for free.

In this episode, we tour selected spectral projects on GitHub, seeing how the community drives the field forward. Star counts/activity levels mentioned are snapshots at the time of writing; please refer to the repository page on the day of access (it is recommended to note the access date in your notes).


1. The Power of the Open-Source Community

1.1 Why Spectroscopy Needs Open Source

The spectroscopy field has long faced several pain points that open-source tools can address:

Pain Point Limitation of Commercial Software Solution by Open Source Tools
Cost barrier Software costs tens of thousands of yuan Free to use
Algorithm transparency Black-box operation Code open for audit
Customization Fixed functionality Freely modifiable
Data format Vendor-specific formats Support for open standards
Community collaboration Closed development Global collaboration
Reproducibility Version/license restrictions Fully reproducible

"Scientific reproducibility requires transparency in the analysis process. Open-source tools make every step of spectral processing traceable, which is difficult for commercial software to achieve."[1]

1.2 FAIR Data Principles

When discussing open-source tools, we must mention the FAIR Data Principles—a set of guiding principles for scientific data management proposed in 2016 [2]:

Principle Full Name Meaning
F Findable Persistent identifiers, metadata
A Accessible Retrieved via standard protocols
I Interoperable Use of common formats and vocabularies
R Reusable Clear licensing and provenance

"The core of FAIR principles is to make scientific data 'friendly' for both humans and machines. If spectral data is locked in proprietary formats, it violates the FAIR spirit."[2]

Open-source spectral tools naturally align with FAIR principles: they support open formats (JCAMP-DX, CSV), code is auditable, and data is traceable.


2. Selected GitHub Projects

2.1 OpenSpecy: Online Platform for Microplastic Spectral Analysis

Project URL: github.com/wincowgerDEV/OpenSpecy-package

What it is: OpenSpecy is an open-source R/Python toolkit specifically designed for microplastic analysis. Microplastics are a hot topic in environmental science (discussed in Ep 26), and infrared and Raman spectroscopy are key tools for identifying microplastics.

Core Features:

  • Spectral preprocessing (baseline correction, smoothing, normalization)
  • Spectral matching and database search
  • Automatic classification of microplastic types (PE, PP, PS, PET, PA, etc.)
  • Online platform openspecy.org with a web interface

Why It Matters:

"A challenge in microplastic research is the sheer volume of data—a single environmental sampling can yield hundreds of spectra. OpenSpecy provides an automated batch processing solution that significantly improves analysis efficiency."[3]

Tech Stack: Primarily R, with a Shiny web interface; supports JCAMP-DX, SPA, CSV, etc.

🔗 Infrared signatures of microplastics (polymers) can be queried on ftir.fun: alkyl C-H, ester (PET), amide (nylon).

2.2 VaporFit: Automatic Atmospheric Compensation Tool

Project URL: github.com/piobruzd/VaporFit

What it is: VaporFit is a tool for automatic removal of atmospheric water vapor and CO₂ absorption from spectra. In Ep 18 on spectral processing, we discussed how atmospheric interference is a classic problem in IR spectroscopy—water vapor bands near 3400 cm⁻¹ and CO₂ bands near 2300 cm⁻¹ often mask the true sample signal.

Key Innovation:

VaporFit uses a physical model to fit atmospheric absorption, rather than simple baseline subtraction. It was published in Physical Chemistry Chemical Physics (PCCP) in 2025 [4].

"Traditional atmospheric compensation methods rely on manual selection of reference spectra, which is inefficient and subjective. VaporFit automates the fitting of water vapor and CO₂ rotational structure, achieving objective and reproducible atmospheric compensation."[4]

Applicable Scenarios:

  • Infrared spectra measured in transmission mode (most affected by atmospheric interference)
  • Weak signal samples (atmospheric signals may overwhelm sample signals)
  • Long-path gas measurements

💡 Relationship with ftir.fun: VaporFit solves the "preprocessing" problem, while ftir.fun solves the "interpretation" problem. They can be used in sequence: first use VaporFit to remove atmospheric interference, then upload to ftir.fun for analysis.

2.3 Ira: JavaScript FTIR Peak Detection Tool

What it is: Ira is a JavaScript-based FTIR peak detection tool, published in Analytical Letters in 2023 [5].

Key Features:

  • Pure front-end: Implemented in JavaScript, no need to install Python/R environment
  • Interactive: Adjust peak detection parameters in real-time in the browser
  • Lightweight: Suitable for quick peak detection without heavy analysis

"Ira demonstrates the potential of web technology in spectral analysis. Though JavaScript is not a traditional language for scientific computing, its 'zero-install, ready-to-use' advantage makes spectral tools accessible to more non-expert users."[5]

Technical Significance: Together with ftir.fun, Ira represents a trend of "web-native" spectral tools, shifting from desktop to browser.

2.4 SSIN: Explainable AI for Functional Group Identification

Project URL: github.com/ngs00/SSIN

What it is: SSIN (Spectral-Spatial Integration Network) is a deep learning model for automatic identification of functional groups in infrared spectra. Its key innovation is interpretability—unlike typical black-box AI, SSIN can tell you what it "sees."

Core Features:

  • Input: infrared spectrum
  • Output: list of identified functional groups (C=O, O-H, N-H, C-H, etc.)
  • Interpretability: via attention mechanism highlighting spectral regions associated with each functional group

"SSIN proves that deep learning can not only automatically identify functional groups, but also provide interpretable criteria through attention mechanisms, allowing chemists to understand the AI's 'reasoning process.' This transparency is crucial for scientific applications."[6]

Why it matters: In Ep 44, we discussed machine learning applications in infrared spectroscopy. SSIN represents the direction of 'explainable AI' — not replacing chemists with AI, but assisting chemists and explaining its own judgments.

🔗 The functional groups identified by SSIN correspond exactly to those structurally recorded on ftir.fun. The two can complement each other: SSIN for automatic identification, ftir.fun for manual verification.

2.5 IR-Bot: AI Robot + IR Analysis

Project URL: github.com/pic-ai-robotic-chemistry/IR_spe_Analysis

What it is: IR-Bot is a bolder attempt — combining AI robots with infrared spectroscopy analysis. It can not only analyze spectra but also autonomously design experiments, operate instruments, and interpret results.

Vision:

  • AI reads infrared spectra
  • Autonomously infers possible compound structures
  • Designs validation experiments
  • Interfaces with automated laboratories

"AI-driven autonomous chemistry labs are becoming a reality. Infrared spectroscopy, as a standard analytical method, is a key input for AI robots to 'understand' chemical reactions."[7]

Current status: Such projects are still in early stages, but represent the direction of 'AI + automation + spectroscopy' convergence.

2.6 Photizo: FTIR Biological Tissue Analysis

Project URL: github.com/DendrouLab/Photizo

What it is: Photizo is a Python tool specifically for FTIR biological tissue imaging analysis. In Ep 33, we discussed the biomedical applications of infrared spectroscopy — infrared imaging of tissue sections can reveal disease-related chemical changes.

Core functions:

  • FTIR imaging data import and preprocessing
  • Automatic tissue type segmentation (based on spectral features)
  • Disease marker extraction
  • Visualization and statistical analysis

"Photizo provides a standardized analysis workflow for biomedical infrared imaging, making results across different laboratories comparable and reproducible. This is crucial for advancing infrared pathology towards clinical use."[8]

2.7 RamanSPy: Raman Spectroscopy Analysis Framework

Project URL: github.com/barahona-research-group/RamanSPy

What it is: RamanSPy is a Raman spectroscopy analysis framework. Although this series primarily focuses on infrared, in Ep 09 we discussed the complementary relationship between infrared and Raman — many studies use both techniques.

Core functions:

  • Raman spectrum preprocessing (cosmic ray removal, baseline correction, smoothing)
  • Hyperspectral imaging analysis
  • Machine learning analysis workflows
  • Integration with infrared data

"RamanSPy fills the gap for a general-purpose analysis tool for Raman spectroscopy. Its modular design allows researchers to flexibly combine different analysis steps."[9]

💡 Complementarity of Infrared and Raman: On GitHub, infrared tools (OpenSpecy, ftir.fun) and Raman tools (RamanSPy) together form the open-source ecosystem of vibrational spectroscopy. Researchers can choose the appropriate technique based on sample characteristics, or use both for more comprehensive information.


III. Selected Community Discussions

The open-source community is not only on GitHub but also active on various forums. Here are some selected discussions:

3.1 Reddit's r/chemistry and r/spectroscopy

Hot topics:

  • "Why are FTIR software all so difficult to use?" — sparked complaints about commercial software UX and hopes for open-source tools
  • "How to batch process 1000 infrared spectra with Python?" — some recommended SciPy + custom scripts, others OpenSpecy
  • "ATR vs transmission, which is better?" — classic debate, always with new insights

3.2 StackExchange's Chemistry section

Typical Q&A:

  • "Is the peak at 1700 cm⁻¹ in infrared spectra definitely C=O?" — a high-vote answer detailed all possibilities around 1700 (C=O, C=C, C=N, amide I), emphasizing 'don't look at one peak in isolation'
  • "How to distinguish primary and secondary amines in infrared spectra?" — classic teaching question, N-H double peak vs single peak
  • "How to read JCAMP-DX files with Python?" — technical question, recommended jcamp library

3.3 Zhihu's Infrared Spectroscopy Hot Discussions

Chinese community characteristic topics:

  • "Any tips for interpreting infrared spectra?" — shared 'five-step analysis method' and mnemonic rhymes
  • "Domestic FTIR instruments vs imported brands, how to choose?" — cost-performance discussion
  • "Is ftir.fun easy to use?" — user feedback on domestic open-source tool

"The value of community discussions lies in 'real experience' — textbooks won't tell you 'this peak is often misjudged,' but experienced people on forums will."[1]


IV. How to Participate in the Open-Source Spectroscopy Community

4.1 Contributing Code

Even if you are not a seasoned programmer, you can contribute to open-source projects:

Contribution Method Difficulty Value
Report Bug Helps developers find issues
Improve Documentation ★★ Lowers barrier for new users
Translate Interface ★★ Expands tool audience
Add Test Data ★★ Improves test coverage
Implement New Features ★★★ Directly enhances capability
Optimize Algorithms ★★★★ Improves core performance

"The vitality of open-source projects comes from the community. Even a bug report or a documentation improvement is a contribution to the community."[1]

4.2 Sharing Data

Open sharing of spectral data is key to advancing the field:

  • Spectral databases: Share standard spectra (e.g., data sources for ftir.fun)
  • Annotated datasets: Provide training data for machine learning
  • Failure cases: Share 'non-working' spectra to help improve algorithms

4.3 Reporting Bugs and Feature Requests

When encountering issues with open-source tools, don't suffer in silence — submit them on GitHub Issues:

  • Clear description: What happened, what was expected
  • Reproducible example: Attach data and code
  • Environment info: OS, Python version, tool version

V. Comparison of Open-Source Spectroscopy Tools

5.1 Feature Comparison

Tool Language Main Function Feature Target Audience
ftir.fun Web Functional group query, peak position reverse lookup Chinese, ready-to-use Everyone
OpenSpecy R/Python Microplastic analysis Online platform Environmental science
VaporFit Python Atmospheric correction Physical model fitting Transmission method users
Ira JavaScript Peak detection Browser-native Quick analysis
SSIN Python AI functional group identification Explainable AI AI researchers
IR-Bot Python AI robot analysis Automation vision Frontier exploration
Photizo Python Tissue imaging analysis Biomedical Pathology
RamanSPy Python Raman spectroscopy analysis Modular Raman researchers

5.2 Selection Recommendations

If you are a beginner: Start with ftir.fun to learn functional groups and spectrum interpretation.

If you work in environmental science/microplastics: OpenSpecy + ftir.fun.

If you work in biomedicine: Photizo + ftir.fun.

If you work on AI/ML: SSIN + IR-Bot + Python ecosystem.

If you use both IR and Raman: ftir.fun + RamanSPy.

If you need to preprocess large datasets: VaporFit + SciPy + ftir.fun.


6. ftir.fun as a Representative of Domestic Open-Source Tools

Among these international projects, ftir.fun, as a domestic open-source tool, has its unique value:

6.1 Chinese-Friendly

The documentation of international tools is mostly in English, which creates a barrier for domestic beginners. The Chinese interface and annotations of ftir.fun lower the learning cost for domestic users.

6.2 Structured Knowledge

ftir.fun is not just a "tool", but also a "knowledge base". It organizes knowledge such as functional group frequencies, peak shape characteristics, and influencing factors in a structured way, suitable for teaching and self-study.

"ftir.fun represents a unique open-source model—not just opening code, but opening knowledge. Its functional group pages themselves are teaching resources for infrared spectroscopy."[1]

6.3 Complementarity with International Tools

ftir.fun is not in competition with international projects, but complementary:

  • ftir.fun: knowledge query, auxiliary analysis (Chinese, Web)
  • OpenSpecy: microplastic-specific analysis (R/Python)
  • SSIN: AI automatic identification (Python)
  • VaporFit: atmospheric subtraction (Python)

🔗 All functional group pages of ftir.fun:
Carbonyl, Hydroxyl, Alkyl C-H, Ester, Amide, Amine, Carboxyl, Aldehyde, Ether, Aromatic Ring, Nitro, Water Molecule.


7. The Future of Open-Source Spectroscopy Ecosystem

7.1 Trends

Open-source spectroscopy tools are rapidly evolving in several directions:

Trend 1: AI Integration
Projects like SSIN and IR-Bot demonstrate the integration of AI with spectroscopic analysis. More "AI-assisted analysis" tools will emerge in the future.

Trend 2: Web-Based
ftir.fun, Ira, and OpenSpecy Online represent the trend of "browser as tool". Users do not need to install, lowering the barrier.

Trend 3: Standardization
The FAIR principles promote standardization of data formats (JCAMP-DX) and APIs, enabling interoperability between different tools.

Trend 4: Community-Driven
From "single author" to "community collaboration", the sustainability of open-source projects increasingly relies on community contributions.

7.2 Challenges

Open-source spectroscopy tools also face challenges:

  • Sustainability: Maintainers are mostly volunteers, long-term commitment is hard to guarantee
  • Data quality: The quality of spectra in open-source databases varies
  • Recognition: The academic evaluation system does not fully acknowledge software contributions
  • Commercial pressure: How to sustain operations without charging

"The sustainability of open-source tools is a problem that the entire community needs to face together. Users are not only consumers but also contributors—even if it is just reporting a bug."[1]


Summary of This Episode

Project Language Core Function GitHub Link
ftir.fun Web Functional group query, peak position reverse lookup, spectrum analysis ftir.fun
OpenSpecy R/Python Microplastic spectral analysis OpenSpecy-package
VaporFit Python Automated atmospheric subtraction VaporFit
Ira JavaScript FTIR peak detection Analytical Letters 2023
SSIN Python Explainable AI functional group identification SSIN
IR-Bot Python AI robot + IR analysis IR_spe_Analysis
Photizo Python FTIR biological tissue analysis Photizo
RamanSPy Python Raman spectroscopy analysis framework RamanSPy

Core Insight: Open-source tools are reshaping the spectroscopy analysis ecosystem. From ftir.fun's knowledge query, to SSIN's AI identification, to OpenSpecy's microplastic analysis—everyone can be a creator, not just a consumer.


Discussion Questions

  1. The FAIR data principles emphasize "Findable, Accessible, Interoperable, Reusable". If you generate a batch of infrared spectral data in the lab, how would you make the data FAIR-compliant? What needs to be done? What should not be done?

  2. SSIN's "explainable AI" highlights spectral regions related to functional groups via attention mechanisms. Why is this explainability more important in scientific applications compared to "black-box" AI? Can you think of a scenario where "black-box AI might lead to incorrect conclusions"?

  3. Compare the distribution methods of ftir.fun (Web tool) and SSIN (Python package). What are the pros and cons of Web tools vs. local installation packages? In what scenarios should each be chosen?

  4. If you want to contribute to the open-source spectroscopy community but are not a programmer, what can you do? Please list at least three non-programming contribution methods.


References

[1] Open Spectral Community. "Open Source Tools for Spectroscopy." Community White Paper.
https://github.com/topics/spe…

[2] Wilkinson, M. D. et al. "The FAIR Guiding Principles for Scientific Data Management and Stewardship." Scientific Data, 2016, 3:160018.
https://doi.org/10.1038/sdata…

[3] Cowger, W. et al. "OpenSpecy: An Open-Source Platform for Microplastic Spectra Analysis." Environmental Science & Technology, 2021.
https://github.com/wincowgerD…

[4] Bruzdziak, P. et al. "VaporFit: Automated Atmospheric Vapor Subtraction for Infrared Spectra." Physical Chemistry Chemical Physics, 2025.

https://github.com/piobruzd/V…

[5] Analytical Letters. "Ira: A JavaScript Tool for FTIR Peak Detection." Analytical Letters, 2023, 56(16).
https://doi.org/10.1080/00032…

[6] SSIN Project. "Spectral-Spatial Integration Network for Functional Group Recognition." GitHub Repository.
https://github.com/ngs00/SSIN

[7] AI Robotic Chemistry. "IR-Bot: AI Robot for IR Spectral Analysis." GitHub Repository.
https://github.com/pic-ai-rob…

[8] DendrouLab. "Photizo: FTIR Tissue Imaging Analysis." GitHub Repository.
https://github.com/DendrouLab…

[9] Barahona Research Group. "RamanSPy: A Python Framework for Raman Spectroscopy." GitHub Repository.
https://github.com/barahona-r…


Next episode preview: Ep 60 — Series Summary and Learning Roadmap: From Beginner to Expert
The journey of sixty episodes is coming to an end. In the final episode, we will use a comprehensive mind map to review the core knowledge of all six major chapters, plan exclusive learning paths for different roles (students, technicians, graduate students, managers), recommend advanced resources, and look forward to future trends in the field of infrared spectroscopy. This is the finale, and also a new starting point.

Submit Request Form