Программное обеспечение Miami INsar Time-series на PYthon (MintPy как /mɪnt paɪ/) представляет собой пакет с открытым исходным кодом для анализа временных рядов интерферометрического радара с синтезированной апертурой (InSAR). Он считывает стопку интерферограмм (зарегистрированных и развернутых) в формате ISCE, ARIA, FRInGE, HyP3, GMTSAR, SNAP, GAMMA или ROI_PAC и производит трехмерное (2D в пространстве и 1D во времени) смещение поверхности земли по прямой линии. направление взгляда. Он включает в себя обычный анализ временных рядов ( smallbaselineApp.py
) и некоторый независимый набор инструментов.
До версии 1.1.1 этот пакет назывался PySAR. Для версии 1.1.2 и более поздних версий вместо этого мы используем MintPy.
Это исследовательский код, предоставляемый вам «как есть» БЕЗ ГАРАНТИЙ ПРАВИЛЬНОСТИ. Используйте на свой страх и риск.
smallbaselineApp.py
MintPy считывает стопку интерферограмм (развернутые интерферограммы, когерентность и связные компоненты из SNAPHU, если таковые имеются) и файлы геометрии (матрица высот, таблица поиска, угол падения и т. д.). Вам нужно указать путь к файлам, а MintPy позаботится обо всем остальном!
smallbaselineApp.py # run with default template 'smallbaselineApp.cfg'
smallbaselineApp.py < custom_template > # run with default and custom templates
smallbaselineApp.py -h / --help # help
smallbaselineApp.py -H # print default template options
smallbaselineApp.py -g # generate default template if it does not exist
smallbaselineApp.py -g < custom_template > # generate/update default template based on custom template
# Run with --start/stop/dostep options
smallbaselineApp.py GalapagosSenDT128.txt --dostep velocity # run step 'velocity' only
smallbaselineApp.py GalapagosSenDT128.txt --end load_data # end run after step 'load_data'
Внутри smallbaselineApp.py он считывает развернутые интерферограммы, связывает их все с одним и тем же когерентным пикселем (опорной точкой), вычисляет замыкание фазы и оценивает ошибки развертывания (если это было запрошено), инвертирует сеть интерферограмм во времени. -series, вычисляет временную когерентность для оценки качества инверсии, корректирует дрейф гетеродина (только для Envisat), корректирует стратифицированную тропосферную задержку (с использованием глобальных моделей атмосферы или подхода, основанного на соотношении фазовых возвышений), удаляет фазовые изменения (если они были запрашивается), исправляет ошибку DEM... и, наконец, оценивает скорость.
Параметры конфигурации для каждого шага задаются со значениями по умолчанию в настраиваемом текстовом файле smallbaselineApp.cfg .
wget https://zenodo.org/record/3952953/files/FernandinaSenDT128.tar.xz
tar -xvJf FernandinaSenDT128.tar.xz
cd FernandinaSenDT128/mintpy
smallbaselineApp.py ${MINTPY_HOME} /docs/templates/FernandinaSenDT128.txt
Результаты отображаются в папке ./pic . Чтобы изучить дополнительную информацию и визуализацию данных, попробуйте следующие сценарии:
info.py # check HDF5 file structure and metadata
view.py # 2D map view
tsview.py # 1D point time-series (interactive)
plot_coherence_matrix.py # plot coherence matrix for one pixel (interactive)
plot_network.py # plot network configuration of the dataset
plot_transection.py # plot 1D profile along a line of a 2D matrix (interactive)
save_kmz.py # generate Google Earth KMZ file in points or raster image
save_kmz_timeseries.py # generate Google Earth KMZ file in points for time-series (interactive)
MintPy — это набор инструментов с отдельными служебными скриптами. Просто запустите скрипт с ключом -h / --help
, чтобы увидеть его использование, и вы сможете создать свой собственный рецепт обработки! Вот пример сравнения скоростей, оцененных по временным рядам смещений с различными поправками на тропосферную задержку.
mintpy
MintPy модулируется на Python с помощью служебных классов и функций и хорошо комментируется на уровне кода. Пользователи, знакомые с Python, могут создавать свои собственные функции и модули на основе mintpy.objects
и mintpy.utils
. Однако у нас пока нет полноценного веб-сайта с документами по API (возможно, вы сможете внести свой вклад!). Ниже приведен пример чтения трехмерной матрицы временного ряда смещения из файла HDF5.
from mintpy . utils import readfile
ts_data , meta = readfile . read ( 'timeseries_ERA5_ramp_demErr.h5' )
Алгоритмы, реализованные в программном обеспечении, подробно описаны Yunjun et al. (2019).
Отказ от ответственности при синдроме самозванца: нам нужна ваша помощь. Нет, правда.
В вашей голове может звучать тихий голос, говорящий вам, что вы не готовы участвовать в разработке ПО с открытым исходным кодом; что ваши навыки недостаточно хороши, чтобы внести свой вклад. Что вы могли бы предложить?
Уверяем вас – голосок в вашей голове ошибается. Если вы вообще умеете писать код, вы можете внести его в открытый исходный код. Участие в проектах с открытым исходным кодом — отличный способ улучшить свои навыки программирования. Написание идеального кода не является показателем хорошего разработчика (это дисквалифицирует всех нас!); он пытается что-то создать, совершает ошибки и учится на этих ошибках. Именно так мы все совершенствуемся, и мы рады помочь другим учиться.
Быть участником открытого исходного кода — это не просто писать код. Вы можете помочь, написав или вычитав документацию, предложив или внедрив тесты, или даже оставив отзыв о проекте (и да, это включает в себя предоставление отзывов о процессе участия). Некоторые из этих вкладов могут оказаться наиболее ценными для проекта в целом, поскольку вы подходите к проекту свежим взглядом и можете увидеть ошибки и предположения, которые опытные участники замалчивают.
Для получения дополнительной информации, пожалуйста, прочитайте наше руководство по участию.
Этот отказ от ответственности был адаптирован из проекта MetPy.
Юнджун З., Фаттахи Х. и Амелунг Ф. (2019), Анализ временных рядов InSAR для малых базовых показателей: коррекция ошибок и уменьшение шума, Computers & Geosciences , 133 , 104331. [ doi | архив | данные | блокнот ]
Помимо вышесказанного, мы рекомендуем вам ссылаться на оригинальные публикации, описывающие алгоритмы, использованные в вашем конкретном анализе. Они кратко отмечены в файле шаблона по умолчанию и перечислены в справочном файле.