Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

seabreeze

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

seabreeze

Python interface module for Ocean Optics spectrometers. This software is not associated with Ocean Optics. Use it at your own risk.

  • 2.10.0
  • PyPI
  • Socket score

Maintainers
2

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

Spectrometercseabreezepyseabreeze (usb)pyseabreeze (ethernet)
HR2000xx
HR2000PLUSxx
HR4000xx
JAZxx
MAYA2000xx
MAYA2000PROxx
MAYALSLxx
NIRQUEST256xx
NIRQUEST512xx
QE65000xx
QE-PROxx
STSxx
TORUSxx
USB2000xx
USB2000PLUSxx
USB4000xx
USB650Issue #47
SPARKxx
ADC1000x
HDXIssue #133x
HR2x
HR4x
HR6x
SR2x
SR4x
SR6x
ST-VISx

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.

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

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc