Skip to content

Latest commit

 

History

58 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IR/Raman Phase Finder

Open-source Raman and FTIR spectroscopy analysis software for phase identification, spectral database search, peak detection, preprocessing, and publication-ready plotting.

Python Platform License Status

Download IR/Raman Phase Finder

macOS: Download IR_Raman_Phase_Finder_macOS_1.0.3.pkg.

Windows 10/11: Download the current Windows installer 0.1.8 and run it.

All releases: GitHub Releases

More detailed installation notes are below in Installation.

IR/Raman Phase Finder 1.0.3

IR/Raman Phase Finder is a cross-platform desktop application for materials science, mineralogy and chemistry. It imports experimental Raman and infrared spectra, performs baseline correction and peak detection, searches local and downloadable reference databases for candidate phases, and exports publication-ready PNG, JPEG, SVG and PDF figures with editable vector elements.

Overview

IR/Raman Phase Finder is an open-source desktop tool for phase identification from Raman and infrared spectra. It is built for everyday search-match work: load an experimental spectrum, limit chemistry by elements, search local or downloadable spectral sources, preview candidate spectra, inspect metadata and keep selected matches in one project.

The project follows the same Finder application pattern as XRD Analysis Toolkit, but the domain engine is vibrational spectroscopy rather than diffraction.

What It Can Do

  • import Raman and FTIR spectra from text, CSV, JCAMP-DX and common vendor files
  • load user spectral libraries from CSV manifests or folders
  • search Raman and FTIR references separately against the active experiment
  • use required, optional and excluded elements to gate candidate compounds
  • download/cache supported public source data such as RRUFF, ROD, OpenSpecy and JARVIS-DFT
  • preview and tune smoothing, despiking and baseline removal in XRD-style parameter panels
  • normalize spectra by maximum, vector norm, integrated area or SNV
  • export the active processed spectrum, candidate table and plot image
  • preview reference spectra on the active plot before selecting them
  • manage project trees with experiments, libraries, candidates and selected matches
  • save user data, caches, settings and matplotlib state outside the installed program

Data Sources

See Data Sources. Searchable local connectors are provided for user libraries, RRUFF, ROD, OpenSpecy and JARVIS-DFT. SDBS, NIST Chemistry WebBook and SpectraBase are shown separately as external search links; they are not presented as downloadable Finder databases.

Large third-party spectral databases are not bundled with the application. The program provides tools for reading, indexing and caching data that the user is allowed to access.


Typical Workflow

Load experimental Raman or FTIR spectrum
        |
        |
Preprocess and detect bands
        |
        |
Choose active reference sources
(RRUFF / ROD / OpenSpecy / JARVIS-DFT / local folder / CSV library / DFT spectra)
        |
        |
Restrict chemistry with the element table
        |
        |
Search candidate compounds
        |
        |
Preview reference spectra on the active plot
        |
        |
Select likely matches and inspect unexplained bands

Interaction Guide

  • Element table
    • Left click marks an element as required.
    • Right click marks an element as optional.
    • Clicking again removes that element from the gate.
  • Project tree
    • The highlighted experiment is the active spectrum for search and preview.
    • Drop an experimental folder into the window to create XRD-style project series: root files form one series and each direct subfolder forms another.
    • Raman and FTIR spectra can share the same series; their type is detected per file.
    • Select a series before importing separate files to place them there; otherwise they appear under No series.
    • A series checkbox shows or hides all its spectra, while individual checkboxes control single traces.
    • Right click the project, a series, or a spectrum to rename, move, or delete it. Deleting a series keeps its spectra under No series.
    • Use Up and Down to reorder the selected series or spectrum.
    • Use Import → Load reference folder for reference libraries; dropped folders are experimental project data.
  • Candidate list
    • Single click previews the candidate spectrum and metadata.
    • Double click adds a candidate to the selected match set.
  • Selected candidates
    • Use selected matches to compare reference spectra against the experiment.
  • Plot
    • Use normal mouse zoom and pan.
    • View settings are kept in the same style as the XRD Finder View tab.
  • Preprocessing
    • Smooth, Remove background and Despike open parameter panels with live preview.
    • Auto restores conservative defaults, Cancel restores the captured spectrum, and OK applies the preview.

Installation

Download

Latest release assets:

Requirements

Windows installer:

  • Windows 10 or Windows 11, 64-bit recommended.
  • Administrator rights for installation into the selected application folder.
  • Internet access during first setup, because Python or Python packages may need to be downloaded.
  • About 1 GB of free disk space for the shared scientific Python environment.

Source checkout:

  • Python 3.11 or newer, below Python 3.13.
  • pip and Python virtual environment support.
  • Internet access for installing Python packages.

IR/Raman Phase Finder uses the shared per-user Sci runtime:

%LOCALAPPDATA%\Sci\env

User data, downloaded sources, caches and settings are stored under:

%LOCALAPPDATA%\Sci\apps\ir_raman_analysis_toolkit

