Skip to content
#edge computing Open access

pyunwrap

Aug 2026 · Zenodo (CERN European Organization for Nuclear Research)

Abstract

pyunwrap unwraps InSAR phase using a physics-informed U-Net that predicts the integer ambiguity map rather than the unwrapped phase itself. The core identity unwrapped = wrapped + 2π·k : is enforced by construction, so the model is structurally incapable of contradicting the observed wrapped phase. This is the first tagged release: the full pipeline from synthetic data through training, tiled inference, analytics, and reporting is implemented, tested, and documented end to end. Highlights AmbiguityNet : a ResNet-34 U-Net predicting integer phase ambiguity via a straight-through-estimator rounding head, with an auxiliary residue-probability head for uncertainty. Realistic synthetic data : Gaussian bowls, a from-scratch Okada (1985) fault dislocation model, a Mogi (1958) volcanic source, DEM topography, Kolmogorov atmospheric noise, orbital ramps, decorrelation noise, and pseudo-real ALOS-2 rewrapping. Curriculum training with optional SNAPHU pseudo-ground-truth fine-tuning on real data. Production tiled inference with edge-aware, residue-weighted smart merging of the ambiguity map , never the phase directly , plus Monte Carlo Dropout uncertainty and an ONNX Runtime → OpenVINO fallback chain. Full analytics suite : residue detection, Nyquist gradient analysis, Grad-CAM, Integrated Gradients, uncertainty calibration, and an automated self-contained HTML report. 65 tests, including known-answer physics tests and a tile-merging regression test that catches boundary-artifact bugs numerically, not visually. Two pre-executed example notebooks covering the training chain and the full end-to-end pipeline against real synthetic data. What's included Synthetic data engine Four deformation models (Gaussian bowl, Okada, Mogi, deformation-free control), DEM-driven topographic phase, Kolmogorov-spectrum atmospheric turbulence, orbital ramps, and coherence-dependent decorrelation noise. Ground-truth ambiguity is computed against the actual observed (noisy) phase ,unwrapping resolves 2π ambiguity, it does not denoise ,which keeps every generated sample exactly consistent with wrapped + 2π·k == unwrapped to floating-point precision. Data pipeline Full-coverage sliding-window tiling, percentile-robust amplitude normalization, and an InSARTileDataset with 8-fold dihedral augmentation that recomputes the integer ambiguity map after every transform rather than reusing a cached value, so it stays exact even at the ±π wrap boundary. Model & training AmbiguityNet (24M params) plus PhysicsInformedUnwrapLoss, a four-component loss combining supervised ambiguity regression, re-wrap consistency, coherence-weighted smoothness, and an ambiguity-map residue penalty. Trainer implements three-stage curriculum learning, AdamW with warmup/cosine annealing, gradient clipping, TensorBoard logging, and optional SNAPHU-based fine-tuning. Inference & deployment PhaseUnwrapper tiles arbitrarily large interferograms and merges results with an edge-aware taper (only feathering edges that actually border a neighboring tile , a plain Hanning window incorrectly zeroes scene boundaries too) weighted by the model's own residue-probability output. ONNX export is single-file by design, with GPU → CPU → OpenVINO backend fallback. Analytics, visualization & reporting Goldstein-style residue detection and clustering, Nyquist gradient- violation mapping, error-distribution statistics, Grad-CAM and Integrated Gradients explainability, uncertainty-calibration reliability diagrams, interactive Plotly 3D surfaces, a folium swipe-comparison map, and a Jinja2-templated HTML report ,all wrapped in best-effort error handling so a reporting failure never breaks a production inference call. Testing & CI A 65-test suite (pytest) covering synthetic generation, model/loss correctness, physics/analytics correctness against hand-constructed known-answer fields (e.g. an exact phase vortex with a known topological charge), and full-pipeline integration. GitHub Actions runs a fast-test matrix across Python 3.10–3.12, a separate slow/integration job, and a ruff/black lint job. Installation git clone https://github.com/EOCoreINT/pyunwrap.git cd pyunwrap pip install -e ".[dev,maps,deploy,notebooks]" See the README for the quickstart and the architecture reference for how data flows through the pipeline. Known limitations This is an early-stage release and is honest about where it currently falls short: No pretrained weights ship with this release. PhaseUnwrapper.from_pretrained() downloads from a Zenodo record you supply; there is no benchmarked checkpoint yet. Monte Carlo Dropout uncertainty is currently a no-op. AmbiguityNet has no nn.Dropout layers yet (only BatchNorm), so uncertainty in UnwrapResult is identically zero. The residue-probability head is the meaningful uncertainty signal available today. No published accuracy benchmark against SNAPHU or other classical unwrappers yet. The physics-consistency guarantees are proven (exhaustively, in tests); real-world unwrapping accuracy on held-out Sentinel-1 data has not yet been formally evaluated in this repo. APIs may change between minor versions until 1.0. Acknowledgments Built on the shoulders of the classical InSAR literature this package's synthetic models and design decisions are grounded in: Goldstein, Zebker & Werner (1988); Itoh (1982); Chen & Zebker (2001, SNAPHU); Okada (1985); Mogi (1958). Full citations in the README. Full Changelog See CHANGELOG.md for the complete, itemized history, including every bug found and fixed during development.

