Анализ главных компонент в «Альбедо» 3.0 разбивается на две процедуры.
Вход: растр, блок параметров.
Выход: матрица главных компонент; растр, содержащий изображение, преобразованное к главным компонентам; таблица с собственными значениями, соответствующими вычисленным главным компонентам.
Для поиска главных компонент необходимо выбрать точки, значения которых будут учитываться при анализе. Точки распределяются по всему изображению. Точки могут быть выбраны несколькими способами, используемый способ указывается в блоке параметров:
Все точки. Используются все точки документа.
Каждая N-я. Точки расставляются с шагом N по горизонтали и вертикали. При выборе этого пункта появляется текстовое поле Шаг (N), которое является обязательным к заполнению, значение должно быть положительным и целочисленным. Вместо использования этой опции рекомендуется сначала применить к растру процедуру Уменьшение разрешения растра с коэффициентом уменьшения, равным требуемому шагу, и режимом “ближайший сосед”, а затем использовать анализ главных компонент с режимом выбора точек “Все точки”. Результат будет тот же, а суммарное время выполнения уменьшится.
Равномерно. При выборе этого пункта появляется текстовое поле Число точек. Это поле обязательно к заполнению, значение должно быть положительным и целочисленным. По общему числу точек вычисляется шаг, с которым они должны быть расставлены по области. После этого отбор происходит так же, как в предыдущем способе.
При выборе этого пункта появляются два текстовых поля, оба обязательны к заполнению:
При кластеризации используются значения только трёх каналов для каждой точки (RGB). Номера этих каналов выбираются на основе спектральной калибровки, а если ее нет, то на основе каналов, указанных пользователем для построения изображения. Если эти данные тоже недоступны, программа выдаст ошибку.
Пользователь может выбрать число главных компонент, которое необходимо вычислить. Число главных компонент не может быть больше числа каналов.
Пользователь может задать ограничение неточности - число от 0 до 1 (по умолчанию 0.05). Алгоритм NIPALS продолжает итерации поиска одной компоненты, пока не будет достигнута требуемая точность. Чем меньше число, тем точнее результат и тем медленнее работает процедура. При работе процедуры в лог программы записываются фактические значения неточности на каждой итерации, что позволяет при необходимости подобрать подходящее значение параметра.
После выполнения процедуры в окне просмотра автоматически открывается изображение в главных компонентах, а сбоку показывается форма создания процедуры отбора каналов по главным компонентам.
Число каналов в сгенерированном растре будет равно числу главных компонент. Пользователь может использовать процедуру Статистика по растру для просмотра статистики по значениям главных компонент. Пользователь может просмотреть матрицу с помощью опции «Таблица значений» в контекстном меню блока.
После выполнения отбора каналов генерируется подмножество каналов, которое автоматически применяется к исходному растру.
Для вычисления главных компонент используется алгоритм NIPALS (например, http://folk.uio.no/henninri/pca_module/pca_nipals.pdf или http://rcs.chemometrics.ru/Tutorials/pca.htm).
Перед использованием алгоритма производятся центрирование и нормировка данных (если был произведен предварительный отбор, то учитывается только статистика по отобранным точкам).
Полученная матрица используется для поочередного итеративного вычисления главных компонент. Порог сходимости, задаваемый юзером, используется для сравнения собственного значения, вычисленного на последней итерации, с этим же собственным значением, вычисленным на предыдущей (с помощью столбца матрицы T, более подробная информация есть по второй ссылке).
Вход: матрица главных компонент, блок параметров.
Выход: подмножество каналов.
После завершения вычисления главных компонент автоматически открывается вьюер для просмотра изображения в главных компонентах и редактор блока параметров, дающий возможность отметить содержательные главные компоненты, а также выбрать способ отбора информативных каналов:
Особенность алгоритма состоит в том, что главные компоненты вычисляются с точностью до знака, что может приводить к инвертированию изображения в некоторых главных компонентах. По умолчанию в окне просмотра выбран способ нормировки данных для просмотра по стандартному отклонению.