hypermnf

Максимальное преобразование шумовой дроби гиперспектральных данных

    Описание

    пример

    outputDataCube = hypermnf(inputData,numComponents) вычисляет заданное количество полос основных компонентов numComponents при помощи преобразования максимальной доли шума (MNF). Чтобы достичь сокращения спектральной размерности, заданное количество главных компонентов должно быть меньше, чем количество спектральных полос в кубе входных данных.

    Компоненты, выведенные с использованием преобразования MNF, также называются неотрегулированными основными компонентами, и преобразование MNF организует основные компоненты (PC) в порядке уменьшения качества изображения PC.

    пример

    [outputDataCube,coeff] = hypermnf(inputData,numComponents) также возвращает коэффициенты MNF, оцененные через спектральные полосы куба входных данных.

    [___] = hypermnf(inputData,numComponents,'MeanCentered',flag) вычисляет преобразование MNF из средних центрированных спектральных полос. Опция для среднего центрирования каждой спектральной полосы в кубе входных данных задана как flag.

    Примечание

    Эта функция требует библиотеки Image Processing Toolbox™ гиперспектральной визуализации. Можно установить библиотеку Image Processing Toolbox Hyperspectral Imaging Library из Add-On Explorer. Дополнительные сведения об установке дополнений см. в разделе Получение и управление Дополнений.

    Примеры

    свернуть все

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

    hcube = hypercube('indian_pines.dat');

    Вычислите 10 полосы основных компонентов гиперспектральных данных и связанных коэффициентов преобразования.

    [outputDataCube,coeff] = hypermnf(hcube,10);

    Отобразите первые 10 спектральные полосы в кубе входных данных.

    figure
    montage(hcube.DataCube(:,:,1:10),'BorderSize',[10 10],'Size',[2 5],'DisplayRange',[]);
    title('First 10 Spectral Band Images')

    Для визуализации перерассчитайте значения основного компонента, чтобы они лежали в области значений [0, 1]. Отображение всех полос основных компонентов, извлеченных из куба данных. Полосы основных компонентов расположены в порядке уменьшения качества изображения (или повышения уровня шума).

    figure
    rescalePC = rescale(outputDataCube,0,1);
    montage(rescalePC,'BorderSize',[10 10],'Size',[2 5]);
    title('Principal Component Bands of Data Cube')

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

    свернуть все

    Входные гиперспектральные данные, заданные как 3-D числовой массив, который представляет кубик гиперспектральных данных размера M -by- N -by- C или hypercube объект. Если вход является hypercube объект, функция считывает кубик данных, хранящийся в DataCube свойство объекта. Гиперспектральный кубик данных должен быть вещественным и не разреженным.

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

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

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

    Индикатор для средних центрирующих спектральных полос, заданный в качестве одного из следующих значений:

    • true или 1 - среднее значение центра каждых спектральных полос в кубе входных данных путем вычитания среднего значения спектральных полос перед вычислением MNF преобразования.

    • false или 0 - Вычисление полос основных компонентов без среднего центрирования спектральных полос в кубе входных данных.

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

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

    свернуть все

    MNF преобразованный кубик данных, возвращенный как 3-D числовой массив размера M -by- N -by- numComponents. Пространственная размерность куба выходных данных такая же, как и у куба входных данных. Спектральная размерность куба выходных данных равна количеству главных компонентов, заданному на входе.

    Если тип входных данных двойной, тип выходных данных также двойной. В противном случае выход данных является единичным.

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

    Коэффициенты MNF, возвращенные как матрица размера C -by- numComponents. C - количество спектральных полос в кубе входных данных. Каждый столбец coeff содержит коэффициенты для одного основного компонента. Столбцы указаны в порядке основного качества изображения компонента.

    Если тип входных данных двойной, тип данных coeff также двойной. В противном случае тип данных является единичным.

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

    Ссылки

    [1] Green, A.A., M. Berman, P. Switzer, and M.D. Крейг. «Преобразование для упорядоченного расположения мультиспектральных данных с точки зрения качества изображения с последствиями для удаления шума». Транзакции ИИЭЭ по вопросам геологии и дистанционного зондирования 26, № 1 (январь 1988 года): 65-74. https://doi.org/10.1109/36.3001.

    Введенный в R2020a
    Для просмотра документации необходимо авторизоваться на сайте