sharc

Выполните атмосферную коррекцию с помощью спутниковой гиперкубной атмосферной быстрой коррекции (SHARC)

Описание

пример

newhcube = sharc(hcube) возвращает атмосферно исправленный кубик данных путем вычисления значений поверхностного излучения или поверхностной отражательной способности из входных гиперспектральных данных. Функция реализует алгоритм SHARC, чтобы вычислить атмосферно исправленные гиперспектральные данные.

Входные входы должны быть радиометрически скорректированы гиперспектральными данными. Пиксельные значения куба входных данных должны быть либо верхней частью атмосферного (TOA) излучения, либо значениями отражения TOA. Для получения лучших результатов используйте значения отражения TOA.

Примечание

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

пример

newhcube = sharc(hcube,Name,Value) также задает опции, использующие один или несколько аргументы пары "имя-значение". Используйте этот синтаксис, чтобы задать значения параметров для SHARC.

Примеры

свернуть все

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

input = hypercube('EO1H0440342002212110PY_cropped.dat');

Определите плохие номера спектральных полос с помощью BadBands параметр в метаданных.

bandNumber = find(~input.Metadata.BadBands);

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

input = removeBands(input,'BandNumber',bandNumber);

Преобразуйте цифровые числа в значения излучения при помощи dn2radiance функция.

hcube = dn2radiance(input);

Преобразуйте значения радиации в значения отражающей способности при помощи radiance2Reflectance функция.

hcube = radiance2Reflectance(hcube);

Вычислите атмосферно скорректированные данные при помощи sharc функция.

newhcube = sharc(hcube);

Оценка RGB изображений входных и атмосферно скорректированных выходных данных. Увеличьте контрастность изображения путем применения контрастного растяжения.

inputImg = colorize(hcube,'Method','rgb','ContrastStretching',true);
outputImg = colorize(newhcube,'Method','rgb','ContrastStretching',true);

Отображение растянутых контрастом изображений RGB входных и атмосферно исправленных выходных данных.

figure('Position',[0 0 700 400])
subplot('Position',[0.1 0 0.3 0.9])
imagesc(inputImg)
title('Input Radiometrically Calibrated Image')
axis off
subplot('Position',[0.5 0 0.3 0.9])
imagesc(outputImg)
axis off
title('Output Atmospherically Corrected Image')

Figure contains 2 axes. Axes 1 with title Input Radiometrically Calibrated Image contains an object of type image. Axes 2 with title Output Atmospherically Corrected Image contains an object of type image.

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

input = hypercube('EO1H0440342002212110PY_cropped.dat');

Определите плохие номера спектральных полос с помощью BadBands параметр в метаданных.

bandNumber = find(~input.Metadata.BadBands);

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

input = removeBands(input,'BandNumber',bandNumber);

Преобразуйте цифровые числа в значения излучения при помощи dn2radiance функция.

hcube = dn2radiance(input);

Преобразуйте значения радиации в значения отражающей способности при помощи radiance2Reflectance функция.

hcube = radiance2Reflectance(hcube);

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

newhcube = sharc(hcube,'DarkPixelLocation',[217 7]);

Оценка RGB изображений входных и атмосферно скорректированных выходных данных. Увеличьте контрастность изображения путем применения контрастного растяжения.

inputImg = colorize(hcube,'Method','rgb','ContrastStretching',true);
outputImg = colorize(newhcube,'Method','rgb','ContrastStretching',true);

Отображение растянутых контрастом изображений RGB входных и атмосферно исправленных выходных данных.

figure('Position',[0 0 700 400])
subplot('Position',[0.1 0 0.3 0.9])
imagesc(inputImg)
title('Input Radiometrically Calibrated Image')
axis off
subplot('Position',[0.5 0 0.3 0.9])
imagesc(outputImg)
axis off
title('Output Atmospherically Corrected Image')

Figure contains 2 axes. Axes 1 with title Input Radiometrically Calibrated Image contains an object of type image. Axes 2 with title Output Atmospherically Corrected Image contains an object of type image.

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

свернуть все

Входные гиперспектральные данные, заданные как hypercube объект. The DataCube свойство hypercube объект содержит кубик гиперспектральных данных. Пиксельные значения куба данных должны означать либо сияние TOA, либо значения отражения TOA.

Если пиксельные значения являются цифровыми числами, используйте dn2radiance и dn2reflectance функции для вычисления значений яркости и отражательной способности TOA, соответственно. Вы также можете использовать radiance2Reflectance функция для непосредственного вычисления значений отражения TOA из значений излучения.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: ('AtmosphericModel','Tropical')

Атмосферная модель для вычисления оптической толщины общей атмосферы, заданная как разделенная разделенными запятой парами, состоящая из 'AtmosphericModel' и одно из следующих значений:

  • '1962 US Standard' - Стандартные атмосферные параметры, определяемые для атмосферы Земли в широкой области значений температур и давления. Это типовая модель, которая может использоваться для атмосферной коррекции гиперспектральных данных, полученных в различных широтах и сезонах.

  • 'Tropical' - Атмосферные параметры областей в тропической зоне. Диапазон широт тропической зоны составляет [-23 ° 45 ', 23 ° 45']. Используйте эту модель, если гиперспектральные данные собраны из тропической зоны.

  • 'Midlatitude Summer' - Атмосферные параметры областей в зоне средней широты в летний сезон. Области значений широт для зон средней широты составляют [23 ° 45 ', 66 ° 55'] и [-66 ° 55 ', -23 ° 45']. Используйте эту модель, если гиперспектральные данные собираются из зон средней широты в течение лета. Можно определить сезон из даты приобретения, сохраненной как AcquistionTime в метаданных.

  • 'Midlatitude Winter' - Атмосферные параметры областей в зоне средней широты в зимний сезон. Области значений широт для зон средней широты составляют [23 ° 45 ', 66 ° 55'] и [-66 ° 55 ', 23 ° 45']. Используйте эту модель, если гиперспектральные данные собираются из зон средней широты в зимний период. Можно определить сезон из даты приобретения, сохраненной как AcquistionTime в метаданных.

  • 'Subarctic Summer' - Атмосферные параметры областей в субарктической зоне в летний сезон. Области значений широт для субарктических зон составляют [66 ° 55 ', 90 °] и [-90 °, -66 ° 55'] степеней. Используйте эту модель, если гиперспектральные данные собираются из субарктических зон в течение лета. Можно определить сезон из даты приобретения, сохраненной как AcquistionTime в метаданных.

  • 'Subarctic Winter' - Атмосферные параметры областей в субарктической зоне в зимний сезон. Области значений широт для субарктических зон составляют [66 ° 55 ', 90 °] и [-90 °, -66 ° 55'] степеней. Используйте эту модель, если гиперспектральные данные собираются из субарктических зон зимой. Можно определить сезон из даты приобретения, сохраненной как AcquistionTime в метаданных.

Расположение темного пикселя, заданное как разделенная разделенными запятой парами, состоящая из 'DarkPixelLocation' и вектор 1 на 2 формы [x y]. x и y являются пространственными координатами темного пикселя, который будет выбран из сине-зеленой полосы. Темный пиксель имеет самое низкое значение отражения TOA, и sharc функция использует его для вычисления спектральной освещенности поверхности.

По умолчанию в sharc функция выбирает пиксель с минимальной сине-зеленой полосой значения в качестве темного пикселя. Обычно область значений длин волн (в микрометрах) для сине-зеленой полосы составляет [0,45, 0,57]. Значения отражающей способности TOA в сине-зеленой полосе наиболее подвержены воздействию атмосферной дымки. Следовательно, темный пиксель из сине-зеленой полосы обычно выбирают в качестве потенциального пикселя для оценки атмосферных эффектов на гиперспектральные данные.

Размер окна для вычисления эффекта смежности, заданный как разделенная разделенными запятой парами, состоящая из 'AdjacencyWindow' и положительный целочисленный скаляр. Значение означает размер окна с центром вокруг темного пикселя. The sharc функция использует все пиксели, которые находятся внутри этого окна, для оценки эффекта смежности.

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

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

свернуть все

Атмосферно скорректированные данные, возвращенные как hypercube объект. The DataCube свойство hypercube объект содержит кубик гиперспектральных данных. Пиксельные значения выхода данных являются значениями поверхностного излучения или отражательной способности поверхности в зависимости от входа.

  • Если пиксельные значения входных данных куба являются излучениями TOA, пиксельные значения атмосферно скорректированных данных на выходе являются значениями поверхностного излучения.

  • Если значениями пикселей входных данных куба являются отражения TOA, значения пикселей атмосферно скорректированных данных на выходе содержат значения отражения поверхности.

Ссылки

[1] Катковский, Леонид, Антон Мартинов, Волха Силюк, Димитрий Иванов, и Александр Кохановский. Быстрый метод атмосферной коррекции для гиперспектральных данных. Дистанционное зондирование 10, № 11 (28 октября 2018): 1698. https://doi.org/10.3390/rs10111698.

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