Perangkat lunak Miami INsar Time-series di PYthon (MintPy as /mɪnt paɪ/) adalah paket sumber terbuka untuk analisis deret waktu Interferometric Synthetic Aperture Radar (InSAR). Ia membaca tumpukan interferogram (terdaftar dan terbuka) dalam format ISCE, ARIA, FRInGE, HyP3, GMTSAR, SNAP, GAMMA atau ROI_PAC, dan menghasilkan perpindahan permukaan tanah tiga dimensi (2D dalam ruang dan 1D dalam waktu) dalam garis-garis. arah penglihatan. Ini mencakup analisis deret waktu rutin ( smallbaselineApp.py
) dan beberapa kotak peralatan independen.
Paket ini disebut PySAR sebelum versi 1.1.1. Untuk versi 1.1.2 dan seterusnya, kami menggunakan MintPy sebagai gantinya.
Ini adalah kode penelitian yang diberikan kepada Anda "sebagaimana adanya" tanpa JAMINAN KEBENARAN. Gunakan dengan risiko Anda sendiri.
smallbaselineApp.py
MintPy membaca tumpukan interferogram (interferogram terbuka, koherensi, dan komponen terhubung dari SNAPHU jika tersedia) dan file geometri (DEM, tabel pencarian, sudut datang, dll.). Anda perlu memberikan jalur ke lokasi file dan MintPy akan mengurus sisanya!
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'
Di dalam smallbaselineApp.py, ia membaca interferogram yang tidak terbungkus, mereferensikan semuanya ke piksel koheren yang sama (titik referensi), menghitung penutupan fase dan memperkirakan kesalahan yang tidak terbungkus (jika diminta), membalikkan jaringan interferogram ke dalam waktu -seri, menghitung koherensi temporal untuk mengevaluasi kualitas inversi, mengoreksi penyimpangan osilator lokal (hanya untuk Envisat), mengoreksi penundaan troposfer bertingkat (menggunakan model atmosfer global atau pendekatan rasio elevasi fase), menghilangkan jalur landai (jika sudah ada) diminta), mengoreksi kesalahan DEM,... dan akhirnya memperkirakan kecepatan.
Parameter konfigurasi untuk setiap langkah dimulai dengan nilai default dalam file teks yang dapat disesuaikan 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
Hasilnya diplot dalam folder ./pic . Untuk menjelajahi lebih banyak informasi data dan visualisasi, coba skrip berikut:
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 adalah kotak peralatan dengan skrip utilitas individual. Cukup jalankan skrip dengan -h / --help
untuk melihat penggunaannya, Anda dapat membuat resep pemrosesan khusus Anda sendiri! Berikut adalah contoh untuk membandingkan perkiraan kecepatan dari deret waktu perpindahan dengan koreksi penundaan troposfer yang berbeda.
mintpy
MintPy dimodulasi dalam Python dengan kelas dan fungsi utilitas dan dikomentari dengan baik di tingkat kode. Pengguna yang familiar dengan Python dapat membangun fungsi dan modul mereka sendiri di atas mintpy.objects
dan mintpy.utils
. Namun, kami belum memiliki situs web dokumen API yang lengkap (mungkin Anda dapat berkontribusi!). Di bawah ini adalah contoh pembacaan matriks 3D deret waktu perpindahan dari file HDF5.
from mintpy . utils import readfile
ts_data , meta = readfile . read ( 'timeseries_ERA5_ramp_demErr.h5' )
Algoritma yang diimplementasikan dalam perangkat lunak dijelaskan secara rinci di Yunjun et al. (2019).
Penafian sindrom penipu: Kami membutuhkan bantuan Anda. Tidak, sungguh.
Mungkin ada sedikit suara di kepala Anda yang memberi tahu Anda bahwa Anda belum siap menjadi kontributor open source; bahwa keterampilan Anda hampir tidak cukup baik untuk berkontribusi. Apa yang mungkin bisa Anda tawarkan?
Kami jamin - suara kecil di kepala Anda salah. Jika Anda dapat menulis kode, Anda dapat menyumbangkan kode ke sumber terbuka. Berkontribusi pada proyek sumber terbuka adalah cara luar biasa untuk meningkatkan keterampilan coding seseorang. Menulis kode yang sempurna bukanlah ukuran seorang pengembang yang baik (itu akan mendiskualifikasi kita semua!); ia mencoba menciptakan sesuatu, membuat kesalahan, dan belajar dari kesalahan itu. Begitulah cara kami semua berkembang, dan kami senang membantu orang lain belajar.
Menjadi kontributor open source tidak hanya berarti menulis kode. Anda dapat membantu dengan menulis atau mengoreksi dokumentasi, menyarankan atau melaksanakan tes, atau bahkan memberikan umpan balik tentang proyek (dan ya - itu termasuk memberikan umpan balik tentang proses kontribusi). Beberapa dari kontribusi ini mungkin merupakan kontribusi yang paling berharga bagi proyek secara keseluruhan, karena Anda datang ke proyek dengan pandangan yang segar, sehingga Anda dapat melihat kesalahan dan asumsi yang telah diabaikan oleh kontributor berpengalaman.
Untuk informasi lebih lanjut, silakan baca panduan berkontribusi kami.
Penafian ini diadaptasi dari proyek MetPy.
Yunjun, Z., Fattahi, H., dan Amelung, F. (2019), Analisis deret waktu InSAR dasar kecil: Membuka bungkus koreksi kesalahan dan pengurangan kebisingan, Komputer & Geosains , 133 , 104331. [ doi | arxiv | data | buku catatan ]
Selain hal di atas, kami menyarankan Anda mengutip publikasi asli yang menjelaskan algoritma yang digunakan dalam analisis spesifik Anda. Mereka dicatat secara singkat dalam file templat default dan dicantumkan dalam file referensi.