1. Общие сведения
Программа предназначена для управления лазерным сканирующим конфокальным микроскопом, а также сбора и обработки экспериментальных данных. Поддерживаются следующие типы измерений:
- спектры люминесценции;
- спектры оптически детектируемого магнитного резонанса (ОДМР);
- двух- и трёхмерные карты распределения люминесценции;
- топографические карты поверхности.
Дополнительно реализовано исполнение управляющих программ в формате G-кода (раздел 8), что позволяет использовать микроскоп для задач лазерной литографии и субтрактивной обработки материалов.
Визуализация данных обеспечивает интерактивное управление отображением: масштабирование, панорамирование, вращение трёхмерных сцен (раздел 5), настройку цветовых карт и динамическое изменение отображаемого диапазона.
Обработка данных выполняется через нодовый редактор (раздел 11). Доступны алгоритмы фильтрации, нормализации, статистического анализа, геометрических преобразований и деконволюции с использованием функции рассеяния точки (PSF) оптической системы и без неё.
1.1 Поддерживаемое оборудование
Программа не привязана к конкретным моделям устройств. При наличии документации на протокол обмена могут быть подключены приборы следующих категорий:
- двухкоординатные отклоняющие системы (сканеры пучка);
- трёхкоординатные позиционеры предметного стола;
- детекторы оптического излучения;
- монохроматоры;
- генераторы СВЧ-сигналов.
Настройка протоколов выполняется через конфигурационные файлы (раздел 13) и сборщик команд (раздел 10.3). Модификация исходного кода не требуется.
2. Установка и первый запуск
Программа поставляется в двух видах и может быть получена на сайте проекта confocalsoft.ru. Для установки портативной версии:
- Распакуйте архив с портативной версией в выбранную директорию.
- Запустите
Confocal Soft.exe.
Для стационарной версии:
- Запустите файл установки и следуйте инструкциям.
- По завершении запустите
Confocal Soft.exe.
При первом запуске в папке service_files/ автоматически создаётся структура конфигурационных файлов со значениями по умолчанию. Состав конфигурационных файлов и их назначение приведены в разделе 13.
3. Интерфейс программы
3.1 Главное окно
При запуске восстанавливается последнее использовавшееся окно. Основные элементы главного окна:
- Строка меню — доступ к общему функционалу программы.
- Панель состояния интерфейсов (слева внизу) — индикация подключённых устройств и их статуса.
- Панель сообщений (справа внизу) — вывод информационных сообщений и ошибок.
- Строка статуса (по центру внизу) — текущее активное окно или выполняемая задача.
3.2 Переключение между окнами
- через меню «Окно» — выбор нужного окна из списка;
- горячими клавишами (комбинации указаны в соответствующих разделах руководства).
Перечень рабочих окон: сканирование — раздел 4, спектрометр — раздел 6, ОДМР — раздел 7, G-код — раздел 8, нодовый редактор — раздел 11.
4. Двухкоординатное сканирование (2D)
4.1 Режимы сканирования
- Комбинированное сканирование. Перемещение по X и Y — сканером пучка; по Z — позиционером. Высокая скорость в плоскости XY при ограниченном угле.
- Сканирование позиционером. Все три координаты (X,Y,Z) отрабатываются позиционером стола. Позволяет сканировать большие области, исключает аберрации.
4.2 Параметры сканирования
| Параметр | Описание |
|---|---|
| Начальные координаты X₀, Y₀, Z₀ | Точка начала области сканирования |
| Конечные координаты X₁, Y₁, Z₁ | Точка конца области сканирования |
| Шаг dX, dY, dZ | Расстояние между соседними точками по каждой оси |
| Время накопления | Время регистрации сигнала в точке |
4.3 Оценка времени сканирования
Полное время:
где Ni = ⌊(X1i − X0i) / di⌋ + 1 — число точек по оси; taccum — время накопления; tlosses — накладные расходы на одну точку.
Накладные расходы включают время передачи команды, приёма ответа, задержки ОС. Для типовой конфигурации (6 байт, 115200 бод): ttx ≈ 0,42 мс, tlosses ≈ 1,8 мс.
4.4 Повторное сканирование ROI
После завершения сканирования на изображении можно выделить прямоугольную область. Параметры обновляются под выделенную область, что позволяет пересканировать участок без повторного ввода координат.
5. Трёхмерная визуализация (3D)
Требуется OpenGL 3.2 или выше.
5.1 Режимы отображения
- Воксельный бесцветный. Сетка вокселей с отображением по порогу интенсивности.
- Воксельный цветной. Цвет вокселя зависит от интенсивности.
- Поверхность. Набор точек с натянутой поверхностью.
- Объёмный. Облако точек с цветом и прозрачностью по интенсивности. Рекомендуется для люминесценции.
5.2 Просмотр срезов
Режим просмотра отдельных слоёв по оси Z. Навигация ползунком или кнопками. Возврат к 3D без потери данных.
6. Спектрометрические измерения
6.1 Параметры сканирования
| Параметр | Описание |
|---|---|
| Начальная длина волны | Левая граница, нм |
| Конечная длина волны | Правая граница, нм |
| Шаг сканирования | Шаг перестройки, нм |
| Время накопления | Время регистрации сигнала, мс |
| Число повторений | Количество проходов диапазона |
6.2 Режимы работы монохроматора
- Пошаговый. Остановка на каждой длине волны. Максимальная точность.
- Непрерывный. Без остановки; выше скорость, возможен сдвиг данных.
6.3 Опорный спектр
Регистрируется без образца или с эталоном. Все последующие спектры отображаются с вычитанием опорного. Применяется при измерениях поглощения и люминесценции.
7. Измерения ОДМР
Параметры аналогичны спектральному сканированию, но диапазон в МГц, шаг соответствует перестройке частоты СВЧ-генератора.
7.1 Случайный режим
При длительных измерениях возможен локальный перегрев образца. Частоты перебираются в псевдослучайном порядке, тепловая нагрузка распределяется равномерно. Рекомендуется для чувствительных образцов.
8. Управление по G-коду
8.1 Поддерживаемые команды
| Код | Формат | Описание |
|---|---|---|
| G00 | G00 X... Y... | Быстрое перемещение |
| G01 | G01 X... Y... F... | Линейная интерполяция |
| M03 | M03 | Включение лазера |
| M05 | M05 | Выключение лазера |
| F | F... | Скорость подачи, LSB/с |
| S | S... | Мощность лазера, % |
| G04 | G04 P... | Пауза, с |
8.2 Загрузка программ
Поддерживаются .gcode, .nc, .txt, а также SVG (с автоматической конвертацией).
8.3 Параметры обработки траектории
| Параметр | Описание |
|---|---|
| Смещение X, Y | Сдвиг траектории, LSB |
| Масштаб X, Y | Коэффициенты масштабирования |
| Поворот | Угол поворота, градусы |
| Масштаб F | Множитель скорости подачи |
9. Организация данных
9.1 Структура
- Ветвь — соответствует эксперименту. Содержит комментарий, время, описание.
- Лист — единичное измерение (матрица, спектр).
При завершении измерения данные автоматически помещаются в дерево как новый лист. Ветвь определяется автоматически по совпадению параметров эксперимента.
9.2 Операции
| Действие | Результат |
|---|---|
| Клик по иконке «глаз» | Показать/скрыть данные на графике |
| Клик по иконке «корзина» | Удалить элемент |
| Клик по иконке «дискета» | Открыть диалог сохранения |
| Двойной клик по имени | Переименовать |
| Ctrl + клик | Выделить несколько элементов |
Перемещение листов между ветвями — перетаскиванием (только при совпадении параметров эксперимента).
10. Настройка подключений и оборудования
10.1 Создание интерфейса связи
Поддерживаются Serial и Ethernet. Меню «Настройки» → «Соединение» → «+ Добавить».
Serial: порт, скорость, длина слова, чётность, стоп-биты, таймаут.
Ethernet: IP-адрес, TCP-порт, таймаут соединения/ответа.
10.2 Добавление устройства
Пять групп: сканеры пучка, детекторы, позиционеры, монохроматоры, СВЧ-генераторы. Меню «Настройки» → «Устройства» → «+ Добавить».
- Сканеры пучка: пределы отклонения, коэффициенты пересчёта LSB→мкм, компенсация гистерезиса.
- Детекторы: время накопления, период опроса, уровень компаратора.
- Монохроматоры: скорость, ускорение, токи, число шагов на 1 нм.
- Позиционеры: рабочая область, коэффициенты пересчёта, ускорение.
- СВЧ-генератор: диапазон частот, выходная мощность.
10.3 Сборщик команд
Настраивается формат посылок без правки кода.
- Бинарный формат: стартовое слово, адрес, код команды, поле длины, контрольная сумма (XOR, CRC16/32), данные.
- ASCII-формат: префиксы/суффиксы, разделители, терминатор, кодировка.
11. Обработка данных (нодовый редактор)
11.1 Принцип работы
Пользователь соединяет функциональные блоки (ноды) в граф; данные передаются по соединениям, преобразуясь на каждом шаге. Входные/выходные ноды оперируют целыми ветвями.
11.2 Категории нод
- DATA_IO: загрузка/экспорт из файлов и окон.
- MATH: арифметика, нормализация, статистика, PCA.
- FILTERS: сглаживание, шумоподавление, выделение границ, деконволюция.
- TRANSFORMS: геометрические преобразования, ROI, вычитание базовой линии.
- AVERAGING: простое, взвешенное, робастное усреднение.
- SEGMENTATION: пороговая обработка, водораздел, k-means.
- VISUALIZATION: гистограммы, отображение изображений, экспорт.
11.3 Типы данных
| Цвет сокета | Тип | Пример |
|---|---|---|
| Оранжевый | Универсальный | Любые данные |
| Синий | 2D-матрица | Изображение (скан) |
| Зелёный | Спектр | Массив (X, Y) |
| Красный | Число | Скаляр |
Сокеты разных цветов не соединяются. Граф выполняется от входных нод к выходным. Тяжёлые операции — в отдельном процессе.
12. Экспорт результатов
Диалог сохранения: Ctrl+S, меню «Файл» → «Сохранить» / «Сохранить как», или кнопка в дереве данных.
12.1 Форматы
| Тип данных | Форматы |
|---|---|
| Матрицы (сканы) | csv, dat, h5, hdf5, npy, npz, tif, tiff, txt |
| Спектры | csv, dat, json, npy, npz, txt |
12.2 Параметры сохранения
- Группировка в файл — все листы ветви в один файл.
- Добавление даты/времени — префикс к имени.
- Включение заголовка — заголовки столбцов в файл данных.
- Открыть папку после сохранения — автоматическое открытие директории.
13. Конфигурационные файлы
Размещаются в папке service_files/.
| Файл | Назначение |
|---|---|
devices_settings.json | Параметры устройств, команд и протоколов |
profiles_settings.json | Профили подключений (COM, Ethernet) |
app_state.json | Состояние программы на момент закрытия |
UI_settings.ini | Геометрия и положение окон |
themes/*.qss | Стили оформления интерфейса |
Внимание: перед редактированием любого конфигурационного файла создайте резервную копию.