Локальный просмотрщик Python
Программа просмотр а гиперспектров является примером ПО для чтения, визуализации и первичного анализа гиперспектральных данных.
Для работы программы необходимо наличие на компьютере версии Python 3.7 и выше, а также OpenCV.
Запуск программы из командной строки осуществляется командой
python hyperspecter_viewer.py
.Выход из программы о существляется с помощью клавиши ESC.
Диалог чтения гиперспектральных данных открывается при запуске программы. Также возможно прочитать новый куб, нажав клавишу O (латинскую - Open).
Поддерживается чтение гиперкубов в следующих форматах:
- .npy - внутренний формат модуля numpy Python (по умолчанию)
- .tiff - многослойный GeoTIFF
- .jpg, .jpeg, .png, .bmp - RGB изображения, открываются как гиперкуб с 3 слоями
После чтения гиперкуба открывается окно визуализации гиперкуба (Image) и окно настроек (Settings).

Image - окно визуализации гиперкуба

Settings - окно настроек программы
В окне Settings отображаются следующие настройки:
- layer - номер слоя гиперкуба, отображаемого в окне Image
- red_edge - номер крайнего слоя видимого спектра. Следующие слои после этого слоя считается, что находятся в инфракрасном спектре, и отображаются как чёрно-белые изображения, без использования цветосинтеза
- num_points - количество точек для сравнительного анализа спектра. Возможны значения от 1 до 9
Слои гиперкуба можно сохранить в виде отдельных картинок в формате .png, с помощью клавиши W. Вызывается диалог для выбора имени файла. При сохранении к имени файла добавляется номер слоя гиперкуба.
Кликом левой кнопки мыши в окне Image выделяются точки, гистограмма слоёв гиперспектра для которых отображается в окне hist:

hist - гистограмма спектров выделенных точек
Кликом левой кнопки мыши на окне гистограммы можно выбрать слои, по которым осуществляется расчёт Евклидова расстояния точек гиперкуба (см ниже). По умолчанию выбраны все слои. Клик правой кнопки мыши в окне hist - инвертирует выделение.
Гистограммы спектров выделенных точек гиперкуба можно сохранить в файлы в формате CSV. Диалог выбора имени файла вызывается клавишей S.
В качестве первичного алгоритма анализа гиперкуба используется расчёт Евклидова расстояния (корень из суммы квадратов) для выбранной точки или средней для выбранной прямоугольной области куба.
Точка или область выбирается правой кнопкой мыши а окне Image.
Результат расчёта отображается в окне Distances Map:

Distances Map - карта Евклидовых расстояний спектра
Наиболее похожие на выбранную точку спектры на карте расстояний выделяются более светлым оттенком.
Таким образом можно находить объекты с наиболее похожими спектральными характеристиками.