PYthon의 Miami INsar 시계열 소프트웨어(MintPy, /mənt paa/)는 InSAR(Interferometric Synthetic Aperture Radar) 시계열 분석을 위한 오픈 소스 패키지입니다. ISCE, ARIA, FRInGE, HyP3, GMTSAR, SNAP, GAMMA 또는 ROI_PAC 형식의 인터페로그램 스택(공동 등록 및 언래핑)을 읽고 라인 오브-라인에서 3차원(공간에서는 2D, 시간에서는 1D) 지표면 변위를 생성합니다. 시야 방향. 여기에는 일상적인 시계열 분석( smallbaselineApp.py
) 및 일부 독립 도구 상자가 포함되어 있습니다.
이 패키지는 버전 1.1.1 이전에는 PySAR이라고 불렸습니다. 버전 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 파일에서 변위 시계열의 3D 매트릭스를 읽는 예입니다.
from mintpy . utils import readfile
ts_data , meta = readfile . read ( 'timeseries_ERA5_ramp_demErr.h5' )
소프트웨어에 구현된 알고리즘은 Yunjun et al.에 자세히 설명되어 있습니다. (2019).
가면 증후군 면책 조항: 우리는 귀하의 도움을 원합니다. 아뇨, 정말요.
여러분의 머리 속에는 아직 오픈 소스 기여자가 될 준비가 되지 않았다고 말하는 작은 목소리가 있을 수 있습니다. 당신의 기술이 기여할 만큼 충분하지 않다는 것입니다. 당신은 무엇을 제안할 수 있나요?
우리는 당신에게 확신합니다 - 당신의 머리 속의 작은 목소리는 틀렸습니다. 코드를 작성할 수 있다면 오픈 소스에 코드를 기여할 수 있습니다. 오픈 소스 프로젝트에 기여하는 것은 코딩 기술을 향상시키는 환상적인 방법입니다. 완벽한 코드를 작성하는 것은 훌륭한 개발자의 척도가 아닙니다(그러면 우리 모두가 자격을 잃게 됩니다!). 무언가를 창조하려고 노력하고, 실수를 하고, 그 실수로부터 배우려고 노력하는 것입니다. 이것이 우리 모두의 발전 방법이며, 다른 사람들이 배우도록 기꺼이 도와줍니다.
오픈소스 기여자가 된다는 것은 단순히 코드를 작성하는 것을 의미하지 않습니다. 문서를 작성하거나 교정하고, 테스트를 제안 또는 구현하고, 심지어 프로젝트에 대한 피드백을 제공하여 도움을 줄 수 있습니다. 여기에는 기여 프로세스에 대한 피드백 제공도 포함됩니다. 이러한 기여 중 일부는 프로젝트 전체에 가장 가치 있는 것일 수 있습니다. 왜냐하면 여러분은 새로운 눈으로 프로젝트를 바라보고 노련한 기여자가 얼버무린 오류와 가정을 볼 수 있기 때문입니다.
자세한 내용은 기여 가이드를 읽어보세요.
이 면책 조항은 MetPy 프로젝트에서 수정되었습니다.
Yunjun, Z., Fattahi, H. 및 Amelung, F. (2019), 소규모 기준선 InSAR 시계열 분석: 언래핑 오류 수정 및 잡음 감소, 컴퓨터 및 지구과학 , 133 , 104331. [ doi | 아르크시브 | 데이터 | 공책 ]
위 내용 외에도 특정 분석에 사용된 알고리즘을 설명하는 원본 출판물을 인용하는 것이 좋습니다. 기본 템플릿 파일에 간략하게 기록되어 있으며 참조 파일에 나열되어 있습니다.