Спектральная библиотека

Спектральная библиотека — это хранилище спектров с метаданными. Каждый спектр содержит ту же информацию, что и соответствующий блок данных: набор значений и соответствующих им длин волн, (опционально) область интереса, соответствующую спектру, информацию о единицах измерения.

Свойства спектров

Каждый спектр содержит набор метаданных — свойств и соответствующих им значений. Каждое свойство имеет имя, которое может быть любой непустой строкой. Нельзя добавить в спектр несколько свойств с одинаковым именем. Существует несколько стандартных свойств:

  • Название — отображается в списке спектров, соответствует заголовку блока в проекте.
  • Единицы измерения — записывается при импорте из проекта, если в исходном блоке есть информация о единицах измерения.
  • Наименьшая длина волны, наибольшая длина волны
  • Расположение - записывается при импорте из проекта, содержит информацию о географическом расположении объекта. Это свойство нельзя изменить или удалить.
  • Содержит статистику - если к спектру приложены статистические спектры, то это свойство устанавливается в «да».

Также пользователь может создавать свойства с произвольными именами.

Каждому свойству спектра соответствует некоторое значение. Значение может иметь один из следующих типов: строка, число, дата, дата и время, логическое (да/нет). Значение не может быть пустым.

Файл библиотеки

Библиотека хранится в одном файле с расширением .asl. Создать или открыть библиотеку можно с помощью окна выбора проекта. Файл сохраняется автоматически сразу после внесения изменений.

Если в диалоге открытия файла выбран файл библиотеки ERDAS (*.spl), то он будет сконвертирован в формат библиотеки «Альбедо» и помещен в ту же папку с тем же именем и с расширением .asl. Вся дальнейшая работа будет производиться с отконвертированным файлом.

При выборе файла csv запускается Импорт серии спектров.

Интерфейс

Интерфейс библиотеки содержит два списка спектров — список открытых спектров и список результатов поиска. При поиске в библиотеке результаты добавляются в список результатов, при этом предыдущее содержимое списка удаляется. Содержимым списка открытых спектров управляет пользователь. Чтобы добавить один или несколько спектров из результатов поиска в список открытых спектров, выделите их и выберите в контекстном меню соответствующий пункт. Чтобы удалить спектры из списка открытых спектров, выберите в контекстном меню пункт Убрать из списка.

Чтобы удалить спектр из библиотеки, выберите его в любом из списков и выберите в контекстном меню пункт Удалить из библиотеки. Спектр будет безвозвратно удален из библиотеки и из всех списков. Чтобы посмотреть таблицу значений спектра, выберите в контекстном меню пункт Таблица значений.

В окне библиотеки также отображается таблица свойств и график. В них отображаются данные, соответствующие спектрам, выделенным в списке (используется список, который видно в текущий момент). Если выделено более 20 спектров, то на графике они не отображаются, чтобы избежать замедления программы. Размеры таблицы и графика можно изменять, перетаскивая их вертикальные границы мышью влево и вправо.

Дополнительные функции графика

При наведении указателя мыши на узел графика показывается маркер, на котором указана длина волны и значение в соответствующей точке. Цвет маркера соответствует цвету спектра, которому принадлежит эта точка. Если маркер отображен, то щелчок левой кнопкой мыши приведет к выделению соответствующего спектра в списке. Если при этом нажата клавиша Ctrl, то блок будет выделен без спроса предыдущего выделения. Таким образом, можно выделить один или несколько спектров, щелкая мышью по их графикам.

Можно перетаскивать изображение на графике с помощью левой кнопки мыши. Можно изменять масштаб графика с помощью колеса прокрутки мыши. Можно изменять растяжение по оси X с помощью колеса прокрутки мыши при нажатом Shift.

Для изменения параметров графика выберите пункт меню Библиотека ‣ Параметры графика. Можно изменить диапазоны значений по осям, шаг сетки и цвета графика. Изменения применяются немедленно.

Таблица свойств

Если выделен один спектр, то в таблице отображаются свойства и значения этого спектра. Если выделено несколько спектров, то в таблице показываются свойства, которые есть хотя бы у одного из спектров. Если значение некоторого свойства для всех спектров одинаково, то это значение отображается в таблице. Если же значения некоторого свойства отличаются для разных спектров (или у некоторых спектров этого свойства вообще нет), то в таблице отображается пометка (разные значения).

Чтобы начать редактирование ячейки таблицы, сделайте двойной щелчок по ячейке, либо установите в нее фокус и нажмите Enter.

Для добавления свойства введите его название в ячейку с пометкой (новое свойство). После этого введите соответствующее значение в соседнюю ячейку. Для изменения значения отредактируйте соответствующую ячейку таблицы. Для удаления свойства удалите весь текст из соответствующей ячейки значения. Редактировать ячейки с именами свойств невозможно. Все изменения свойств будут немедленно применены ко всем выделенным спектрам.

Тип введенного значения определяется на основе формата введенной пользователем строки. Если строка может быть преобразована в число (например: 5.4; 5,4; 1e6), то в библиотеку записывается численное значение. Дробную часть можно отделять как запятой, так и точкой. Если введена строка «да» или «нет», то она преобразовывается в соответствующее логическое значение. Также можно ввести дату и время в одном из следующих форматов: 31.01.2013; 31.01.2013 23:59; 31.01.2013 23:59:59 (также можно указывать 2 последние цифры года вместо 4).

Специальные свойства «Содержит статистику» и «Расположение» нельзя изменить с помощью таблицы.

