Skip to content

Welcome to SiaPy

Sublime's custom image

Spectral imaging analysis for Python (SiaPy) is a tool for efficient processing of spectral images

Test Coverage Package version DOI Supported Python versions


Source Code: https://github.com/siapy/siapy-lib

Bug Report / Feature Request: https://github.com/siapy/siapy-lib/issues/new/choose

Documentation: https://siapy.github.io/siapy-lib/


๐Ÿ“š Overview

SiaPy is a versatile Python library designed for processing and analyzing spectral images. It is particularly useful for scientific and academic purposes, but it also serves well for quick prototyping.

Key Features

  • Image Processing: Easily read, display, and manipulate spectral image data.
  • Data Analysis: Perform in-depth analysis of spectral signatures using advanced analytical techniques.
  • Machine Learning Integration: Select image regions for training models and segment images using pre-trained models.
  • Camera Co-registration: Align multiple cameras and compute transformations across different camera spaces.
  • Radiometric Conversion: Convert radiance to reflectance using reference panels.

To make some of the functionality more easily accessible, a command line interface (CLI) is also provided. See siapy-cli. However, the full functionality can be exploited by using the library directly.

๐Ÿ’ก Installation

To install the siapy library, use the following command:

pip install siapy

For detailed information and additional options, please refer to the instructions.

๐Ÿ’ป Examples

from pathlib import Path
from siapy.entities import SpectralImageSet

data_dir = "~/data"

header_paths = sorted(Path(data_dir).rglob("*.hdr"))
image_paths = sorted(Path(data_dir).rglob("*.img"))

imageset = SpectralImageSet.spy_open(
    header_paths=header_paths,
    image_paths=image_paths,
)
print(imageset)

For an overview of the key concepts and functionalities of the SiaPy library, please refer to the documentation. Additionally, explore the use cases that demonstrate the library's capabilities here.

๐Ÿ” Contribution guidelines

We always welcome small improvements or fixes. If youโ€™re considering making more significant contributions to the source code, please contact us via email.

Contributing to SiaPy isnโ€™t limited to coding. You can also:

  • Help us manage and resolve issues, both new and existing.
  • Create tutorials, presentations, and other educational resources.
  • Propose new features.

Not sure where to start or how your skills might fit in? Donโ€™t hesitate to reach out! You can contact us via email, or connect with us directly on GitHub by opening a new issue or commenting on an existing one.

If youโ€™re new to open-source contributions, check out our guide for helpful tips on getting started.

๐Ÿ• Issues and new features

Encountered a problem with the library? Please report it by creating an issue on GitHub.

Interested in fixing an issue or enhancing the libraryโ€™s functionality? Fork the repository, make your changes, and submit a pull request on GitHub.

Have a question? First, ensure that the setup process was completed successfully and resolve any related issues. If youโ€™ve pulled in newer code, you might need to delete and recreate your SiaPy environment to ensure all the necessary packages are correctly installed.

๐Ÿค License

This project is licensed under the MIT License. See LICENSE for more details.