chore: initialize insar management system v2
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Run MintPy smallbaselineApp with a local workaround for a single-pixel inversion bug."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
|
||||
import numpy as np
|
||||
|
||||
import mintpy.ifgram_inversion as ifgram_inversion
|
||||
from mintpy.cli.smallbaselineApp import main as mintpy_smallbaseline_main
|
||||
|
||||
|
||||
_ORIGINAL_ESTIMATE_TIMESERIES = ifgram_inversion.estimate_timeseries
|
||||
|
||||
|
||||
def _patched_estimate_timeseries(*args, **kwargs):
|
||||
ts, inv_quality, num_inv_obs = _ORIGINAL_ESTIMATE_TIMESERIES(*args, **kwargs)
|
||||
|
||||
# MintPy 1.6.2 may return a shape-(1,) inversion quality array for the
|
||||
# single-pixel partial-network branch, while the caller expects a scalar.
|
||||
if isinstance(inv_quality, np.ndarray) and inv_quality.size == 1:
|
||||
inv_quality = np.asarray(inv_quality).reshape(-1)[0].item()
|
||||
|
||||
if isinstance(num_inv_obs, np.ndarray) and num_inv_obs.size == 1:
|
||||
num_inv_obs = int(np.asarray(num_inv_obs).reshape(-1)[0])
|
||||
|
||||
return ts, inv_quality, num_inv_obs
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
ifgram_inversion.estimate_timeseries = _patched_estimate_timeseries
|
||||
print("Applied local MintPy estimate_timeseries single-pixel fix.")
|
||||
return mintpy_smallbaseline_main(argv)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main(sys.argv[1:]))
|
||||
Reference in New Issue
Block a user