При вводе свойств и значений программа предлагает пользователю варианты ввода в выпадающем списке на основе свойств спектров, которые уже есть в библиотеке. При вводе имени свойства предлагаются все имеющиеся имена свойств. При вводе значения предлагаются все имеющиеся значения соответствующего свойства. При этом пропускаются значения нестроковых типов (логический, дата, число), а также строки длиннее 40 символов. Если из библиотеки удалены все упоминания некоторого свойства или значения, то оно будет продолжать показываться при автодополнении, пока библиотека не будет закрыта и открыта снова.

Статистические спектры

В библиотеке для каждого спектра может храниться дополнительная статистическая информация — спектры наибольших, наименьших значений и стандартного отклонения. В списке библиотечных спектров эти спектры не показываются отдельным пунктом. В таблице свойств для спектра, содержащего статистическую информацию, показывается строка «Содержит статистику: да», а в таблице значений показываются дополнительные столбцы статистических спектров.

Если в главном меню установлена галочка Библиотека ‣ Использовать статистические спектры, то при выделении спектра в списке на график будет добавлен не только сам спектр, но и соответствующие статистические спектры. Также, если галочка установлена, то при добавлении спектра из библиотеки в проект будут добавлены и статистические спектры (каждый отдельным блоком).

Перенос спектров в библиотеку и из нее

Чтобы добавить спектр из проекта в библиотеку, выделите в любом списке блоков один или несколько спектров, а затем выберите в контекстном меню пункт Добавить в библиотеку и выберите нужную библиотеку. Во вложенном меню показываются только библиотеки, которые открыты в программе в данный момент. Если вы хотите добавить спектры в библиотеку, которая сейчас не открыта, выберите во вложенном меню пункт Открыть библиотеку.... Откроется окно выбора библиотеки. После создания или открытия библиотеки спектры будут добавлены в нее.

Если блок спектра получен с помощью процедуры Спектр по области интереса, в параметрах которой были запрошено вычисление статистических спектров, то при добавлении в библиотеку основного спектра (с пометкой «Средний») к нему будут добавлены соответствующие статистические спектры. Если при этом запрошено добавление этих спектров в библиотеку, то они не будут добавлены как отдельные спектры. Если же запрошено добавление одного из статистических спектров (например, спектра наибольших значаений), но при этом не запрошено добавление соответствующего среднего спектра, то этот статистический спектр будет добавлен в библиотеку как обычный спектр без статистической информации.

Таким образом, чтобы добавить в библиотеку спектр со статистической информацией, создайте область интереса в окне просмотра, в параметрах окна просмотра включите галочку Создавать статистические спектры, постройте спектр по области интереса, а затем добавьте в библиотеку основной спектр (с пометкой «Средний»).

Чтобы добавить спектры в другую библиотеку или проект, выделите их и выберите в контекстном меню пункт Добавить в, затем выберите во вложенном меню нужный проект или библиотеку. В меню показываются только проект и библиотеки, которые открыты в программе в текущий момент.

Если в главном меню установлена галочка Библиотека ‣ Экспортировать позиции спектров в проекты, то при экспорте спектров в проект дополнительно добавляются области интереса, соответствующие позициям спектров. Если геопроекция, в которой сохранены проекции спектров, не совпадает с проекцией изображений в окнах просмотра, эти области могут добавиться в новое окно просмотра. В этом случае можно в их контекстном меню выбрать пункт «Преобразовать к проекции» и выбрать нужное окно просмотра.

Поиск в библиотеке

Форма поиска располагается на вкладке «Поиск». Ввод свойств и значений в таблицу условий поиска производится так же, как в таблице метаданных. Каждая строка таблице соответствует одному условию. Программа будет искать спектры, для которых выполняются одновременно все условия. Имена свойств и значения сравниваются без учета регистра. В столбце «Тип» указывается тип условия:

  • Равно: выполняется, если значения совпадают (для строк — без учета регистра, для остальных типов — точно).
  • Не равно: противоположно предыдущему.
  • Содержит: выполняется, если значение в спектре содержит указанной в запросе строки или совпадает с ней (оба значения приводятся к строковому типу и сравниваются без учета регистра).
  • Больше: выполняется, если значение в спектре строго больше указанного значения (если указана дата, то условию удовлетворяют более поздние даты; в противном случае производится сравнение значений как чисел).
  • Меньше (аналогично предыдущему).
  • Присутствует, отсутствует: не требует ввода значения; проверяет, есть ли у спектра указанное свойство.

Удалить условие можно кнопкой Delete или через контекстное меню.

После ввода условий нажмите кнопку Найти. Если ничего не найдено, программа выдаст соответствующее сообщение. Иначе будет показан список результатов поиска. Если в процессе поиска количество найденных спектров достигло значения, указанного в поле Максимальное число результатов, то поиск останавливается.

Выполненные поисковые запросы сохраняются на вкладке “История”. В начале списка показываются более ранние запросы. Если выделить строчку в списке истории, а затем нажать кнопку Повторить запрос, то будет выполнен соответствующий запрос. Если выделить строчку в списке истории, а затем нажать кнопку Изменить запрос (или просто перейти на вкладку “Запрос”), то можно отредактировать этот запрос перед поиском. При открытии библиотеки в таблице запроса показывается последний выполненный запрос.

Импорт и экспорт в CSV

Для импорта CSV-файлов в библиотеку выберите пункт меню Библиотека ‣ Импорт CSV и укажите файлы. Поддерживаются различные варианты символов-разделителей. Файл должен содержать два столбца — длину волны в нанометрах и значение. После импорта спектры добавляются в список открытых спектров. Пользователь может указать метаданные спектров для структуризации библиотеки.

Для экспорта CSV-файла выберите контекстном меню спектра пункт Экспорт в CSV.