residual_true¶
-
pyoof.
residual_true
(params, beam_data_norm, u_data, v_data, d_z, wavel, illum_func, telgeo, resolution, box_factor, interp)[source] [edit on github]¶ Computes the true residual ready to use for the
fit_beam
function. True means that some of the parameters used will not be fitted. Their selection is done by default or by adding aconfig_params.yml
file to thefit_beam
function.Parameters: params :
ndarray
Two stacked arrays, the illumination and Zernike circle polynomials coefficients.
params = np.hstack([I_coeff, K_coeff])
.beam_data_norm :
list
The
beam_data_norm
is a list with the three observed beam maps, \(P^\mathrm{obs}_\mathrm{norm}(u, v)\), minus, zero and plus out-of-focus. The data has to be initially normalized by its maximum.u_data :
ndarray
\(x\) axis value for the 3 beam maps in radians. The values have to be flatten, in one dimension, and stacked in the same order as the
d_z = [d_z-, 0., d_z+]
values from each beam map.v_data :
ndarray
\(y\) axis value for the 3 beam maps in radians. The values have to be flatten, one dimensional, and stacked in the same order as the
d_z = [d_z-, 0., d_z+]
values from each beam map.d_z :
list
Radial offset \(d_z\), added to the sub-reflector in meters. This characteristic measurement adds the classical interference pattern to the beam maps, normalized squared (field) radiation pattern, which is an out-of-focus property. The radial offset list must be as follows,
d_z = [d_z-, 0., d_z+]
all of them in meters.wavel :
float
Wavelength, \(\lambda\), of the observation in meters.
illum_func :
function
Illumination function, \(E_\mathrm{a}(x, y)\), to be evaluated with the key I_coeff. The illumination functions available are
illum_pedestal
andillum_gauss
.telgeo :
list
List that contains the blockage distribution, optical path difference (OPD) function, and the primary radius (
float
) in meters. The list must have the following order,telego = [block_dist, opd_func, pr]
.resolution :
int
Fast Fourier Transform resolution for a rectangular grid. The input value has to be greater or equal to the telescope resolution and with power of 2 for faster FFT processing. It is recommended a value higher than
resolution = 2 ** 8
.box_factor :
int
Related to the FFT resolution (resolution key), defines the image pixel size level. It depends on the primary radius,
pr
, of the telescope, e.g. abox_factor = 5
returnsx = np.linspace(-5 * pr, 5 * pr, resolution)
, an array to be used in the FFT2 (fft2
).interp :
bool
If
True
, it will process the correspondent interpolation between the observed grid (\(P^\mathrm{obs}_\mathrm{norm}(u, v)\)) and the computed grid (\(P_\mathrm{norm}(u, v)\)) for the FFT2 aperture distribution model (\(\underline{E_\mathrm{a}}(x, y)\)).Returns: _residual_true :
ndarray
One dimensional array of the residual between the observed data and the FFT aperture distribution model. It has been concatenated as minus, zero and plus radial offset (to do a multiple fit). It is required to have the residual in one dimension in order to use a least squares minimization
least_squares
package.