smileMetric

Вычисление спектральных метрик улыбки гиперспектральных данных

    Описание

    пример

    [oxystd,carbonstd,oxyderiv,carbonderiv] = smileMetric(hcube) вычисляет средние производные по столбцу и их стандартные отклонения для функций поглощения кислорода и двуокиси углерода в наборе гиперспектральных данных. Можно использовать эти значения, чтобы обнаружить спектральный эффект улыбки в гиперспектральном наборе данных. Для получения дополнительной информации см. «Индикаторы улыбки».

    Примечание

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

    Примеры

    свернуть все

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

    hcube = hypercube('EO1H0440342002212110PY_cropped.dat');

    Вычислите средние значения производных по столбцу и их стандартные отклонения для функций поглощения кислорода и двуокиси углерода гиперспектрального набора данных hcube.

    [oxystd,carbonstd,oxyderiv,carbonderiv] = smileMetric(hcube);

    Выполните спектральное уменьшение улыбки, используя метод, основанный на преобразовании максимальной доли шума (MNF).

    correctedData = reduceSmile(hcube,'Method','MNF');

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

    [noxystd,ncarbonstd,noxyderiv,ncarbonderiv] = smileMetric(correctedData);

    Постройте график значений средней производной по столбцу функции поглощения кислорода для обоих некорректированных гиперкубов hcube и исправленный улыбкой гиперкубик correctedData, и отобразить их стандартные отклонения.

    figure
    plot(oxyderiv,'LineWidth',2)
    hold on
    plot(noxyderiv,'LineWidth',2)
    hold off
    axis tight
    grid on
    xlabel('Cross-track positions (Columns)')
    ylabel('Derivatives for oxygen absorption features')
    legend({'Before smile correction','After smile correction'},'Location','northwest');
    annotation(gcf,'textarrow',[0.4 0.4],[0.6 0.5],...
        'String',['Standard deviation = ' num2str(oxystd)]);
    annotation(gcf,'textarrow',[0.7 0.7],[0.3 0.2],...
        'String',['Standard deviation = ' num2str(noxystd)]);

    Постройте график средних значений производных по столбцу функции двуокиси углерода для обоих некорректированных гиперкубов hcube и исправленный улыбкой гиперкубик correctedData, и отобразить их стандартные отклонения.

    figure
    plot(carbonderiv,'LineWidth',2)
    hold on
    plot(ncarbonderiv,'LineWidth',2)
    hold off
    axis tight
    grid on
    xlabel('Cross-track positions (Columns)')
    ylabel('Derivatives for carbon-dioxide absorption features')
    legend({'Before smile correction','After smile correction'},'Location','southwest');
    annotation(gcf,'textarrow',[0.4 0.4],[0.7 0.85],...
        'String',['Standard deviation = ' num2str(carbonstd)]);
    annotation(gcf,'textarrow',[0.7 0.7],[0.3 0.45],...
        'String',['Standard deviation = ' num2str(ncarbonstd)]);

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

    свернуть все

    Входные гиперспектральные данные, заданные как hypercube объект. The DataCube свойство hypercube объект хранит кубик гиперспектральных данных. Чтобы вычислить среднее значение столбца поглощения кислорода и диоксида углерода функции производных, hypercube объект должен иметь полную половину ширины максимум (FWHM) значения в Metadata свойство.

    Примечание

    • Чтобы вычислить среднее значение столбца производных функций поглощения кислорода, входные гиперспектральные данные должны содержать данные в диапазоне длины волны видимой и ближней инфракрасной (VNIR) области значений 760-785 нм.

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

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

    свернуть все

    Производные от столбца для функций поглощения кислорода, возвращенные как N элемент. N - количество столбцов в вход кубе гиперспектральных данных. Если вход куба гиперспектральных данных имеет тип doubleвектор выхода имеет тип данных double. В противном случае тип данных вектора выхода single.

    Производные столбца для функций поглощения двуокиси углерода, возвращенные как N элемент. N - количество столбцов в вход кубе гиперспектральных данных. Если вход куба гиперспектральных данных имеет тип doubleвектор выхода имеет тип данных double. В противном случае тип данных вектора выхода single.

    Стандартное отклонение средних производных по столбцу для функций поглощения кислорода, возвращаемое в виде скаляра. Можно использовать этот скаляр, чтобы обнаружить наличие спектрального эффекта улыбки в гиперспектральных данных. Если значение oxystd является низким, тогда шансы на то, что данные, имеющие эффект улыбки, будут меньше в области значений VNIR.

    Стандартное отклонение средних производных столбцов для функций поглощения двуокиси углерода, возвращаемое в виде скаляра. Можно использовать этот скаляр, чтобы обнаружить наличие спектрального эффекта улыбки в гиперспектральных данных. Если значение carbonstd является низким, тогда шансы на то, что данные, имеющие эффект улыбки, будут меньше в области значений SWIR.

    Подробнее о

    свернуть все

    Индикаторы улыбки

    Эффект улыбки возникает, когда гиперспектральные данные содержат значительную перекрестную кривизну с нелинейными нарушениями порядка по спектральной размерности. Эти нелинейные нарушения порядка происходят только в данных, полученных с помощью гиперспектральных датчиков push-broom, таких как EO-1 Hyperion и SEBASS. На основе [1] можно обнаружить перекрестные изменения в функциях поглощения кислорода и двуокиси углерода, благодаря возможному эффекту улыбки, путем вычисления первых производных изображений полосы кислорода и двуокиси углерода. Первая производная смежных полос B' вычисляется с использованием изображения полосы поглощения B1 и изображение последующей полосы B2, используя уравнение:

    B'=B2B1FWHM¯,

    где, FWHM¯ - средний FWHM двух полос B1 и B2. Это вычисление производной применимо как к изображениям полосы поглощения кислорода, так и диоксида углерода. Средние значения в столбце производных кислорода и двуокиси углерода могут указывать на нелинейность перекрестных дорожек, вызванную спектральным эффектом улыбки.

    • Нелинейное среднее значение перекрестного столбца значений производных от поглощения кислорода указывает на спектральный эффект улыбки в спектре VNIR.

    • Нелинейное среднее значение перекрестного столбца значений производных поглощения диоксида углерода указывает на спектральный эффект улыбки в спектре SWIR.

    Ссылки

    [1] Дадон, Алон, Эяль Бен-Дор и Арнон Карниели. «Использование вычислений производной и преобразования минимальной шумовой дроби для обнаружения и коррекции эффекта спектральной кривизны (улыбки) в изображениях гипериона». Транзакции ИИЭЭ по вопросам геологии и дистанционного зондирования 48, № 6 (июнь 2010 года): 2603-12. https://doi.org/10.1109/TGRS.2010.2040391.

    См. также

    |

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