View source

Similar papers

#computer vision Review Sep 2017

Agile Software Development Methods: Review and Analysis

Agile - denoting "the quality of being agile, readiness for motion, nimbleness, activity, dexterity in motion" - software development methods are attempting to offer an answer to the eager business community asking for lighter weight along with faster and nimbler software development processes. This is especially the case with the rapidly growing and volatile Internet software industry as well as for the emerging mobile application environment. The new agile methods have evoked substantial amount of literature and debates. However, academic research on the subject is still scarce, as most of existing publications are written by practitioners or consultants. The aim of this publication is to begin filling this gap by systematically reviewing the existing literature on agile software development methodologies. This publication has three purposes. First, it proposes a definition and a classification of agile software development approaches. Second, it analyses ten software development methods that can be characterized as being "agile" against the defined criterion. Third, it compares these methods and highlights their similarities and differences. Based on this analysis, future research needs are identified and discussed.

P. Abrahamsson, O. Salo, Jussi Ronkainen et al. · 728 citations · ⚡54
#machine learning Review Open access Oct 2014

Software development in startup companies: A systematic mapping study

Context: Software startups are newly created companies with no operating history and fast in producing cutting-edge technologies. These companies develop software under highly uncertain conditions, tackling fast-growing markets under severe lack of resources. Therefore, software startups present a unique combination of characteristics which pose several challenges to software development activities. Objective: This study aims to structure and analyze the literature on software development in startup companies, determining thereby the potential for technology transfer and identifying software development work practices reported by practitioners and researchers. Method: We conducted a systematic mapping study, developing a classification schema, ranking the selected primary studies according their rigor and relevance, and analyzing reported software development work practices in startups. Results: A total of 43 primary studies were identified and mapped, synthesizing the available evidence on software development in startups. Only 16 studies are entirely dedicated to software development in startups, of which 10 result in a weak contribution (advice and implications (6); lesson learned (3); tool (1)). Nineteen studies focus on managerial and organizational factors. Moreover, only 9 studies exhibit high scientific rigor and relevance. From the reviewed primary studies, 213 software engineering work practices were extracted, categorized and analyzed. Conclusion: This mapping study provides the first systematic exploration of the state-of-art on software startup research. The existing body of knowledge is limited to a few high quality studies. Furthermore, the results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.

Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al. · 394 citations · ⚡54

Related blog posts

Microsoft Research Blog Aug 31, 2026

GigaPath-Flash and GigaTIME-Flash: Toward population-scale discovery with efficient pathology foundation models

What if pathology foundation models could do more with less? GigaPath-Flash and GigaTIME-Flash cut computational demands while maintaining strong performance, opening the door to larger studies and broader exploration. The post GigaPath-Flash and GigaTIME-Flash: Toward population-scale discovery with efficient pathology foundation models appeared first on Microsoft Research.

MIT News · Artificial Intelligence Aug 27, 2026

Looking beyond natural sequences

A new machine-learning framework aims to improve the success rate of computational protein design while moving away from results that reproduce sequences found in nature.