NanofinderParser
GitHub · PyPI · Docs · Issues
Parse and process Raman and photoluminescence (PL) data files generated by Nanofinder instruments.
Features
- Parse SMD (Scanned Measurement Data) mapping files produced by NanoFinder instruments
- Parse MDT files, which hold individual spectra and 2-D maps rather than a mapping
- Convert spectral data between different units (nm, cm-1, eV, Raman shift)
- Export parsed data to CSV files or pandas DataFrames
Installation
From PyPI
pip install nanofinderparser
or
uv add nanofinderparser
From Source
git clone https://github.com/psolsfer/nanofinderparser.git
cd nanofinderparser
uv sync
Usage
Quick Start
Here's a simple example of how to use NanofinderParser in python:
from pathlib import Path
from nanofinderparser import load_smd
# Load an SMD file
file_path = Path("path/to/your/smd/file.smd")
mapping_data = load_smd(file_path)
# Access basic information
print(f"Laser wavelength: {mapping_data.laser_wavelength} nm")
print(f"Map size: {mapping_data.map_size}")
# Export data to CSV
mapping_data.to_csv(path=Path("output"), spectral_units="raman_shift")
Individual spectra are saved by NanoFinder as MDT files, which are loaded with load_mdt:
from pathlib import Path
from nanofinderparser import load_mdt
spectra = load_mdt(Path("path/to/your/mdt/file.mdt"))
for spectrum in spectra:
print(spectrum.title, spectrum.get_spectral_axis("raman_shift"), spectrum.data)
You can also use NanofinderParser from the command line:
# Convert an SMD file to CSV
nanofinderparser convert path/to/your/smd/file.smd output_folder --units nm
# Convert an MDT file of individual spectra to CSV
nanofinderparser convert-mdt path/to/your/mdt/file.mdt output_folder --units nm
# Display information about a file
nanofinderparser info path/to/your/smd/file.smd
nanofinderparser info-mdt path/to/your/mdt/file.mdt
For more detailed usage instructions, please refer to the documentation.
Command Line Interface
nanofinderparser --help
Python API
import nanofinderparser
# TODO: Add usage examples
Development
Setup
git clone https://github.com/psolsfer/nanofinderparser.git
cd nanofinderparser
uv sync
Install the prek git hook
uv run prek install
Running Tests
uv run pytest
Code Quality
uv run ruff check .
uv run ruff format .
uv run mypy src/nanofinderparser
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Credits
This package was created with Copier and the Copier PyPackage uv project template.
Release files for nanofinderparser 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nanofinderparser-0.7.0.tar.gz | 52.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nanofinderparser-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 111.7 kB
Release files / nanofinderparser-0.7.0.tar.gz
| Download URL | nanofinderparser-0.7.0.tar.gz |
|---|---|
| Size | 52.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a119937442514f41099b704cf36cc049fcffd00ba93714e0f14cceb48464eef
|
|
BLAKE2b-256 checksum How to use checksums |
0a61176df07fce4411b280b11b9f22bc0dc55789ce977f80edf7cfae1a5d1b8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.
Transparency logRelease files / nanofinderparser-0.7.0-py3-none-any.whl
| Download URL | nanofinderparser-0.7.0-py3-none-any.whl |
|---|---|
| Size | 58.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52bbacc13eebcec3d124898147ba46ae35ed98b468229e725c7ec54fc46c0a32
|
|
BLAKE2b-256 checksum How to use checksums |
607f1950c483175ba86cc3e60dccf31fe9c026c5e9398214c02354928cea3f2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.
Transparency log