Локальный просмотрщик Python

Программа просмотра гиперспектров является примером ПО для чтения, визуализации и первичного анализа гиперспектральных данных.

Основной репозиторий программы расположен по адресу: https://github.com/copterspace/hspviewer

Для работы программы необходимо наличие на компьютере версии Python 3.7 и выше, а также OpenCV.

Запуск программы из командной строки осуществляется командой python hyperspecter_viewer.py.

Выход из программы осуществляется с помощью клавиши ESC.

Чтение гиперкуба

Диалог чтения гиперспектральных данных открывается при запуске программы. Также возможно прочитать новый куб, нажав клавишу O (латинскую - Open).

Поддерживается чтение гиперкубов в следующих форматах:

  • .npy - внутренний формат модуля numpy Python (по умолчанию)

  • .tiff - многослойный GeoTIFF

  • .jpg, .jpeg, .png, .bmp - RGB изображения, открываются как гиперкуб с 3 слоями

Просмотр гиперкуба

После чтения гиперкуба открывается окно визуализации гиперкуба (Image) и окно настроек (Settings).

В окне Settings отображаются следующие настройки:

  • layer - номер слоя гиперкуба, отображаемого в окне Image

  • red_edge - номер крайнего слоя видимого спектра. Следующие слои после этого слоя считается, что находятся в инфракрасном спектре, и отображаются как чёрно-белые изображения, без использования цветосинтеза

  • num_points - количество точек для сравнительного анализа спектра. Возможны значения от 1 до 9

Слои гиперкуба можно сохранить в виде отдельных картинок в формате .png, с помощью клавиши W. Вызывается диалог для выбора имени файла. При сохранении к имени файла добавляется номер слоя гиперкуба.

Диаграмма спектра точек гиперкуба

Кликом левой кнопки мыши в окне Image выделяются точки, гистограмма слоёв гиперспектра для которых отображается в окне hist:

Кликом левой кнопки мыши на окне гистограммы можно выбрать слои, по которым осуществляется расчёт Евклидова расстояния точек гиперкуба (см ниже). По умолчанию выбраны все слои. Клик правой кнопки мыши в окне hist - инвертирует выделение.

Сохранение спектров точек в файлы csv

Гистограммы спектров выделенных точек гиперкуба можно сохранить в файлы в формате CSV. Диалог выбора имени файла вызывается клавишей S.

Первичный анализ гиперкуба

В качестве первичного алгоритма анализа гиперкуба используется расчёт Евклидова расстояния (корень из суммы квадратов) для выбранной точки или средней для выбранной прямоугольной области куба.

Точка или область выбирается правой кнопкой мыши а окне Image.

Результат расчёта отображается в окне Distances Map:

Наиболее похожие на выбранную точку спектры на карте расстояний выделяются более светлым оттенком.

Таким образом можно находить объекты с наиболее похожими спектральными характеристиками.

Last updated