Open-source near-infrared spectroscopy tools

NIRS tools for Studio, core aggregate, formats, datasets, methods, pipelines, papers, and browser modelling

nirs4all is an open-source ecosystem for NIR spectroscopy workflows: use Studio, share UI components, consume the portable core aggregate, read vendor files, assemble datasets, run chemometric methods, publish reproducible pipelines, benchmark results, and inspect ecosystem health.

Find the right nirs4all tool

Use this page when searching for open-source NIRS software, Studio tooling, the portable core aggregate, shared UI components, provider clients, near-infrared spectroscopy file readers, PLS tools, reproducible NIRS datasets, or browser-based spectroscopy modelling.

nirs4all

Python reference library for preprocessing spectra, building DAG-ML pipelines, visualizing results, and deploying NIRS models. An R package and WebAssembly bindings share its native method engine, so recipes and trained models move between Python, R and the browser.

PythonRWASMchemometrics
Open nirs4all.org

nirs4all-studio

Explore spectra, build pipelines and inspect predictions without writing code. Studio 0.14.0 runs on a native backend with a bundled nirs4all 1.3 runtime and offers every nirs4all-methods estimator as a pipeline node. One installer per operating system and a Docker image are available.

desktopElectron0.14.0
Studio 0.14.0 installers and Docker

quali-nirs4all

Beta guided browser application for NIRS labs: check data health and repeats, select HPLC or wet-chemistry samples, calibrate, qualify predictions, and maintain models through a pedagogical workflow.

laboratoryWASMbeta
Open quali.nirs4all.org Open the source repository

nirs4all-device

Prototype phone and tablet workbench for connected NIRS spectrometers, with Bluetooth capture, field sessions, quality gates, local storage, and portable inference. Hardware files and a build guide for a DIY NIRS device are coming soon.

mobileBluetoothprototype
Open device.nirs4all.org Open the source repository

nirs4all-ui

Published React/TypeScript package of reusable components, runtime status helpers, score helpers, default CSS tokens, brand generators, and packaged visual assets for Studio, Web, and custom app hosts.

ReactnpmPages
Open component showcase

nirs4all-providers

Dependency-light Python provider clients over datasets and repository contracts. Benchmarks and papers keep their own public APIs. Read-side only, soft-importing, with package and source-repository surfaces.

providerscontractspublished
Open provider page Open source repo

nirs4all-tools

Published V1 preservation toolkit for read-only inspection and checksummed copy-only migration with dry-run, resume and verify. Semantic workspace conversion fails closed instead of claiming unsupported completeness.

migrationCLIrelease assets
Open nirs4all-tools releases Open nirs4all-tools on PyPI

nirs4all-formats

Rust and WebAssembly readers for vendor NIRS and spectroscopy file formats, with an in-browser demo that keeps files local.

file formatsWASMRust
Open formats.nirs4all.org

nirs4all-datasets

Citable catalog of raw NIRS reference datasets with provenance, access tiers, statistics, DOI links, and byte-free identity cards.

datasetsDOIprovenance
Open datasets.nirs4all.org

nirs4all-methods

Published portable C++17 libn4m methods engine with a stable C ABI, language bindings, parity reports, and scientific documentation mapping 209 method pages to 88 bibliography entries.

PLSC ABIbindings
Open methods.nirs4all.org

nirs4all-aom

Python/sklearn package for AOM-PLS, POP-PLS, AOM-Ridge and FastAOM models used by the adaptive-model paper companion workflows.

Pythonsklearnadaptive models
Open nirs4all-aom on PyPI Open source repo

nirs4all-web

Full-WASM browser workbench for uploading spectra, building a pipeline, running cross-validated PLS or PLS-DA, and predicting locally.

browserWASMmodelling
Open web.nirs4all.org

nirs4all-cluster

Trusted-LAN beta for distributing nirs4all execution across lab machines with a FastAPI coordinator, SQLite queue, capability routing, and crash-safe leases. It is a validation bench, not a public multi-tenant service.

clusterschedulerbeta
Open nirs4all-cluster

nirs4all-io

Dataset assembly bridge and browser dataset builder for turning spectra and sidecars into validated nirs4all dataset specifications.

dataset buildersidecarsvalidation
Open io.nirs4all.org

nirs4all-repository

Public beta catalog of pre-configured NIRS pipeline recipes for nirs4all and dag-ml, with provenance, checksums, and per-recipe validation status.

pipelinesrecipesbeta
Open repository.nirs4all.org

nirs4all-papers

Reproduction-document publisher for deposited papers, methods, bibliography, sidecars, and live in-browser pipeline replay.

papersreproducibilityreplay
Open papers.nirs4all.org

nirs4all-benchmarks

Prototype static benchmark arena for scored, reproducible NIRS pipeline comparisons and dataviz.

benchmarksscoresdataviz
Open benchmarks.nirs4all.org

NIRS tools by task

TaskUseTool
Read vendor spectraDecode spectroscopy files locally in the browser or from Rust bindings.nirs4all-formats
Build datasetsCombine spectra, targets, metadata, sidecars, and validations into one dataset specification.nirs4all-io
Find reference dataBrowse NIRS datasets with provenance, license, DOI, and statistical identity cards.nirs4all-datasets
Run methodsUse portable PLS and NIRS methods through C, Python, R, MATLAB, JavaScript, and other bindings.nirs4all-methods
Work in RRun NIRS pipelines on the same native methods from R, and exchange recipes and trained models with Python and the browser.nirs4all for R
Run adaptive modelsUse the paper companion implementation of AOM-PLS, POP-PLS, AOM-Ridge and FastAOM estimators.nirs4all-aom
Use a desktop appBuild and inspect NIRS workflows with Studio 0.14.0.Studio 0.14.0 installers and Docker
Guide routine lab workAssess spectral data, select reference analyses, calibrate, qualify predictions, and maintain NIRS models in a guided browser workflow.quali-nirs4all (beta)
Capture spectra in the fieldConnect a mobile device to a Bluetooth NIRS spectrometer, organize sessions, check capture quality, and run portable inference.nirs4all-device (prototype)
Use the portable aggregateIntegrate the published DAG-ML, data, format, IO, dataset, and method stack through one package.nirs4all-core
Share UI componentsReuse the published Studio/Web package, runtime badges, status view models, score helpers and brand assets.nirs4all-ui
Read provider contractsConsume datasets and repository descriptors through one soft-importing read-side client layer; benchmarks and papers keep their own APIs.nirs4all-providers
Preserve saved artifactsInspect legacy workspaces, then create a disjoint, checksummed copy-only archive. Semantic conversion is explicitly unavailable in V1.nirs4all-tools
Model in the browserUpload spectra, build a pipeline, run cross-validation, inspect results, and predict without a backend.nirs4all-web
Distribute lab executionRoute trusted-LAN jobs across local lab machines with scheduler, leases, capability matching, and crash recovery.nirs4all-cluster
Reuse pipelinesBrowse pipeline recipes with provenance and checksums; validation status is recorded per recipe.nirs4all-repository
Publish reproducible workDeposit paper bundles with methods, bibliography, reproducibility sidecars, and live replay.nirs4all-papers
Monitor qualityTrack benchmarks, package health, releases, CI, and ecosystem status.benchmarks and cockpit