| Crates.io | snaphu-sys |
| lib.rs | snaphu-sys |
| version | 0.1.2 |
| created_at | 2026-01-25 05:59:34.559748+00 |
| updated_at | 2026-01-26 00:52:07.046436+00 |
| description | Low-level Rust bindings to the SNAPHU C library |
| homepage | https://github.com/vini-fda/snaphu-sys |
| repository | https://github.com/vini-fda/snaphu-sys |
| max_upload_size | |
| id | 2068230 |
| size | 688,429 |
snaphu-sys provides low-level Rust bindings to the SNAPHU library,
a C implementation of a statistical-cost, network-flow algorithm for two-dimensional phase unwrapping.
From their website:
Two-dimensional phase unwrapping is the process of recovering unambiguous phase values from data known only modulo $2 \pi$. SNAPHU formulates this problem as a maximum a posteriori (MAP) estimation task and solves it approximately using network-flow optimization techniques. The implementation includes statistical models tailored for topography, deformation, and smooth generic data, and is commonly used in InSAR and related geophysical applications.
This crate exposes the original SNAPHU C API, with slight modifications, via unsafe FFI bindings. It does not provide a safe or idiomatic Rust interface.
The upstream SNAPHU codebase targets Unix-like platforms, and these bindings target the upstream version 2.0.7 (February 2024).
This project includes code derived from SNAPHU and the cs2 minimum-cost flow solver.
The cs2 component is licensed for non-commercial / evaluation use only. As a result, this crate may not be used for commercial purposes.
See the original SNAPHU and cs2 documentation for full terms.
This library is based on the phase unwrapping algorithms developed by Curtis W. Chen and Howard A. Zebker, as described in the following publications: