يعد برنامج Miami INsar Time-series في PYthon (MintPy as /mɪnt paɪ/) عبارة عن حزمة مفتوحة المصدر لتحليل السلاسل الزمنية لرادار الفتحة الاصطناعية التداخلية (InSAR). يقرأ مجموعة من مخططات التداخل (المسجلة وغير المغلفة) بتنسيق ISCE أو ARIA أو FRInGE أو HyP3 أو GMTSAR أو SNAP أو GAMMA أو ROI_PAC، وينتج إزاحة سطح الأرض ثلاثية الأبعاد (2D في الفضاء و1D في الوقت المناسب) في خط اتجاه البصر. يتضمن تحليلًا روتينيًا للسلاسل الزمنية ( smallbaselineApp.py
) وبعض الأدوات المستقلة.
كانت هذه الحزمة تسمى PySAR قبل الإصدار 1.1.1. بالنسبة للإصدار 1.1.2 وما بعده، نستخدم MintPy بدلاً من ذلك.
هذا هو رمز البحث المقدم لك "كما هو" دون أي ضمانات للصحة. استخدم على مسؤوليتك الخاصة.
smallbaselineApp.py
يقرأ MintPy مجموعة من مخططات التداخل (مخططات التداخل غير المغلفة والتماسك والمكونات المتصلة من SNAPHU إذا كانت متوفرة) وملفات الهندسة (DEM، وجدول البحث، وزاوية الإصابة، وما إلى ذلك). تحتاج إلى تحديد المسار إلى مكان وجود الملفات وسيتولى 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، يقرأ مخططات التداخل غير المغلفة، ويحيلها جميعًا إلى نفس البكسل المتماسك (النقطة المرجعية)، ويحسب إغلاق الطور ويقدر أخطاء التداخل (إذا طُلب ذلك)، ويعكس شبكة مخططات التداخل في الوقت المناسب. - سلسلة، تحسب التماسك الزمني لتقييم جودة الانعكاس، وتصحح انحراف المذبذب المحلي (لـ 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.
Yunjun, Z., Fattahi, H., and Amelung, F. (2019)، تحليل السلاسل الزمنية لخط الأساس الصغير InSAR: تصحيح الأخطاء وتقليل الضوضاء، أجهزة الكمبيوتر وعلوم الأرض ، 133 ، 104331. [ doi | أركسيف | البيانات | دفتر ]
بالإضافة إلى ما سبق، نوصي بالاستشهاد بالمنشورات الأصلية التي تصف الخوارزميات المستخدمة في تحليلك المحدد. تمت الإشارة إليها بإيجاز في ملف القالب الافتراضي وإدراجها في الملف المرجعي.