Logs are stored under:

%LOCALAPPDATA%\Sci\logs\ir_raman_analysis_toolkit

Windows

Download and run:

IR_Raman_analysis_Toolkit_Setup_0.1.8.exe

The installer:

  • installs IR/Raman Phase Finder into the selected application folder
  • creates Start Menu and optional Desktop shortcuts
  • creates or reuses the shared Sci Python environment in user AppData
  • installs required Python packages
  • writes launcher commands into %LOCALAPPDATA%\Sci\bin
  • adds an uninstall entry to Windows

If Python 3.11 is not already available, the setup script first tries winget and then falls back to the official Python 3.11.9 installer from python.org.

macOS / Linux

Source-checkout launchers are available:

./setup_env.command
./run_finder.command
./run_finder.sh

Examples:

./run_raman_example.command
./run_ftir_example.command

Source Checkout Commands

Setup:

setup_env.bat          # Windows
setup_env.command      # macOS
./setup_env.sh         # Linux

Graphical launchers:

run_finder.bat
./run_finder.command
./run_finder.sh

Command-line launchers:

run_finder_cli.bat
raman-finder --experiment sample_raman.xy --library library.csv
ftir-finder --experiment sample_ftir.xy --library library.csv

For normal interactive work, importing spectra and libraries from the application window is preferred.


Local Library Format

Use a CSV manifest as a user reference library. One row points to one reference spectrum file. Raman and FTIR records are separate rows and can be present independently:

source,entry_id,name,formula,kind,path,compound_key
User,quartz_demo,Quartz,SiO2,raman,quartz_raman.xy,User:quartz_demo
User,quartz_demo,Quartz,SiO2,ftir,quartz_ftir.xy,User:quartz_demo

The GUI can also load a whole folder as a user library. It scans supported spectrum files recursively, infers Raman/FTIR from the path name and extracts simple formulas from file names such as Ca2Al2SiO7.txt or CaWO4_2Mo.txt.

Supported by the built-in reader: .txt, .xy, .csv, .tsv, .dat, .asc, .ascii, .prn, .jdx and .dx. The standard setup also installs the optional ramanchada2 backend for .spc, .sp, .spa, Bruker OPUS .0/.1/.2, .wdf, .ngs, .rruf, .spe, .cha, .dpt and related Raman formats.


Repository Structure

IR_Raman_analysis_Toolkit/
    README.md
    pyproject.toml
    setup_env.bat
    setup_env.command
    setup_env.sh

    docs/
        DATA_SOURCES.md
        DATABASE_WORKFLOW.md
        ARDI_NOTES.md

    toolkit/
        manifest.json
        setup_sci_env.bat
        launch_ir_raman_phase_finder_preview.ps1

    installer/
        IR_Raman_Phase_Finder.iss
        build_installer.bat
        clean_payload.bat

    Vibrational_Finder/
        app.json
        finder_core/
            Shared Finder contracts and utilities
        vibrational_finder/
            IR/Raman Phase Finder application source code

    examples/
        Demo Raman/FTIR spectra and library files

    tests/
        Import, matching and source-cache tests

Generated installer files such as IR_Raman_analysis_Toolkit_Setup_1.0.3.exe are not committed to the repository; they are published separately as GitHub Releases assets.

The root IR_Raman_analysis_Toolkit layout keeps shared toolkit files separate from the Vibrational_Finder application folder. This leaves room for additional IR/Raman-related programs later while preserving a clear application boundary.


Scientific Background

The software combines standard vibrational spectroscopy search-match steps:

  • spectral preprocessing
  • baseline correction
  • peak/band detection
  • reference spectrum matching
  • chemistry filtering by formula elements
  • local and downloadable spectral libraries

Core open-source libraries used by the application:

The current implementation is intended for initial phase identification and visual interpretation of Raman and IR spectra. It is not intended to replace full quantitative spectroscopic refinement workflows.


Current Status

Current development stage: 1.0.3.

The application is ready for practical source loading, reference search, candidate preview and selected-match workflows on Windows. Next development work is focused on improving source connectors, scoring, project persistence and packaged release automation.


License

MIT License


Citation

If you use this software in scientific research, please cite this GitHub repository.

IR/Raman Phase Finder
Version 1.0

Open-source software for preliminary phase identification from Raman and FTIR vibrational spectra using open spectral databases, user reference libraries, peak/line indexing, and spectrum matching.

© 2026 Artem B. Kuznetsov
Institute of Geology and Mineralogy SB RAS

MIT License

GitHub:
https://github.com/ABKuznetsov/IR_Raman_analysis_Toolkit

A dedicated software publication describing the Finder workflow for vibrational spectroscopy is planned after the preview architecture stabilizes.


Author

Artem B. Kuznetsov

Institute geology and mineralogy SB RAS

GitHub: https://github.com/ABKuznetsov

Releases

Packages

Contributors

Languages