Документация 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
|
Если |
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
длина волны фотоячейки