Ocean Optics Spectrometer

Additional software needed!

To control an Ocean Optics / Ocean Insight spectrometer, the seabreeze package (python-seabreeze on PyPI) must be installed separately, as it is not a flowchem dependency. A libusb driver must also be available for the spectrometer’s USB device: on Windows this typically means installing a WinUSB/libusb-win32 driver for the device (e.g. via Zadig). Additionally, the manufacturer software (OceanView) locks the device while running, so it must be closed before flowchem attempts to open the spectrometer, otherwise an access-denied error is raised.

Introduction

The FlameOptical class controls Ocean Optics / Ocean Insight USB spectrometers (e.g. Flame) via the python-seabreeze library, which can use either the cseabreeze or pyseabreeze backend. flowchem automatically selects a working backend, preferring pyseabreeze on Windows. The device exposes a PhotoSensor component that can acquire spectra/intensities, read the wavelength axis, and configure integration time, scan averaging, and trigger mode.

Configuration

Configuration sample showing all possible parameters:

[device.my-spectrometer]  # This is the device identifier
type = "FlameOptical"
serial_number = "FLMS12345"  # Optional; if omitted, the first available spectrometer is used
backend = "auto"             # Optional: "auto" (default), "cseabreeze", or "pyseabreeze"

Note

Backend selection The backend can also be forced globally via the FLOWCHEM_OCEANOPTICS_BACKEND environment variable, which is used whenever the backend parameter is omitted (i.e. left at its "auto" default).