Metadata-Version: 2.1
Name: sptk
Version: 0.1
Summary: The Spectral Parameters Toolkit (SPTK) is a Python package for investigating the ability of a multispectral imaging system to identify distinct materials and material groups through differences in reflectance spectra.
Home-page: https://github.com/rbstabbins/sptk
License: MIT
Keywords: reflectance,spectroscopy,spectral imaging,planetary surfaces,remote sensing,spectral parameters
Author: Roger Stabbins
Author-email: r.stabbins@nhm.ac.uk
Maintainer: Roger Stabbins
Maintainer-email: r.stabbins@nhm.ac.uk
Requires-Python: >=3.10.8,<4.0.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering :: Astronomy
Requires-Dist: click (==8.1)
Requires-Dist: ipykernel (>=6.17.0,<7.0.0)
Requires-Dist: matplotlib (==3.6.2)
Requires-Dist: numpy (==1.23.5)
Requires-Dist: pandas (==1.5.2)
Requires-Dist: pillow (==9.3.0)
Requires-Dist: pysptools (==0.15.0)
Requires-Dist: scikit-learn (==1.1.3)
Requires-Dist: scipy (==1.9.3)
Requires-Dist: seaborn (==0.12.2)
Requires-Dist: statsmodels (==0.13.2)
Requires-Dist: tabulate (==0.8.10)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Project-URL: Repository, https://github.com/rbstabbins/sptk
Description-Content-Type: text/markdown

<p align="center">
  <a href="" rel="noopener">
 <img max-width=960px src="https://github.com/rbstabbins/sptk/blob/main/title.gif?raw=true" alt="Project logo"></a>
</p>

<h3 align="center">sptk: The Spectral Parameters Toolkit</h3>

<div align='center'>

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10692531.svg)](https://doi.org/10.5281/zenodo.10692531)

</div>

---

<p align="center">
<strong>sptk</strong> is a Python package for investigating the ability of a multispectral imaging system to identify distinct materials and material groups through differences in reflectance spectra.
    <br>
</p>

## Table of Contents

- [Table of Contents](#table-of-contents)
- [About ](#about-)
- [Installing ](#installing-)
  - [Prerequisites](#prerequisites)
  - [Installing](#installing)
- [Running the Tests](#running-the-tests)
- [Running the Example Notebooks](#running-the-example-notebooks)
- [Authors](#authors)
- [Citing the Software](#citing-the-software)
- [Acknowledgements](#acknowledgements)

## About <a name = "about"></a>

**sptk** provides a simple interface for:
* simulating the spectral response of an instrument,
* sampling a spectral library with the instrument,
* measuring the reconstruction error of the instrument on the spectral library,
* evaluating the spectral parameters afforded by the instrument,
* evaluating and ranking the ability of the spectral parmameters, and spectral parameter combinations, to separate categories of materials.

## Installing <a name = "installing"></a>

```sptk``` is available via PyPI. 

We recommend downloading a copy of the [https://github.com/rbstabbins/sptk](https://github.com/rbstabbins/sptk) repository, and running the unit tests and working through the example notebooks. 

To run the example notebooks you'll also need to download the accompanying Example Dataset, hosted in the following Zenodo repository: [doi:10.5281/zenodo.10683367](https://zenodo.org/doi/10.5281/zenodo.10683367).

### Prerequisites

First, prepare a new environment with Python=3.10.8, using your environment manager of choice. 

For example, with conda:
```
conda env create -n sptk python=3.10.8
```
and activate the environment:
```
conda activate sptk
```

Currently **sptk** is only available via pip, so make sure you have pip installed on your environment also, e.g.:

```
conda install pip
```


### Installing

Install the latest version of **sptk** with pip:

```
pip install sptk
```
you can also specify the version you'd like to install, e.g.:
```
pip install sptk=0.1
```

## Running the Tests<a name = "running-the-tests"></a>

The ```sptk/tests/``` directory hosts a set of unit tests for each module of the **sptk** package. These have been written for the ```unittest``` unit testing framework.

The unit tests can be executed by navigating to the ```sptk/tests``` directory and running:

```
python -m unittest -v
```

The unit tests provided are comprehensive but not exhaustive. We recommend also executing the example notebooks to test and understand the software.

## Running the Example Notebooks<a name = "running-the-example-notebooks"></a>

We recommend exploring the [example notebooks](./examples/) to become familiar with the software and the placement of directories in the repository.

Please follow the guidelines in the [README.md](./examples/README.md) to download the required [Example Dataset](https://zenodo.org/doi/10.5281/zenodo.10683367) for executing the example notebooks.

The ```sptk/tests/``` directory hosts a set of unit tests for each module of the **sptk** package. These have been written with

## Authors<a name = "authors"></a>

The Spectral Parameters Toolkit was designed and developed by [@rbstabbins](https://github.com/rbstabbins).

See also the list of [contributors](https://github.com/rbstabbins/sptk/contributors) who participated in this project.

## Citing the Software<a name = "citing-the-software"></a>

If you use **sptk** in your research, please provide acknowledgement to the authors with the following citation:

Roger Stabbins, & Grindrod, P. (2024). rbstabbins/sptk: Release v0.1 (v0.1). Zenodo. https://doi.org/10.5281/zenodo.10692531

## Acknowledgements

The development of this software has been funded by the following grants:
- UK Space Agency Aurora Science Programme: Geochemistry to Geology for ExoMars 2020 visible to near infrared spectral variability ST/T001747/1
- UK Space Agency Mars Exploration Science Standard Call 2023: Exploring the Limits of Material Discrimination with CaSSIS Multiband Imaging ST/Y005910/1
