e_rs

pyoof.aperture.e_rs(phase, circ=False)[source]

Computes the random-surface-error efficiency, \(\varepsilon_\mathrm{rs}\), using the Ruze’s equation.

Parameters
phaseQuantity

The phase-error, \(\varphi(x, y)\), is a two dimensional array ( one of the solutions from the pyoof package). Its amplitude values are in radians. The input must be in radians or angle units.

circbool

If True it will take the phase.shape[0] as the diameter of a circle and calculate the root-mean-square only in that portion.

Notes

Ruze’s equation was derived empirically from a test reflector with Gaussian distributed errors, and it expressed as,

\[\varepsilon_\mathrm{rs} = \mathrm{e}^{-(4\pi\delta_\mathrm{rms}/\lambda)^2}.\]

Where \(\delta_\mathrm{rms}\) corresponds to the root-mean-squared deviation. The Python function uses the key phase because the term \(4\pi\delta_\mathrm{rms}/\lambda\) corresponds to the phase-error. Notice that this equation only works for a parabolic reflector and with a Cassegrain geometry, the term \(2\pi/\lamda\) converts the surface errors to phase and the additional \(2\) accounts for the two-way path of the reflected rays.

Examples

Simply add the a phase value and define the limits of the phase-error map.

>>> import numpy as np
>>> from astropy import units as u
>>> from pyoof import aperture
>>> pr = 50 * u.m
>>> K_coeff = np.array([0.1] * 21)  # see aperture.phase
>>> x, y, phi = aperture.phase(
...    K_coeff=K_coeff, pr=pr, piston=False, tilt=False
...    )
>>> aperture.e_rs(phase=phi, circ=True)
<Quantity 0.27564826>