Локальный просмотрщик Python
Last updated
Last updated
Программа просмотра гиперспектров является примером ПО для чтения, визуализации и первичного анализа гиперспектральных данных.
Основной репозиторий программы расположен по адресу: 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. Диалог выбора имени файла вызывается клавишей S.
В качестве первичного алгоритма анализа гиперкуба используется расчёт Евклидова расстояния (корень из суммы квадратов) для выбранной точки или средней для выбранной прямоугольной области куба.
Точка или область выбирается правой кнопкой мыши а окне Image.
Результат расчёта отображается в окне Distances Map:
Наиболее похожие на выбранную точку спектры на карте расстояний выделяются более светлым оттенком.
Таким образом можно находить объекты с наиболее похожими спектральными характеристиками.