reduceSmile

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

    Описание

    correctedData = reduceSmile(inputData) уменьшает спектральный эффект улыбки в гиперспектральных данных, inputData, путем усреднения по спектральному измерению с окном размера 3.

    пример

    correctedData = reduceSmile(inputData,'SpectralWindow',window) уменьшает спектральный эффект улыбки в гиперспектральных данных, inputData, путем усреднения по спектральному измерению с заданным спектральным окном.

    Примечание

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

    Примеры

    свернуть все

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

    hCube =  hypercube('EO1H0440342002212110PY_cropped.dat');

    Кислородные молекулы имеют сильные функции поглощения в длине волны на 762 нм. Это соответствует 41-му изображению полосы во входе данные Гипериона, также влияя на полосы 40 и 42. Вычислите разность между полосами 40 и 42 для неоткорректированных данных.

    originalData = hCube.DataCube;
    band40 = originalData(:,:,40);
    band42 = originalData(:,:,42);
    bandDiffBeforeCorr = imabsdiff(band40,band42);

    Отобразите различие полос 40 и 42. Спектральный эффект улыбки появляется как градиент яркости слева направо в изображении различия.

    imagesc(bandDiffBeforeCorr)
    axis image off
    title('Difference of Bands 40 and 42 Before Correction')
    colorbar

    Задайте окно усреднения по спектральному измерению.

    window = 5;

    Выполните спектральное сокращение улыбки.

    correctedHcube = reduceSmile(hCube,'SpectralWindow',window);

    Вычислите и отобразите различие полос 40 и полосы 42 после коррекции улыбки. Нет никакого градиента в изображении различия после коррекции улыбки.

    correctedData = correctedHcube.DataCube;
    corrBand40 = correctedData(:,:,40);
    corrBand42 = correctedData(:,:,42);
    bandDiffAfterCorr = imabsdiff(corrBand40,corrBand42);
    imagesc(bandDiffAfterCorr)
    axis image off
    title('Difference of Bands 40 and 42 After Smile Correction')
    colorbar

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

    свернуть все

    Введите гиперспектральные данные в виде одного из следующих.

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

    • 3-D числовой массив размера M-by-N-by-C. M и N являются количеством строк и столбцов в гиперспектральных данных соответственно. C является количеством диапазонов в гиперспектральных данных.

    Размер окна усреднения по спектральному измерению в виде положительного целого числа, которое меньше чем или равно количеству гипердиапазонов в гиперспектральных данных, inputData. Увеличение размера окна эффективнее уменьшает эффект улыбки. Однако с помощью окна усреднения, больше, чем 9 может привести к потере прекрасного атмосферного поглощения спектральные функции.

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

    свернуть все

    Откорректированные гиперспектральные данные, возвращенные как hypercube возразите или 3-D числовой массив, сопоставимый с входными данными, inputData.

    Советы

    • Спектральный эффект улыбки только происходит в швабре гиперспектральные датчики, такие как HYPERION EO-1 и SEBASS.

    Ссылки

    [1] Т. Перкинс, С. М Адлер-Голден, М. В Мэтью, A. Болван, Л. С Бернстайн, Дж. Ли и М. Дж Фокс. "Скорость и Улучшения Точности Атмосферной Коррекции FLAASH Гиперспектрального Формирования изображений". SPIE Выбирают. Инженер, издание 51, № 11, p. 111707, 2012.

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

    |

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