Паншарпенинг данных Landsat 8 средствами свободного ПО
Здесь будет описано (если будет), как можно сделать паншарпенинг данных Landsat 8 с помощью инструментов различного свободного ПО.
По мотивам этой темы на форуме.
Что такое "паншарпенинг"?
Паншарпенинг (от англ. "panchromatic sharpening" или "pan sharpening") — процесс, позволяющий получить из панхроматического и мультиспектрального каналов двух продуктов одно изображение. Панхроматический канал, как правило, имеет более высокое пространственное разрешение, мультиспектральный — более низкое. В результате слияния каналов получается цветное изображение с высоким разрешением [1].
Теория о методе, когда впервые появился, кто создатель - мне кажется, это лишнее (А.М.)
Методы паншарпенинга - лучше кратко (А.М.)
- brovey
BandRed_out = BandRed_in / [(BandBlue_in + BandGreen_in + BandRed_in) * BandPan]
- IHS (Intensity, Hue, Saturation)
- PCA (Principal Component Analysis)
Кратко о Landsat 8
Landsat 8 - это американский спутник дистанционного зондирования земли, запущенный 11 февраля 2013 года. Спутник создан совместными усилиями NASA и USGS.
Тестовые данные
В качестве тестовых данных используется сцена Landsat 8 от 29.06.2013 (Entity ID: LC81710172013180LGN00). В архиве с данными 12 растров, 11 из которых несут информацию узкого диапазона электромагнитного спектра. Двенадцатый растр с суффиксом QA предназначен для оценки качества съёмки. Кроме этого данные Landsat 8 поставляются с файлом метаданных, который необходим для проведения атмосферной коррекции.
Как получить данные?
Получить снимки можно с помощью EarthExplorer. На вкладке "Search Criteria" в графе "Path/Row" вводим соответственно "170" для "Path" и "17" для "Row", в графе "Data Range" для "Search from:" и "to:" вписываем дату снимка "06/29/2013" ; затем на вкладке "Data Sets" выбираем "Landsat Archive" -> "L8 OLI/TIRS"; выбор закончен, жмём "Results>>". На странице результатов жмём на иконку с зелёной стрелкой "Download Options", в появившемся окне выбираем нижний вариант (Level 1 GeoTIFF Data Product (821.9 MB)) -> "Select Download Option" -> "Download". Внимание: загружаемый архив весит около 822 Мб, а в разархирированном виде сцена занимает на диске около 2 Гб.
Условия выполнения
Данные Landsat 8 поставляются в 16-битном растровом формате (Tiff). Модуль GRASS i.pansharpen работает пока только с 8-битными форматами данных. Поэтому для получения растров повышенного разрешения необходимо сначала преобразовать входные данные в 8-битовый формат. В GDAL ресемплинг и пересчет каналов преобразованием Бровея осуществляется с 16-битными данными. Преобразование в 8-битные происходит непосредственно перед созданием цветного композита.
Это точно? Или речь идет о каких-то конкретных алгоритмах? (Просто я постоянно работаю с 16-битными данными и никаких проблем не встречал -- КД) (Действительно не совсем так. В GDAL ресемплинг и пересчет каналов преобразованием Бровея осуществляется с 16-битными данными. Преобразование в 8-битные происходит непосредственно перед созданием цветного композита -- Strix) Моя ошибка. Модуль работает только 8-битными данными -- rhot
Паншарпенинг средствами свободного ПО
GRASS
- r.rescale.eq
- i.pansharpen
- r.composite
GDAL
- допиленный gdal_calc.py + gdal_contrast_stretch (dans-gdal-scripts) Хорошо бы сюда ссылку на этот допиленный скрипт и вкраце показать, где он допилен. -- rhot Да, я обязательно это все добавлю -- Strix
Ресемплинг каналов с разрешением 30 м/пиксель до разрешения 15 м/пиксель (кроме bilinear возможные методы: ear, cubic, cubicspline, lanczos, average, mode) (-что и в каких случаях лучше? -- Strix)
gdalwarp -tr 15 15 -r bilinear r.tif r_res.tif gdalwarp -tr 15 15 -r bilinear g.tif g_res.tif gdalwarp -tr 15 15 -r bilinear b.tif b_res.tif
Паншарпенинг отдельных каналов преобразованием Бровея
gdal_calc.py -A r_res.tif -B g_res.tif -C b_res.tif -D pan.tif --outfile=r_res_pan.tif --calc="(D*A)/(A+B+C)" gdal_calc.py -A r_res.tif -B g_res.tif -C b_res.tif -D pan.tif --outfile=g_res_pan.tif --calc="(D*B)/(A+B+C)" gdal_calc.py -A r_res.tif -B g_res.tif -C b_res.tif -D pan.tif --outfile=b_res_pan.tif --calc="(D*C)/(A+B+C)"
Преобразование 16-битных каналов в 8-битные с коррекцией гистограммы
gdal_contrast_stretch -histeq 100 r_res_pan.tif r_res_pan8.tif gdal_contrast_stretch -histeq 100 g_res_pan.tif g_res_pan8.tif gdal_contrast_stretch -histeq 100 b_res_pan.tif b_res_pan8.tif
Сборка отдельных каналов в rgb-композит
gdal_merge.py -separate r_res_pan8.tif g_res_pan8.tif b_res_pan8.tif -o rgb.tif
ImageMagick
Ресемплинг каналов с разрешением 30 м/пиксель до разрешения 15 м/пиксель c одновременной коррекцией гистограммы
convert -contrast-stretch 0.1%x3% -resize 200% r.tif r_res.tif convert -contrast-stretch 0.1%x3% -resize 200% g.tif g_res.tif convert -contrast-stretch 0.1%x3% -resize 200% b.tif b_res.tif
Коррекция гистограммы панхроматического канала
convert -contrast-stretch 0.1%x3% pan.tif panhist.tif
Сборка цветного композита
convert r_res.tif g_res.tif b_res.tif -combine -set colorspace RGB rgb.tif
Разложение цветного композита на отдельные каналы в цветовом пространстве IHS (HSL)
convert rgb.tif -colorspace HSL -separate separate_HSL_%d.tif
Паншарпенинг
convert separate_HSL_0.tif separate_HSL_1.tif panhist.tif -combine -set colorspace HSL rgbpan.tif
Преобразование rgb-композита с 16-битами на канал в композит с 8-битами на канал
convert rgbpan.tif -depth 8 rgbpan8.tif
Дамп метаданных из панхроматического канала с помощью listgeo из набора утилит geotiff-bin
listgeo pan.tif > geo
Географическая привязка итогового цветного композита, полученного в результате паншарпенинга, переносом дампа с помощью geotifcp из набора утилит geotiff-bin
geotifcp -g geo rgbpan8.tif rgbpan8gr.tif
Orfeo Toolbox / Monteverdi
http://live.osgeo.org/ru/overview/otb_overview.html
http://www.orfeo-toolbox.org/Applications/Pansharpening.html otbcli_Pansharpening
SAGA
Imagery - Tools Намного больше опций, чем в том же GRASS. -- rhot
- Colour Normalized Brovey Sharpening
- Colour Normalized Spectral Sharpening
- IHS Sharpening
- Principle Components Based Image Sharpening
R
--- ---
Whitebox GAT
http://www.uoguelph.ca/~hydrogeo/Whitebox/Help/MainHelp.html
- Brovey transformation
- Intensity-Hue-Saturation (IHS)
Результаты
Проверка результатов работы
http://www.digitalglobe.com/downloads/WorldView-2_Pan-Sharpening.pdf