beam_generator¶
-
pyoof.
beam_generator
(params, wavel, d_z, illum_func, telgeo, noise, resolution, box_factor)[source] [edit on github]¶ Routine to generate data and test the pyoof package algorithm. It has the default setting for the pyoof fits file input.
Parameters: params :
ndarray
Two stacked arrays, the illumination and Zernike circle polynomials coefficients.
params = np.hstack([I_coeff, K_coeff])
.wavel :
float
Wavelength, \(\lambda\), in meters.
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.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]
.noise :
float
Noise amplitude added to the generated data. The noise comes from a random Gaussian, see
normal
.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
).Returns: pyoof_fits :
HDUList
The output fits file is stored in the directory
'data_generated/'
. Every time the function is executed a new file will be stored. The file is ready to use for thepyoof
package.