Phase Statistics

Overview

The phaseStats module provides functions for computing atmospheric phase statistics — covariance matrices, structure functions, and power spectral densities — used by Atmosphere to generate phase screens.

Selected API reference

OOPAO.phaseStats.variance(atm)[source]

Compute the total phase variance from an atmosphere object.

Parameters:

atm (Atmosphere) – Atmosphere object.

Returns:

Phase variance in rad² (at 500 nm).

Return type:

float

OOPAO.phaseStats.covariance(rho, atm)[source]

Compute the Von Kármán phase covariance at baseline rho.

Parameters:
Returns:

Phase covariance values.

Return type:

numpy.ndarray

OOPAO.phaseStats.ft_phase_screen(r0, N, delta, L0, l0, seed=None)[source]

Generate a single Fourier-transform phase screen with Von Kármán statistics.

Parameters:
  • r0 (float) – Fried parameter in metres.

  • N (int) – Screen size in pixels.

  • delta (float) – Pixel scale in metres per pixel.

  • L0 (float) – Outer scale in metres.

  • l0 (float) – Inner scale in metres.

  • seed (int or None) – Random seed. Default None.

Returns:

2-D phase screen in metres.

Return type:

numpy.ndarray

OOPAO.phaseStats.makeCovarianceMatrix(dm, atm, tel)[source]

Build the DM–atmosphere covariance matrix used for KL basis computation.

Parameters:
Returns:

Covariance matrix.

Return type:

numpy.ndarray