Skip to main content

DOI

shimadzu-fnirs-converter

Shimadzu fNIRS TXT → SNIRF (.snirf) & MNE FIF (.fif)

Convert Shimadzu proprietary TXT exports into open neuroimaging formats for modern, reproducible pipelines.

Shimadzu raw files are not directly compatible with most analysis toolkits.
This package converts them into SNIRF (standard) and MNE FIF (native) formats for seamless use in Python/MATLAB ecosystems.

Compatible with:

  • MNE-Python
  • Homer3
  • NIRS-KIT
  • Brainstorm
  • any SNIRF workflow

Features

  • TXT → SNIRF
  • TXT → MNE FIF (native Raw object)
  • Optode/channel geometry parsing
  • Origin / others coordinate support
  • Event & trigger integration
  • Python API + CLI
  • Batch processing
  • NumPy 2 compatible
  • pytest tested
  • Zenodo DOI archived releases

Installation

From PyPI (recommended)

pip install shimadzu-fnirs-converter

### Development install
```bash
git clone https://github.com/Aria031/shimadzu-fnirs-converter
cd shimadzu-fnirs-converter
pip install -e .

Quick Start

Python API

Save both FIF + SNIRF

from shimadzu_fnirs_converter import convert

convert(
    txt_path="raw_data.TXT",
    origin_path="origin.csv",
    others_path="others.csv",
    out_fif="sub01_raw.fif",
    out_snirf="sub01_raw.snirf",
    subject="sub-01",
)

Save only FIF (MNE)

from shimadzu_fnirs_converter import convert_fif

convert_fif(
    txt_path="raw_data.TXT",
    origin_path="origin.csv",
    others_path="others.csv",
    out_fif="sub01_raw.fif",
    subject="sub-01",
)

Save only SNIRF

from shimadzu_fnirs_converter import convert_snirf

convert_snirf(
    txt_path="raw_data.TXT",
    origin_path="origin.csv",
    others_path="others.csv",
    out_snirf="sub01_raw.snirf",
    subject="sub-01",
)

Batch conversion

from shimadzu_fnirs_converter import convert_batch

jobs = [
    dict(
        txt_path="sub01.TXT",
        origin_path="origin.csv",
        others_path="others.csv",
        out_fif="sub01.fif",
        subject="sub-01",
    ),
    dict(
        txt_path="sub02.TXT",
        origin_path="origin.csv",
        others_path="others.csv",
        out_fif="sub02.fif",
        subject="sub-02",
    ),
]

convert_batch(jobs)

Command Line

shimadzu-fnirs-converter --help

Example:

shimadzu-fnirs-converter \
  --txt sub01_run1.TXT \
  --origin optodes_origin.csv \
  --others optodes_others.csv \
  --out sub01_raw.fif \
  --snirf sub01_raw.snirf \
  --subject sub-01

Requirements

  • Python ≥ 3.9
  • numpy ≥ 2.0
  • pandas ≥ 2.0
  • h5py ≥ 3.10
  • mne ≥ 1.6

Citation

@software{dong2026shimadzu,
  author  = {Dong, Jiaran and Zhang, Jingyan and Feng, Chen},
  title   = {shimadzu-fnirs-converter: Shimadzu fNIRS TXT to SNIRF/FIF converter},
  year    = {2026},
  doi     = {10.5281/zenodo.18605987},
  url     = {https://doi.org/10.5281/zenodo.18605987}
}

License

MIT License

Authors

Jiaran Dong, Jingyan Zhang, Chen Feng

Metadata

Release files for shimadzu-fnirs-converter 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shimadzu-fnirs-converter 0.1.2
File Size Uploaded
shimadzu_fnirs_converter-0.1.2.tar.gz 28.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for shimadzu-fnirs-converter 0.1.2
File Interpreter ABI Platform
shimadzu_fnirs_converter-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 56.6 kB

Release files / shimadzu_fnirs_converter-0.1.2.tar.gz

Download URL shimadzu_fnirs_converter-0.1.2.tar.gz
Size 28.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8c42b3e916c9990a28d02bbd049b699c2f4d5fdcb99bc13f79d7f989bf92c6b5
BLAKE2b-256 checksum
How to use checksums
11d15507da259dc5f2abcf5f0b14dc873d2c32e46dfa176275188d2df01c9b0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / shimadzu_fnirs_converter-0.1.2-py3-none-any.whl

Download URL shimadzu_fnirs_converter-0.1.2-py3-none-any.whl
Size 28.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41d8c68da40e63f753070bf96211401420e0a22b7e790373b628be5e8e67f36a
BLAKE2b-256 checksum
How to use checksums
c2600363c409115da90b1a3b95d9762838b5587bfd754551f21a92fa31f6506a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page