ShackHartmannAnalysis is a Python package designed for the analysis of a Shack-Hartmann Wavefront Sensor, enabling the measurement and reconstruction of wavefront aberrations directly from raw sensor data.
The Shack-Hartmann sensor is a widely used, conceptually straightforward wavefront sensor that assesses wavefront distortions, making it ideal for adaptive optics systems in large telescopes. These systems adjust images to correct for atmospheric turbulence and maintain image clarity.
This library provides three distinct methods for calculating shifts within subapertures:
- Moments: Calculates shifts based on image moments.
- Phase Correlation (PC): Uses phase correlation for shift determination.
- Normalized Cross Correlation (NCC): Determines shifts using normalized cross-correlation.
Here is an example image of a Shack-Hartmann wavefront sensor and result, showing the sensor data with the shifts measured in each subaperture, and the respective reconstructed wavefront:
This example was created by the example.py
script in the demo
directory.
This script should provide a good starting point to familiarize yourself with the functionality of this library.
This project is licensed under the MIT License - see the LICENSE file for details.
Portions of this project are based on the hswfs repository by Timothy Gebhard, used under the MIT License. See the LICENSE file for more details.