estimateAbundanceLS

Оценка численности карт

    Описание

    пример

    abundanceMap = estimateAbundanceLS(inputData,endmembers) оценивает количество карт конечных элементов в кубе гиперспектральных данных с помощью метода наименьших квадратов.

    Гиперспектральный кубик данных может содержать как чистые, так и смешанные пиксели. Чистые пиксели показывают спектральные характеристики одного класса, в то время как смешанные пиксели показывают спектральные характеристики нескольких классов. Спектральные сигнатуры чистых пикселей содержат конечные элементы, которые идентифицируют уникальные классы, присутствующие в кубе гиперспектральных данных. Спектральная сигнатура смешанных пикселей может быть линейной комбинацией двух или более спектров конечных элементов. Карта изобилия идентифицирует долю каждого конечного элемента, присутствующего в спектрах каждого пикселя. Для гиперспектрального куба данных пространственных размерностей M -by - N, содержащего P конечных элементов, существует P карты изобилия, каждый из которых имеет размер M -by - N.

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

    пример

    abundanceMap = estimateAbundanceLS(___,'Method',estMethod) задает метод наименьших квадратов, который будет использоваться для оценки карт изобилия.

    Примечание

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

    Примеры

    свернуть все

    Загрузите MAT-файл, содержащий кубик гиперспектральных данных и сигнатуры конечных элементов, в рабочую область. Извлечение куба данных и подписей конечных элементов.

    data = load('indian_pines.mat');
    dataCube = data.indian_pines;
    endmembers = data.signatures;

    Постройте график спектров конечных элементов.

    plot(endmembers)
    numEndMem = num2str(size(endmembers,2));
    title(['Number of Endmembers:' numEndMem])    

    Оцените карты численности для спектров конечных элементов.

    abundanceMap = estimateAbundanceLS(dataCube,endmembers);

    Отобразите карту численности для каждых спектров конечных элементов. Порядок карт изобилия совпадает с порядком конечных элементов в endmembers вход.

    montage(abundanceMap,'Size',[4 4],'BorderSize',[10 10]);
    colormap default
    title('Abundance Maps for Endmembers');

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

    hcube = hypercube('jasperRidge2_R198.hdr');

    Извлеките шесть конечных элементов из гиперспектральных данных.

    endmembers = nfindr(hcube,6);

    Оцените карту численности для каждого конечного члена с помощью метода полностью метода наименьших квадратов с ограничениями.

    abundanceMap = estimateAbundanceLS(hcube.DataCube,endmembers,'Method','fcls');

    Оцените изображение RGB куба данных с помощью colorize функция.

    rgbImg = colorize(hcube,'Method','RGB');

    Отображение изображения RGB.

    figure
    imagesc(rgbImg)
    title('RGB Image of Data Cube')

    Отобразите карты изобилия для спектров конечных элементов. Порядок карт изобилия совпадает с порядком конечных элементов в endmembers входной параметр.

    figure
    montage(abundanceMap(:,:,1:3),'Size',[1 3],'BorderSize',[20 20])
    colormap default
    colorbar
    title('Abundance Map for Endmember 1 | Abundance Map for Endmember 2 | Abundance Map for Endmember 3','FontSize',14)

    figure
    montage(abundanceMap(:,:,4:6),'Size',[1 3],'BorderSize',[20 20])
    colormap default
    colorbar
    title('Abundance Map for Endmember 4 | Abundance Map for Endmember 5 | Abundance Map for Endmember 6','FontSize',14)

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

    свернуть все

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

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

    Подписи конечных элементов, заданные как матрица размера C -by- P. где C - количество спектральных полос во входных гиперспектральных данных, а P - количество спектральных сигнатур конечных элементов.

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

    Метод оценки карт численности, заданный в качестве одного из следующих значений.

    • 'ucls' - Метод наименьших квадратов без ограничений.

    • 'fcls' - Полностью ограниченный метод наименьших квадратов.

    • 'ncls' - Неотрицательный метод методом наименьших квадратов с ограничениями.

    Пример: estimateAbundanceLS(inputData,endmembers,'Method','ncls')

    Типы данных: char | string

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

    свернуть все

    Изобилие отображает, возвращается как 3-D числовой массив размера M -by- N -by- P.

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

    Ссылки

    [1] Keshava, N., and J.F. Mustard. «Спектральная разметка». Журнал IEEE Signal Processing Magazine 19, № 1 (январь 2002): 44-57. https://doi.org/10.1109/79.974727.

    [2] Кей, Стивен М. Основы статистической обработки сигналов. Серия обработки сигналов Prentice Hall. Englewood Cliffs, N.J: Prentice-Hall PTR, 1993.

    См. также

    | | |

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