Skip to content

Документация API

Класс Spectrometer

Класс, предоставляющий высокоуровневую абстракцию для работы со спетрометром

__init__(vendor=1027, product=24596, factory_config=FactoryConfig.default())

При инициализации класса соединение с устройством не открывается.

Parameters:

Name Type Description Default
vendor int

Идентификатор производителя.

1027
product int

Идентификатор продукта.

24596
factory_config FactoryConfig

Заводские настройки

default()

open()

Открывает соединение с устройством.

close()

Закрывает соединение с устройством.

dark_signal: Data | None property

Возвращает текущий темновой сигнал.

read_dark_signal(n_times=None)

Измеряет темновой сигнал.

Parameters:

Name Type Description Default
n_times Optional[int]

Количество измерений. При обработке данных будет использовано среднее значение

None

save_dark_signal()

Сохраняет темновой сигнал в файл.

read_raw(n_times=None)

Получить сырые данные с устройства.

Parameters:

Name Type Description Default
n_times Optional[int]

Количество измерений.

None

Returns:

Type Description
Data

Данные с устройства.

Raises:

Type Description
RuntimeError

Если устройство не открыто.

read(n_times=None, force=False)

Получить обработанный спектр с устройства.

Если устройство еще не было открыто, открывает его автоматически и закрывает после считывания. Если устройство было открыто ранее, оставляет его открытым.

Parameters:

Name Type Description Default
force bool

Если True, позволяет считать сигнал без калибровки по длина волн

False
n_times int

Количество измерений. Если не указано, используется значение из конфига.

None

Returns:

Type Description
Spectrum

Считанный спектр

stop_reading()

Останавливает поток постоянного считывания спектров, если он был запущен через read_non_stop.

read_non_block(callback, frames_to_read, frames_interval=100)

Читает нужное количество кадров в неблокирующем режиме и вызывает callback-функцию для каждого считанного спектра.

Parameters:

Name Type Description Default
callback Callable[[Spectrum], None]

функция-callback для вызова с каждым считанным спектром.

required
frames_to_read int

Максимальное количество кадров для считывания.

required
frames_interval int

Кол-во кадров для считывания в одной итерации цикла.

100

read_non_stop(callback, frames_interval=100)

Непрерывно считывает спектры в отдельном потоке и вызывает callback-функцию для каждого считанного спектра. Для остановки чтения спектров используйте метод stop_reading.

Parameters:

Name Type Description Default
callback Callable[[Spectrum], None]

функция-callback для вызова с каждым считанным спектром.

required
frames_interval int

Кол-во кадров для считывания в одной итерации цикла.

100

Raises:

Type Description
RuntimeError

если поток чтения уже запущен.

config: Config property

Возвращает текущую конфигурацию спектрометра. :rtpe: Config

is_configured: bool property

Возвращает True, если спектрометр настроен для чтения обработанных данных.

set_config(exposure=None, n_times=None, dark_signal_path=None, wavelength_calibration_path=None)

Установить настройки спектрометра. Все параметры опциональны, при отсутствии параметра соответствующая настройка не изменяется.

Parameters:

Name Type Description Default
exposure Optional[int]

Время экспозиции в мс. При изменении темновой сигнал будет сброшен.

None
n_times Optional[int]

Количество измерений

None
dark_signal_path Optional[str]

Путь к файлу темнового сигнала. Если файл темнового сигнала существует и валиден, он будет загружен.

None
wavelength_calibration_path Optional[str]

Путь к файлу данных калибровки по длине волны

None

Класс FactoryConfig

Настройки, индивидуадьные для каждого устройства.

load(path) staticmethod

Загружает заводские настройки из файла.

Parameters:

Name Type Description Default
path str

Путь к файлу заводских настроек

required

Returns:

Type Description
FactoryConfig

Объект заводских настроек

default() staticmethod

Создаёт заводские настройки для тестрирования.

Returns:

Type Description
FactoryConfig

Объект заводских настроек

Класс Data

Сырые данные, полученные со спектрометра

intensity: NDArray[float] instance-attribute

Двумерный массив данных измерения. Первый индекс - номер кадра, второй - номер сэмпла в кадре

clipped: NDArray[bool] instance-attribute

Массив boolean значений. Если clipped[i,j]==True, intensity[i,j] содержит зашкаленное значение

exposure: int instance-attribute

Экспозиция в миллисекундах

n_times: int property

Количество измерений

n_numbers: int property

Количество отсчетов

shape: tuple[int, int] property

Размерность данынх

save(path)

Сохранить объект в файл

load(path) classmethod

Прочитать объект из файла

Класс Spectrum

Bases: Data

Обработанные данные, полученные со спектрометра. Содержит в себе информацию о длинах волн измерения. В данный момент обработка заключается в вычитании темнового сигнала.

wavelength: NDArray[float] instance-attribute

длина волны фотоячейки