Phase.jl
Julia ecosystem for phase retrieval, modal wavefront representation and deformable-mirror calibration
Phase.jl is a family of open-source Julia packages that I develop and maintain in the JuliaPhase GitHub organization. They grew out of our research on wavefront sensing, phase retrieval and adaptive optics, and together cover the whole chain from measured data to the corrected wavefront.
Start at the hub repository, JuliaPhase/Phase.jl.
Phase retrieval
- PhaseRetrieval.jl — phase retrieval from focal-plane images, including phase diversity.
- AlternatingProjections.jl — Gerchberg–Saxton and other alternating-projection algorithms, written close to their mathematical formulation.
Wavefront representation
- PhaseBases.jl — modal bases (Zernike and others) for wavefront representation.
- SampledDomains.jl — sampled grids and apertures on which the phase is defined.
Interferometry and phase processing
- PhaseFromInterferograms.jl — phase extraction from interferograms.
- CircleMedianFilter.jl — fast median filtering of circular (wrapped-phase) data.
- EllipseGeometry.jl — ellipse fitting and geometry.
Deformable mirrors
- DeformableMirrors.jl — models of deformable mirrors for adaptive optics.
- MirrorCalibration.jl — calibration of deformable mirrors.
Utilities
- PhaseUtils.jl — common tools for working with phase data.
- PhasePlots.jl — visualisation of phases and wavefronts.
Parts of this work were funded by the EU projects MADEin4 (ECSEL JU, No 826589) and 14AMI (Chips JU, No 101111948).