GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ap--/python-seabreeze: Python module for OceanOptics spectrometers

BranchesTags
Open more actions menu

Latest commit

 

History

948 Commits
948 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
dev
dev
 
 
docs
docs
 
 
os_support
os_support
 
 
src
src
 
 
tests
tests
 
 
.flake8
.flake8
 
 
.gitignore
.gitignore
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
.readthedocs.yml
.readthedocs.yml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
LICENSE.md
LICENSE.md
 
 
MANIFEST.in
MANIFEST.in
 
 
README.md
README.md
 
 
pyproject.toml
pyproject.toml
 
 
pytest.ini
pytest.ini
 
 
setup.py
setup.py
 
 

Repository files navigation

Python module for Ocean Optics spectrometers

Conda (channel only) PyPI test build deploy Github All Releases PyPI - Downloads MIT license GitHub issues DOI Github Sponsors

Python-seabreeze is the easy way to access your Ocean Optics spectrometers from python. It wraps the SeaBreeze library provided by Ocean Optics to communicate with the spectrometer. It also provides a pyUSB based reimplementation of SeaBreeze for easy extension. This software is not associated with Ocean Optics. Use it at your own risk.

DOCUMENTATION ON RTD

You'll find the documentation and more detailed information here https://python-seabreeze.readthedocs.io/en/latest/

Changes

The changelog can be found here CHANGELOG.md

Install

# via pypi
pip install seabreeze
seabreeze_os_setup

or

# via conda
conda install -c conda-forge seabreeze
seabreeze_os_setup

Using the backend pyseabreeze in Windows

The backend pyseabreeze requires the libraries pyusb and libusb

# via pypi
pip install seabreeze[pyseabreeze]  # this ensures installation of pyusb

Additionally, you might need to manually install libusb1. Go here https://libusb.info/, Downloads -> Latest Windows Binaries. In the zip file, enter either the folder MinGW64/dll or MinGW32/dll (depending on your OS). Copy the file libusb-1.0.dll into C:\Windows\System32.

Usage

The following example shows how simple it is to acquire a spectrum with python-seabreeze through the model independent Spectrometer class. For a more detailed description read the documentation:

>>> from seabreeze.spectrometers import Spectrometer
>>> spec = Spectrometer.from_first_available()
>>> spec.integration_time_micros(20000)
>>> spec.wavelengths()
array([  340.32581   ,   340.70321186,   341.08058305, ...,  1024.84940994,
        1025.1300678 ,  1025.4106617 ])
>>> spec.intensities()
array([  1.58187931e+01,   2.66704852e+04,   6.80208103e+02, ...,
         6.53090172e+02,   6.35011552e+02,   6.71168793e+02])

To use the pyseabreeze backend (requires pyusb) simply run this before importing seabreeze.spectrometers.

>>> import seabreeze
>>> seabreeze.use('pyseabreeze')
>>> import seabreeze.spectrometers as sb

Supported Devices

Spectrometer cseabreeze pyseabreeze (usb) pyseabreeze (ethernet)
HR2000 x x
HR2000PLUS x x
HR4000 x x
JAZ x x
MAYA2000 x x
MAYA2000PRO x x
MAYALSL x x
NIRQUEST256 x x
NIRQUEST512 x x
QE65000 x x
QE-PRO x x
STS x x
TORUS x x
USB2000 x x
USB2000PLUS x x
USB4000 x x
USB650 Issue #47
SPARK x x
ADC1000 x
HDX Issue #133 x
HR2 x
HR4 x
HR6 x
SR2 x
SR4 x
SR6 x
ST-VIS x

Reading spectra via ethernet

This functionality is currently implemented for the HDX with the pyseabreeze backend. The following example shows how to read a spectrum via ethernet:

>>> import seabreeze
... from seabreeze.spectrometers import Spectrometer
...
... seabreeze.use("pyseabreeze", network_adapter="192.168.254.200")
>>>
>>> spec = Spectrometer.from_serial_number("HDX12345")
>>> spec.intensities()
array([1967.07287765, 1325.69702018, 1418.40732539, ..., 1398.4680335 ,
       1406.44364585, 1397.47109175])

Known Issues

  • USB2000 spectrometers cause Data transfer error due to old firmware Issue #48
  • USB650 not supported Issue #47
  • No conda packages for armv6 (RPI version 1) Issue #46

Contributing Guidelines

If you run into any problems, file an issue and be sure to include the following in your report:

  • Operating system (Linux distribution, Windows version, OSX version) and archictecture (32bit, 64bit, arm)
  • Python version and arch (i.e. Python 2.7.10 64bit)
  • python-seabreeze version

If you want a feature implemented, please file an issue, or create a pull request when you implement it yourself. And if you would like to support me via paypal, click on the paypal donate button on top of this README.

License

Files in this repository are released under the MIT license.

Related Repositories

If you want me to add your project here, let me know. Happy to add it.

  • python-seatease by @jonathanvanschenck - a software emulator of python-seabreeze. Emulates seabreeze's behavior so for testing my code without access to a spectrometer.
  • python-seabreeze-server by @jonathanvanschenck - a TCP-based server to host the seabreeze.cseabreeze backend, allowing multiple clients (potentially offsite) to interact with a single spectrometer.
  • SeaBreeze - Ocean Optics' SeaBreeze C library.
  • libseabreeze - github clone of the C library. internal use only (has pre-built libraries if you know what you're doing)
  • python-seabreeze-feedstock - anaconda feedstock for automated package deployment. internal use only
  • yaqd-seabreaeze - A seabreeze interface for the yaq instrument control framework
  • HTTP bindings - customizable HTTP interface in python along with Web of Things compatibility and ZMQ transport. Based on hololinked

About

Python module for OceanOptics spectrometers

python-seabreeze.readthedocs.io

Topics

hacktoberfestpython-seabreezespectrometersspectroscopy

Resources

Readme
MIT license
Activity

Stars

256 stars

Watchers

17 watching

Forks

91 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.