Skip to main content

Library to calibrate, trigger and capture data cubes for the open source hyperspectral camera.

Project description

Welcome to the Open Source DIY Hyperspectral Imager Library

Library to calibrate, capture and process data cubes for the open source DIY hyperspectral camera.

This Python library is licensed under the Apache v2 License. The documentation is licensed under a Creative Commons Attribution 3.0 Australia License.

Documentation can be found here: https://openhsi.github.io/openhsi/.

Install

pip install openhsi

or

conda install -c openhsi openhsi

The source code can be found on GitHub.

Requirements

  • Python 3.7+

Depending on your camera sensor, install:

Development and Contributions

This whole software library, testing suite, documentation website, and PyPI/conda package was developed in Jupyter Notebooks using nbdev. {% include important.html content='This library is under active development and new features are still being added. ' %}

Citation

If OpenHSI has been useful for your research, please acknowledge the project in your academic publication. We have a publication in progress.

@Article{        mao2022openhsi,
 title         = {OpenHSI: A complete open-source hyperspectral imaging solution for everyone},
 author        = {Yiwei Mao, and Christopher H. Betters, et al.},
 year          = {2022},
 journal       = {},
}

How to use

{% include tip.html content='For more detailed instructions, please see the tutorials in the sidebar of the documentation site. ' %}

Taking a single hyperspectral datacube

The example shown here uses a simulated camera for testing purposes. Replace SimulatedCamera with the appropriate Python class for your own camera to work with real hardware. For example, use LucidCamera imported from openhsi.cameras inplace of SimulatedCamera.

from openhsi.capture import *

with SimulatedCamera(img_path="assets/rocky_beach.png", n_lines=1024, processing_lvl = 3,
                    json_path="assets/cam_settings.json",pkl_path="assets/cam_calibration.pkl") as cam:
    cam.collect()
    fig = cam.show(plot_lib="matplotlib",robust=True)
Allocated 417.15 MB of RAM.


100%|██████████| 1024/1024 [00:22<00:00, 46.17it/s]
fig.opts(fig_inches=7,title="simulated hyperspectral datacube")

{% include tip.html content='For more information on how to use this library, check out our Quick Start Guide.' %}

Hardware cameras

The hardware consists of a collimator tube with a slit (1) mounted in a 3D printed housing (2). A diffraction grating (3) is used to split the incoming light into its component colours to be detected on the camera sensor (4).

We have the following implementations in cameras module:

  • WebCamera
  • XimeaCamera
  • LucidCamera
  • FlirCamera

These all have the same interface so in principle, these OpenHSI cameras can be used interchangeably as long as you have the right calibration files.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openhsi-0.2.2.tar.gz (10.6 MB view details)

Uploaded Source

Built Distribution

openhsi-0.2.2-py3-none-any.whl (270.2 kB view details)

Uploaded Python 3

File details

Details for the file openhsi-0.2.2.tar.gz.

File metadata

  • Download URL: openhsi-0.2.2.tar.gz
  • Upload date:
  • Size: 10.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 pkginfo/1.8.2 readme-renderer/27.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.10.0 keyring/23.4.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.1

File hashes

Hashes for openhsi-0.2.2.tar.gz
Algorithm Hash digest
SHA256 1386327c304aa1260a52633324627ba1ed22b3b0e396f17e3484c66464bf4d90
MD5 bd4f205327625b811c9e59e71aaaaf1e
BLAKE2b-256 dcdcf52ba1f23924c1db4a896b524d107bc2d33af0c155c17545bacf9c8908be

See more details on using hashes here.

File details

Details for the file openhsi-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: openhsi-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 270.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 pkginfo/1.8.2 readme-renderer/27.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.10.0 keyring/23.4.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.1

File hashes

Hashes for openhsi-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5e6ad0faaa275bd4fa29e02096556eb856bb04ac1623badd127c6e63c84f512c
MD5 1ef927e59475f0c5cc43991de86f3e56
BLAKE2b-256 d16638a3ad699194cdb87dfd0f97310ba11f1188aa48f49a306c59e37aff0a6a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page