Acquiring Linear Response Calibration
The system linear calibration consists of the following files:
File Description ./conf/RMmodesDM/RMmodesDM.fits Calibration DM modes ./conf/RMmodesWFS/RMmodesWFS.fits WFS linear response to DM modes ./conf/dmmask.fits DM mask (active actuators = 1) ./conf/wfsmask.fits WFS mask (active pixels = 1)
These are the input to the computation of control modes
Preparing DM Poke Modes
The cacao-mkDMpokemodes command computes a few different sets of poke modes, from which we can choose the DM poke modes used for acquiring the WFS linear response.
# -z is for number of Zernike modes
# -c is for max spatial frequency [CPA]
cacao-mkDMpokemodes -z 5 -c 25
The following files are written to ./conf/RMmodesDM/:
File
Description
FpokesC.
DM poke modes can also be prepared independently of the cacao-mkDMpokemodes
command, following the file name convention ./conf/RMmodesDM/
Acquiring WFS Linear Response to DM poke modes
The cacao-aorun-030-acqlinResp command acquires the WFS response corresponding to a set of . For example, to acquire the calibration with Hadamard poke modes:
# -n : number of cycles (increase for higher SNR)
# HpokeC is the DM poke modes
cacao-aorun-030-acqlinResp -n 4 HpokeC
The output is a FITS cube, written to ./conf/RMmodesWFS/
The WFS linear response to multiple sets of DM poke modes can be acquired. For example with.
# Creates files: # ./conf/HpokeC.WFSresp.fits # ./conf/ZpokeC.5.WFSresp.fits # ./conf/TipTiltFoc.WFSresp.fits cacao-aorun-030-acqlinResp -n 4 HpokeC cacao-aorun-030-acqlinResp -n 10 ZpokesC.5 cacao-aorun-030-acqlinResp -n 30 TipTiltFoc
The cacao-aorun-030-acqlinResp
command also creates/updates the sym link ./conf/RMmodesWFS/RMmodesWFS.fits to point to the new
Example measlinrespmdirectory content (with -s option)
Representing WFS response in zonal space (optional)
If a Hadamard response matrix was acquired, the zonal space WFS response is decoded with:
cacao-aorun-031-RMHdecode
Any WFS response can also be projected to the zonal basis with the following script:
#!/usr/bin/env bash
cacao
# load custom RM files
loadfits "customRMmodesDM.fits" RMmodesDM
loadfits "customRMmodesWFS.fits" RMmodesWFS
# convert to zonal representation
# last argument is SVD limit - may require tuning
cacaocc.RM2zonal RMmodesDM RMmodesWFS RMmodesDMz RMmodesWFSz 0.01
# save results
saveFITS RMmodesDMz "conf/RMmodesDM/RMmodesDMz.fits"
saveFITS RMmodesDMz "conf/RMmodesWFS/RMmodesWFSz.fits"
exitCLI
DM and WFS masks (optional)
If a zonal response matrix exists, then DM and WFS maps and masks can be computed:
cacao-aorun-032-RMmkmask
Check results:
conf/dmmask.fits conf/wfsmask.fits
If needed, rerun command with non-default parameters (see -h for options). Note: we are not going to apply the masks in this example, so OK if not net properly. The masks are informative here, allowing us to view which DM actuators and WFS pixels have the best response.