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 # dijalankan dengan template default 'smallbaselineApp.cfg'smallbaselineApp.py <custom_template> # dijalankan dengan template default dan kustomsmallbaselineApp.py -h / --help # helpsmallbaselineApp.py -H # mencetak opsi template defaultsmallbaselineApp.py -g # buat template default jika tidak adasmallbaselineApp.py -g <custom_template> # buat/perbarui template default berdasarkan template khusus# Jalankan dengan --start/stop/dostep optionssmallbaselineApp.py GalapagosSenDT128.txt --dostep speed # jalankan langkah 'velocity' onlysmallbaselineApp.py GalapagosSenDT128.txt --end load_data # akhir jalankan setelah langkah '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 global model atmosfer atau pendekatan rasio elevasi fase), menghilangkan jalur landai fase (jika diminta), mengoreksi kesalahan DEM,... dan terakhir memperkirakan kecepatan.
Parameter konfigurasi untuk setiap langkah dimulai dengan nilai default dalam file teks yang dapat disesuaikan smallbaselineApp.cfg .
dapatkan https://zenodo.org/record/3952953/files/FernandinaSenDT128.tar.xz tar -xvJf FernandinaSenDT128.tar.xzcd FernandinaSenDT128/mintpy smallbaselineApp.py ${MINTPY_HOME}/docs/templates/FernandinaSenDT128.txt
Hasilnya diplot dalam folder ./pic . Untuk menjelajahi lebih banyak informasi data dan visualisasi, cobalah skrip berikut:
info.py # periksa struktur file HDF5 dan metadataview.py # Tampilan peta 2Dtsview.py # Deret waktu titik 1D (interaktif)plot_coherence_matrix.py # matriks koherensi plot untuk satu piksel (interaktif)plot_network.py # konfigurasi jaringan plot dari datasetplot_transection .py # plot profil 1D sepanjang garis matriks 2D (interaktif)save_kmz.py # buat Google Earth File KMZ dalam poin atau raster imagesave_kmz_timeseries.py # menghasilkan file KMZ Google Earth dalam poin untuk deret waktu (interaktif)
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.
dari mintpy.utils impor readfilets_data, meta = readfile.read('timeseries_ERA5_ramp_demErr.h5')
Algoritma yang diimplementasikan dalam perangkat lunak dijelaskan secara rinci di Yunjun et al. (2019).
Mulai cepat dengan contoh kumpulan data
Contoh direktori data
Contoh file templat
Tutorial di Notebook Jupyter
Sebagian besar diskusi pengembangan terjadi di GitHub. Jangan ragu untuk membuka masalah atau mengomentari masalah terbuka atau permintaan penarikan apa pun.
Bergabunglah dengan forum pengguna kami di grup Google atau gunakan diskusi github untuk mengajukan pertanyaan atau meninggalkan komentar.
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!); itu 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 menerapkan tes, atau bahkan memberikan umpan balik tentang proyek (dan ya - itu termasuk memberikan umpan balik tentang proses kontribusi). Beberapa dari kontribusi ini mungkin 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.