Импорт серии спектров

Эта функция устарела. Для обработки наземных измерений следует использовать меню «Наземные измерения» в окне спектральной библиотеки. См. Обработка наземных измерений.

Исходные данные

Для запуска импорта серии спектров необходимо подготовить папку с данными. В корне папки должен лежать файл с именем table.csv. Файл должен содержать данные о сериях снимков в формате csv. Такой файл можно получить из xls с помощью Excel. Поддерживаются кодировки Windows-1251 и UTF-8, разделители ‘,’ и ‘;’.

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

Первый столбец каждой строки должен содержать только числа, обозначающие даты. Например, число ‘6’ для 6 июня. Обработка настоящих дат не поддерживается из-за неопределенного представления дат в CSV. Строки, первый столбец которых не содержит числа, не обрабатываются.

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

Если в таблице есть столбец “Белое тело” и в нем указано число, то оно используется как номер белого тела, использованного при измерении данной строки. Если номера в таблице нет, то по умолчанию используется номер 1. Рядом с таблицей должна существовать папка white, содержащая файлы с именами N.csv, где N — номер белого тела. Файлы должны содержать спектры белых тел.

Для каждой даты необходимо создать в папке с данными папку, имя которой состоит только из этого числа (например, 6). Эта папка должна содержать файлы с расширением asd.txt, соответствующие этой дате, а также файл лога прибора, который должен иметь расширение .log и произвольное имя. Файлы asd.txt должны иметь имя вида “строкаNNNNN.asd.txt”, где NNNNN - число, соответствующее числам в столбцах таблицы с заголовками “первый” и “последний”.

Спектры, у которых среднее значение по всем точкам превышает 0,8, рассматриваются как спектры белых тел. Они используются для коррекции остальных спектров при усреднении. У этих спектров присутствует свойство “Белое тело” со значением “да”.

В ту же папку можно положить текстовый файл с именем white_spectrums.txt, содержащий номера всех белых тел в одной строке через запятую. Если такой файл существует, то программа использует только эти id, автоматическое определение белых тел выключается. За основу для этого файла можно взять запись в логе программы “Съемки белых тел”, после которой перечислены используемые id белых тел в том же формате.

Чтобы удалить из спектров длины волн, не являющиеся информативными (например, полосы непрозрачности атмосферы), поместите в папку файл bad_lengths.csv, содержащий интервалы длин волн. Например:

1350; 1425
1800; 1950
2400; 2500

В данном случае будут игнорироваться интервалы [1350; 1425], [1800; 1950] и [2400; 2500] (включая границы).

Можно импортировать серию спектров без таблицы, для этого нужно выбирать log-файл при импорте. Файлы asd.txt должны располагаться в той же папке. Усреднение и коррекция в этом варианте импорта не производятся.

Запуск

Для запуска импорта в окне выбора проекта на вкладке «Спектральные библиотеки» выберите пункт «Импортировать серию наземных измерений» и укажите файл table.csv или log-файл. Результат обработки будет помещен в ту же папку в виде спектральной библиотеки library.asl.

Результаты импорта спектров

Результатом первого этапа являются спектры с названием “Измерение M - N”, где M — номер дня, N — идентификатор исходного файла. Каждому спектру соответствует один файл asd.txt, никакого изменения данных не производится. В спектр добавляются все метаданные из таблицы. Свойство “Дата съемки” содержит дату и время съемки, указанные в лог-файле.

Широта и долгота берутся из лога. Если данных для текущего спектра нет в логе, эти данные берутся из столбцов таблицы, имеющих во второй строке заголовки “СШ” и “ВД”. Данные в этих столбцах должны быть указаны виде “NN NN NN.N” (градусы, минуты, секунды).

Коррекция значений по спектрам белого тела

Перед применением коррекции значения спектра, не входящие в интервал [0, 2], заменяются на 0.

Для каждого спектра белого тела \mathbf{w} вычисляются коррекционные коэффициенты. на основе эталонного спектра \mathbf{e}, который содержится в файле “white/N.csv”. Соответствующее число N берется из столбца “Белое тело” таблицы. Если такого столбца нет или в соответствующей ячейке нет числа, по умолчанию считается N = 1. Коэффициенты k_i находятся из условия \mathbf{w} \cdot \mathbf{k}=\mathbf{e}, т.е. k_i=e_i / w_i. Если w_i = 0, берем k_i = 0.

Затем для каждого из оставшихся спектров берутся коэффициенты \mathbf{k_1}, вычисленные для ближайшиего по времени предшествующего спектра белого тела, и \mathbf{k_2}, вычисленные для ближайшиего по времени следующего спектра белого тела. Если один из этих двух спектров не найден, коэффициенты копируются из второго (т.е., например, если спектр находится вначале и перед ним нет спектра белого тела, то берутся коэффициенты из ближайшего белого тела после этого спектра).

Пусть t_1 и t_2 — соответствующие моменты времени. Скорректированные коэффициенты для текущего спектра ищем в виде функции, линейной по времени: \mathbf{k}(t)=\mathbf{a}t+\mathbf{b}. Известно, что

\begin{cases}
  \mathbf{k_1} = \mathbf{a}t_1 + \mathbf{b},
\\
  \mathbf{k_2} = \mathbf{a}t_2 + \mathbf{b}.
\end{cases}

Отсюда находим

\mathbf{a} = \frac{\mathbf{k_2}-\mathbf{k_1}}{t_2-t_1},

\mathbf{b} = \mathbf{k_1} - \mathbf{a}t_1.

Скорректированные коэффициенты для текущего спектра \mathbf{s}, снятого в момент времени t, определяется по формуле \mathbf{r} = \mathbf{s} \cdot \mathbf{k}(t).

После применения этих коэффициентов значения спектра, не входящие в интервал [0, 2], снова заменяются на 0, а затем все спектры одной серии усредняются с помощью стандартного алгоритма усреднения. При этом также усредняется время съемки и геокоординаты.

Результатом второго этапа являются усредненные спектры с названием “Серия M - N..P”, где M — номер дня, N и P — границы интервала идентификаторов файлов.

Оглавление

Предыдущий раздел

Операции со спектрами

Следующий раздел

Интерполяция спектра