Metadata-Version: 2.4
Name: nanofinderparser
Version: 0.4.1
Summary: Parse and process Raman and photoluminescence (PL) data files generated by Nanofinder instruments.
Project-URL: Homepage, https://github.com/psolsfer/nanofinderparser
Project-URL: Repository, https://github.com/psolsfer/nanofinderparser
Project-URL: Documentation, https://nanofinderparser.readthedocs.io
Author-email: Pablo Solís-Fernández <psolsfer@gmail.com>
License-Expression: BSD-3-Clause
License-File: AUTHORS.md
License-File: LICENSE
Keywords: nanofinderparser
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: <3.14,>=3.12
Requires-Dist: numpy>=2.1
Requires-Dist: pandas>=2.1
Requires-Dist: pint>=0.24.4
Requires-Dist: pydantic>=2.4.0
Requires-Dist: typer>=0.12
Requires-Dist: xmltodict>=0.10
Description-Content-Type: text/markdown

# NanofinderParser

----


[![Documentation Status](<https://readthedocs.org/projects/nanofinderparser/badge/?version=stable> 'Documentation Status')](<https://nanofinderparser.readthedocs.io/en/stable/>)
[![PyPI - Version](<https://img.shields.io/pypi/v/nanofinderparser.svg?logo=pypi&label=PyPI&logoColor=gold>)](<https://pypi.python.org/pypi/nanofinderparser>)
[![License - BSD-3-Clause](<https://img.shields.io/pypi/l/nanofinderparser.svg>)](<https://spdx.org/licenses/BSD-3-Clause.html>)

Parse and process Raman and photoluminescence (PL) data files generated by Nanofinder instruments.

## Features

- Parse SMD (Scanned Measurement Data) files produced by NanoFinder instruments
- Convert spectral data between different units (nm, cm<sup>-1</sup>, eV, Raman shift)
- Export parsed data to CSV files or pandas DataFrames

## Installation

You can install NanofinderParser using pip:

```bash
pip install nanofinderparser
```

Or using uv to add it to a project:

```bash
uv add nanofinderparser
```

## Quick Start

Here's a simple example of how to use NanofinderParser in python:

```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")
```

You can also use NanofinderParser from the command line:

```shell
# Convert an SMD file to CSV
nanofinderparser convert path/to/your/smd/file.smd output_folder --units nm

# Display information about an SMD file
nanofinderparser info path/to/your/smd/file.smd
```

For more detailed usage instructions, please refer to the [documentation](https://nanofinderparser.readthedocs.io/).

## Credits

This package was created with [Cookiecutter] / [Cruft] and the [Cookiecutter PyPackage uv] project template.

[Cookiecutter]: https://github.com/audreyr/cookiecutter
[Cruft]: https://github.com/cruft/cruft
[Cookiecutter PyPackage uv]: https://github.com/psolsfer/cookiecutter-pypackage-uv
