selectBands

Выберите самые информативные полосы

Описание

newhcube = selectBands(hcube,endmembers) выбирает самые информативные полосы гиперспектрального куба данных при помощи ортогонального метода проекции пробела [1]. Функция возвращает новый hypercube объект, который содержит данные только из самых информативных полос.

Примечание

  • Для предварительной обработки функция удаляет водное поглощение и низкие полосы отношения сигнал-шум (SNR) до вычисления самых информативных полос.

  • Чтобы уменьшать вычислительную сложность, функция вычисляет самые информативные полосы путем рассмотрения только 10% пиксельных значений в предварительно обработанном кубе данных. Эти значения выбраны случайным образом. Функция также гарантирует, что случайный выбор не приводит к удалению endmembers.

[newhcube,band] = selectBands(hcube,endmembers) также возвращает количества полосы самых информативных полос в гиперспектральном кубе данных.

пример

[___] = selectBands(hcube,endmembers,'NumberOfBands',numBands) дополнительно задает количество большинства информативных полос, чтобы выбрать из куба входных данных, в дополнение к любой комбинации аргументов от предыдущих синтаксисов.

Примечание

Эта функция требует Image Processing Toolbox™ Гиперспектральная Библиотека Обработки изображений. Можно установить Image Processing Toolbox Гиперспектральная Библиотека Обработки изображений из Add-On Explorer. Для получения дополнительной информации об установке дополнений, смотрите, Получают и Управляют Дополнениями.

Примеры

свернуть все

Считайте гиперспектральные данные в рабочую область.

hcube = hypercube('paviaU.dat');

Оцените endmembers куба данных при помощи алгоритма FIPPI.

endmembers = fippi(hcube,9);

Создайте новый hypercube состоя из десяти самых информативных полос.

newhcube = selectBands(hcube,endmembers,'NumberOfBands',10);

Входные параметры

свернуть все

Введите гиперспектральные данные в виде hypercube объект. DataCube свойство hypercube объект содержит гиперспектральный куб данных.

Спектральные подписи endmembers в виде матрицы размера C-by-K. C является количеством диапазонов в гиперспектральном кубе данных, и K является количеством endmembers гиперспектрального куба данных. Используйте fippi, ppi, или nfindr функционируйте, чтобы найти endmembers гиперспектрального куба данных.

Типы данных: single | double

Количество большинства информативных полос, чтобы выбрать из куба данных в виде скаляра.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Выведите гиперспектральные данные, возвращенные как hypercube объект.

Количество диапазона самых информативных полос в кубе входных данных, возвращенном как положительное целое число или вектор из положительных целых чисел.

Типы данных: double

Ссылки

[1] Du, Цянь и он ян. “Основанный на подобии безнадзорный выбор полосы для гиперспектрального анализа изображения”. IEEE® Геонаука и Буквы Дистанционного зондирования, Издание 5, № 4 (октябрь 2008): 564–68. https://doi.org/10.1109/LGRS.2008.2000619.

Смотрите также

| | | |

Введенный в R2020a