The goal of this project is to extend the cross-platform compatibility of the PHASE software (https://github.com/robimonti/PHASE/tree/main) by enabling full support on macOS, and to provide a streamlined installation experience on both macOS and Linux. PHASE is a tool for SAR satellite image processing, that is fully operative under Windows system, having some sub-modules that are already compatible with other operative systems, such as macOS and Linux.
PHASE relies on two key external tools: StaMPS (Stanford Method for Persistent Scatterers), a MATLAB/Octave package for multi-temporal InSAR analysis used to identify and process persistent scatterer pixels; and TRAIN (Toolbox for Reduction of Atmospheric InSAR Noise), a tool designed to mitigate atmospheric artefacts in InSAR displacement time series. Both tools are Unix-based and already run natively on Linux, meaning the porting effort to macOS is expected to be relatively contained, primarily involving path handling, shell compatibility adjustments, and dependency resolution.
The project has two main components:
- macOS Compatibility Porting. The student will verify and ensure that StaMPS and TRAIN run correctly on macOS, identifying and resolving any platform-specific issues related to shell environments (e.g., differences between bash and zsh), file system conventions, and third-party dependencies. The outcome should be a tested and documented set of patches or configuration changes that bring macOS support on par with the existing Linux and Windows behavior.
- Cross-Platform Installer. Taking inspiration from the existing Windows installer, the student will develop equivalent installers for macOS and Linux. Each installer should automatically guide the user through the full setup process, including: cloning the required repositories (PHASE, StaMPS, TRAIN); downloading and configuring required packages and dependencies (e.g., Python and relevant libraries); and correctly patching all internal paths so that PHASE’s GUI can locate and interface with the installed tools without manual configuration.