exponenta event banner

sharc

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

Описание

пример

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

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

Примечание

Для выполнения этой функции требуется библиотека гиперспектральных изображений Toolbox™ обработки изображений. Можно установить библиотеку гиперспектральных изображений панели инструментов обработки изображений из проводника надстроек. Дополнительные сведения об установке надстроек см. в разделе Получение надстроек и управление ими.

пример

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 объект. DataCube имущества hypercube содержит гиперспектральный куб данных. Значения пикселов куба данных должны обозначать либо значение излучения ТОА, либо значение отражения ТОА.

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

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

Укажите дополнительные пары, разделенные запятыми 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 - пространственные координаты темного пикселя, выбираемого из сине-зеленой полосы. Темный пиксель имеет наименьшее значение отражения ТОА, и sharc функция использует его для вычисления спектральной освещенности поверхности.

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

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

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

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

свернуть все

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

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

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

Ссылки

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

Представлен в R2020b