Паншарпенинг данных Landsat 8 средствами свободного ПО: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
м (замена неработающей ссылки)
 
(не показаны 32 промежуточные версии 3 участников)
Строка 1: Строка 1:
{{Статья|Черновик}}
{{Статья|Черновик}}
{{Аннотация| Здесь будет описано (если будет), как можно сделать паншарпенинг данных Landsat 8 с помощью инструментов GDAL и GRASS}}
{{Аннотация| Здесь будет описано (если будет), как можно сделать паншарпенинг данных Landsat 8 с помощью инструментов различного свободного ПО.}}
=Что такое паншарпенинг?=
 
''Теория о методе, когда впервые появился, кто создатель''
По мотивам [http://gis-lab.info/forum/viewtopic.php?f=29&t=15422 этой] темы на форуме.
 
== Что такое "паншарпенинг"? ==
Паншарпенинг (от англ. "panchromatic sharpening" или "pan sharpening") — процесс, позволяющий получить из панхроматического и мультиспектрального каналов двух продуктов одно изображение. Панхроматический канал, как правило, имеет более высокое пространственное разрешение, мультиспектральный — более низкое. В результате слияния каналов получается цветное изображение с высоким разрешением [http://www.racurs.ru/wiki/index.php/%D0%93%D0%BB%D0%BE%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%B9_%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%B2_%D0%94%D0%97%D0%97._%D0%9F%D0%B0%D0%BD%D1%88%D0%B0%D1%80%D0%BF%D0%B5%D0%BD%D0%B8%D0%BD%D0%B3].
 
Теория о методе, когда впервые появился, кто создатель - <span style="color:blue;background-color:yellow">мне кажется, это лишнее (А.М.)''</span>
 
 
Методы паншарпенинга -  <span style="color:blue;background-color:yellow">лучше кратко (А.М.)''</span>
 


Методы паншарпенинга
* brovey
* brovey
* IHS
BandRed_out = BandRed_in / [(BandBlue_in + BandGreen_in + BandRed_in) * BandPan]
* PCA
* IHS (Intensity, Hue, Saturation)
=Условия выполнения=
* PCA (Principal Component Analysis)
Данные Landsat 8 поставляются в 16-битном растровом формате (Tiff). Алгоритмы GDAL и GRASS работают пока только с 8-битными форматами данных. Поэтому для получения растров повышенного разрешения необходимо сначала преобразовать входные данные в 8-битовый формат.
 
== Кратко о Landsat 8 ==
[http://ru.wikipedia.org/wiki/Landsat_8 Landsat 8] - это американский спутник дистанционного зондирования земли, запущенный 11 февраля 2013 года. Спутник создан совместными усилиями NASA и USGS.
 
== Тестовые данные ==
В качестве тестовых данных используется сцена Landsat 8 от 29.06.2013 (Entity ID: LC81710172013180LGN00). В архиве с данными 12 растров, 11 из которых несут информацию узкого диапазона электромагнитного спектра. Двенадцатый растр с суффиксом QA предназначен для оценки качества съёмки. Кроме этого данные Landsat 8 поставляются с файлом метаданных, который необходим для проведения атмосферной коррекции.
=== Как получить данные? ===
Получить снимки можно с помощью [http://earthexplorer.usgs.gov/ 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-битными данными и никаких проблем не встречал -- КД)''
''Это точно? Или речь идет о каких-то конкретных алгоритмах? (Просто я постоянно работаю с 16-битными данными и никаких проблем не встречал -- КД)''
''(Действительно не совсем так. В GDAL ресемплинг и пересчет каналов преобразованием Бровея осуществляется с 16-битными данными. Преобразование в 8-битные происходит непосредственно перед созданием цветного композита -- Strix)''
''Моя ошибка. Модуль работает только 8-битными данными -- rhot''
== Паншарпенинг средствами свободного ПО ==
=== GRASS ===


=Описание общих данных=
В качестве тестовых данных используется сцена Landsat 8.
=Методика паншарпенинга в GRASS=
См. http://courses.neteler.org/processing-landsat-8-data-in-grass-gis-7-rgb-composites-and-pan-sharpening/
См. http://courses.neteler.org/processing-landsat-8-data-in-grass-gis-7-rgb-composites-and-pan-sharpening/


# r.rescale.eq
# r.rescale.eq
# i.pansharpen
# i.pansharpen
# r.composite
=== GDAL ===
* допиленный gdal_calc.py + gdal_contrast_stretch (dans-gdal-scripts) <span style="color:red;background-color:yellow">''Хорошо бы сюда ссылку на этот допиленный скрипт и вкраце показать, где он допилен. -- rhot''</span> ''Да, я обязательно это все добавлю -- 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


=Методика паншарпенинга средствами GDAL=
* https://www.mapbox.com/blog/pansharpening-satellite-imagery-openstreetmap/


По мотивам [http://gis-lab.info/forum/viewtopic.php?f=29&t=15422 этой] темы на форуме.
=== 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 <span style="color:red;background-color:yellow">''Намного больше опций, чем в том же GRASS.  -- rhot''</span>
* 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/PanSharpening.html
* Brovey transformation
* Intensity-Hue-Saturation (IHS)
 
==Результаты==
===Проверка результатов работы===
http://www.digitalglobe.com/downloads/WorldView-2_Pan-Sharpening.pdf - по ссылке файла нет, найден другой, с тем же названием:
http://www.asprs.org/a/publications/proceedings/sandiego2010/sandiego10/Padwick.pdf

Текущая версия от 13:51, 30 октября 2015

Эта страница является черновиком статьи.


Здесь будет описано (если будет), как можно сделать паншарпенинг данных 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

См. http://courses.neteler.org/processing-landsat-8-data-in-grass-gis-7-rgb-composites-and-pan-sharpening/

  1. r.rescale.eq
  2. i.pansharpen
  3. 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/PanSharpening.html

  • Brovey transformation
  • Intensity-Hue-Saturation (IHS)

Результаты

Проверка результатов работы

http://www.digitalglobe.com/downloads/WorldView-2_Pan-Sharpening.pdf - по ссылке файла нет, найден другой, с тем же названием: http://www.asprs.org/a/publications/proceedings/sandiego2010/sandiego10/Padwick.pdf