يعد برنامج 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 # تشغيل باستخدام القالب الافتراضي 'smallbaselineApp.cfg'smallbaselineApp.py <custom_template> # تشغيل باستخدام قوالب افتراضية ومخصصةsmallbaselineApp.py -h / --help # helpmallbaselineApp.py -H # طباعة خيارات القالب الافتراضيةsmallbaselineApp.py -g # إنشاء قالب افتراضي إذا لم يكن موجودًاmallbaselineApp.py -g <custom_template> # إنشاء/تحديث القالب الافتراضي استنادًا إلى القالب المخصص # التشغيل باستخدام --start/stop/dostep optionssmallbaselineApp.py GalapagosSenDT128.txt --dostep velocity # run step 'velocity' فقطsmallbaselineApp.py GalapagosSenDT128.txt --endload_data # end run after step 'load_data'
داخل SmallbaselineApp.py، يقرأ مخططات التداخل غير المغلفة، ويحيلها جميعًا إلى نفس البكسل المتماسك (النقطة المرجعية)، ويحسب إغلاق الطور ويقدر أخطاء التداخل (إذا طُلب ذلك)، ويعكس شبكة مخططات التداخل في الوقت المناسب. - سلسلة، تحسب التماسك الزمني لتقييم جودة الانعكاس، وتصحح انحراف المذبذب المحلي (لـ Envisat فقط)، وتصحح طبقة التروبوسفير الطبقية التأخير (باستخدام نماذج الغلاف الجوي العالمية أو نهج نسبة ارتفاع الطور)، وإزالة منحدرات الطور (إذا طُلب ذلك)، وتصحيح خطأ DEM، ... وأخيرًا تقدير السرعة.
يتم بدء معلمات التكوين لكل خطوة بالقيم الافتراضية في ملف نصي قابل للتخصيص، SmallbaselineApp.cfg .
wget https://zenodo.org/record/3952953/files/FernandinaSenDT128.tar.xz القطران -xvJf FernandinaSenDT128.tar.xzcd FernandinaSenDT128/mintpy SmallbaselineApp.py ${MINTPY_HOME}/docs/templates/FernandinaSenDT128.txt
يتم رسم النتائج في مجلد ./pic . لاستكشاف المزيد من معلومات البيانات وتصوراتها، جرب البرامج النصية التالية:
info.py # تحقق من بنية ملف HDF5 والبيانات الوصفية view.py # خريطة ثنائية الأبعاد viewtsview.py # سلسلة زمنية بنقطة واحدة (تفاعلية)plot_coherence_matrix.py # مصفوفة تماسك المؤامرة لبيكسل واحد (تفاعلي)plot_network.py # تكوين شبكة الرسم لمجموعة البياناتsetplot_transection .py # رسم ملف تعريف 1D على طول خط مصفوفة ثنائية الأبعاد (تفاعلية) save_kmz.py # إنشاء Google Earth ملف KMZ بالنقاط أو الصور النقطيةsave_kmz_timeseries.py # إنشاء ملف Google Earth KMZ بالنقاط للسلاسل الزمنية (تفاعلي)
MintPy عبارة عن صندوق أدوات يحتوي على نصوص برمجية مساعدة فردية. ما عليك سوى تشغيل البرنامج النصي باستخدام -h / --help
لمعرفة استخدامه، ويمكنك إنشاء وصفة المعالجة المخصصة الخاصة بك! وفيما يلي مثال لمقارنة السرعات المقدرة من السلاسل الزمنية للإزاحة مع تصحيحات مختلفة لتأخير التروبوسفير.
mintpy
تم تعديل MintPy في Python باستخدام فئات ووظائف الأدوات المساعدة وتم التعليق عليها جيدًا على مستوى الكود. يمكن للمستخدمين الذين هم على دراية بـ Python إنشاء وظائف ووحدات نمطية خاصة بهم فوق mintpy.objects
و mintpy.utils
. ومع ذلك، ليس لدينا موقع ويب كامل لمستندات API حتى الآن (ربما يمكنك المساهمة بهذا!). فيما يلي مثال لقراءة المصفوفة ثلاثية الأبعاد للسلاسل الزمنية للإزاحة من ملف HDF5.
من mintpy.utils استيراد readfilets_data، meta = readfile.read('timeseries_ERA5_ramp_demErr.h5')
تم وصف الخوارزميات المطبقة في البرنامج بالتفصيل في Yunjun et al. (2019).
بداية سريعة مع مجموعات البيانات النموذجية
دليل البيانات سبيل المثال
ملفات القالب سبيل المثال
دروس في Jupyter Notebook
تتم معظم مناقشات التطوير على GitHub. لا تتردد في فتح قضية أو التعليق على أي قضية مفتوحة أو طلب سحب.
انضم إلى منتدى المستخدمين الخاص بنا على مجموعات Google أو استخدم مناقشات github لطرح الأسئلة أو ترك التعليقات.
إخلاء المسؤولية عن متلازمة المحتال: نريد مساعدتك. لا، حقا.
قد يكون هناك صوت صغير داخل رأسك يخبرك بأنك غير مستعد لأن تكون مساهمًا مفتوح المصدر؛ أن مهاراتك ليست جيدة بما يكفي للمساهمة. ماذا يمكن أن تقدمه؟
نؤكد لك أن الصوت الصغير في رأسك خاطئ. إذا كان بإمكانك كتابة التعليمات البرمجية على الإطلاق، فيمكنك المساهمة بالكود في المصدر المفتوح. تعد المساهمة في المشاريع مفتوحة المصدر طريقة رائعة لتطوير مهارات البرمجة لدى الفرد. إن كتابة التعليمات البرمجية المثالية ليست مقياسًا للمطور الجيد (وهذا من شأنه أن يؤدي إلى استبعادنا جميعًا!) ؛ إنها تحاول إنشاء شيء ما، وارتكاب الأخطاء، والتعلم من تلك الأخطاء. هذه هي الطريقة التي نتحسن بها جميعًا، ويسعدنا مساعدة الآخرين على التعلم.
كونك مساهمًا مفتوح المصدر لا يعني فقط كتابة التعليمات البرمجية. يمكنك المساعدة من خلال كتابة الوثائق أو تدقيقها، أو اقتراح الاختبارات أو تنفيذها، أو حتى تقديم تعليقات حول المشروع (ونعم - يتضمن ذلك تقديم تعليقات حول عملية المساهمة). قد تكون بعض هذه المساهمات هي الأكثر قيمة للمشروع ككل، لأنك قادم إلى المشروع بعيون جديدة، حتى تتمكن من رؤية الأخطاء والافتراضات التي تجاهلها المساهمون المتمرسون.
لمزيد من المعلومات، يرجى قراءة دليل المساهمة لدينا.
تم اقتباس إخلاء المسؤولية هذا من مشروع MetPy.
Yunjun, Z., Fattahi, H., and Amelung, F. (2019)، تحليل السلاسل الزمنية لخط الأساس الصغير InSAR: تصحيح الأخطاء وتقليل الضوضاء، أجهزة الكمبيوتر وعلوم الأرض ، 133 ، 104331. [ doi | أركسيف | البيانات | دفتر ]
بالإضافة إلى ما سبق، نوصي بالاستشهاد بالمنشورات الأصلية التي تصف الخوارزميات المستخدمة في تحليلك المحدد. وقد تمت الإشارة إليها بإيجاز في ملف القالب الافتراضي وإدراجها في الملف المرجعي.