![]() |
cacao
Release 0.1.03-dev
Compute And Control For Adaptive Optics
|
Function prototypes for Adaptive Optics Control loop engine performance Tests. More...
Go to the source code of this file.
Functions | |
void | __attribute__ ((constructor)) libinit_AOloopControl_perfTest() |
Initialize module. More... | |
AOloopControl - 1. STATUS / TESTING / PERF MEASUREMENT | |
Measure loop behavior | |
errno_t | AOloopControl_perfTest_printloopstatus (long loop, long nbcol, long IDmodeval_dm, long IDmodeval, long IDmodevalave, long IDmodevalrms, long ksize) |
errno_t | AOloopControl_perfTest_loopMonitor (long loop, double frequ, long nbcol) |
errno_t | AOloopControl_perfTest_statusStats (int updateconf, long NBsample) |
errno_t | AOloopControl_perfTest_resetRMSperf () |
errno_t | AOloopControl_perfTest_showparams (long loop) |
errno_t | AOcontrolLoop_perfTest_TestDMSpeed (const char *dmname, long delayus, long NBpts, float ampl) |
imageID | AOloopControl_perfTest_TestDMmodeResp (const char *DMmodes_name, long index, float ampl, float fmin, float fmax, float fmultstep, float avetime, long dtus, const char *DMmask_name, const char *DMstream_in_name, const char *DMstream_out_name, const char *IDout_name) |
imageID | AOloopControl_perfTest_TestDMmodes_Recovery (const char *DMmodes_name, float ampl, const char *DMmask_name, const char *DMstream_in_name, const char *DMstream_out_name, const char *DMstream_meas_name, long tlagus, long NBave, const char *IDout_name, const char *IDoutrms_name, const char *IDoutmeas_name, const char *IDoutmeasrms_name) |
errno_t | AOcontrolLoop_perfTest_TestSystemLatency_FPCONF (char *fpsname, uint32_t CMDmode) |
errno_t | AOcontrolLoop_perfTest_TestSystemLatency_RUN (char *fpsname) |
errno_t | AOcontrolLoop_perfTest_TestSystemLatency (const char *dmname, char *wfsname, float OPDamp, long NBiter) |
imageID | AOloopControl_perfTest_blockstats (long loop, const char *IDout_name) |
errno_t | AOloopControl_perfTest_InjectMode (long index, float ampl) |
errno_t | AOloopControl_perfTest_AnalyzeRM_sensitivity (const char *IDdmmodes_name, const char *IDdmmask_name, const char *IDwfsref_name, const char *IDwfsresp_name, const char *IDwfsmask_name, float amplimitnm, float lambdanm, const char *foutname) |
imageID | AOloopControl_perfTest_mkTestDynamicModeSeq (const char *IDname_out, long NBpt, long NBmodes, long StartMode) |
errno_t | AOloopControl_LoopTimer_Analysis (char *IDname, char *fnametxt, char *outfname) |
errno_t | AOloopControl_perfTest_mkSyncStreamFiles2 (char *datadir, char *stream0, char *stream1, double tstart, double tend, double dt, double dtlag) |
errno_t | AOloopControl_perfTest_ComputeSimilarityMatrix (char *IDname, char *IDname_out) |
int | AOloopControl_perfTest_StatAnalysis_2streams (char *IDname_stream0, char *IDname_stream1, char *IDname_simM0, char *IDname_simM1, long dtmin, unsigned long NBselected) |
errno_t | AOloopControl_perfTest_SelectWFSframes_from_PSFframes (char *IDnameWFS, char *IDnamePSF, float frac, long x0, long x1, long y0, long y1, int EvalMode, float alpha) |
Function prototypes for Adaptive Optics Control loop engine performance Tests.
AO engine uses stream data structure
void __attribute__ | ( | (constructor) | ) |
Initialize module.
errno_t AOcontrolLoop_perfTest_TestDMSpeed | ( | const char * | dmname, |
long | delayus, | ||
long | NBpts, | ||
float | ampl | ||
) |
errno_t AOcontrolLoop_perfTest_TestSystemLatency | ( | const char * | dmname, |
char * | wfsname, | ||
float | OPDamp, | ||
long | NBiter | ||
) |
errno_t AOcontrolLoop_perfTest_TestSystemLatency_FPCONF | ( | char * | fpsname, |
uint32_t | CMDmode | ||
) |
errno_t AOcontrolLoop_perfTest_TestSystemLatency_RUN | ( | char * | fpsname | ) |
Measure hardware latency between DM and WFS streams
[in] | dmname | char* DM actuation stream to which function sends pokes |
[in] | wfsname | char*
|
[in] | OPDamp | FLOAT Poke amplitude [um] |
[in] | NBiter | LONG Number of poke cycles |
errno_t AOloopControl_LoopTimer_Analysis | ( | char * | IDname, |
char * | fnametxt, | ||
char * | outfname | ||
) |
errno_t AOloopControl_perfTest_AnalyzeRM_sensitivity | ( | const char * | IDdmmodes_name, |
const char * | IDdmmask_name, | ||
const char * | IDwfsref_name, | ||
const char * | IDwfsresp_name, | ||
const char * | IDwfsmask_name, | ||
float | amplimitnm, | ||
float | lambdanm, | ||
const char * | foutname | ||
) |
imageID AOloopControl_perfTest_blockstats | ( | long | loop, |
const char * | IDout_name | ||
) |
errno_t AOloopControl_perfTest_ComputeSimilarityMatrix | ( | char * | IDname, |
char * | IDname_out | ||
) |
Compute similarity matrix between frames of a datacube
errno_t AOloopControl_perfTest_InjectMode | ( | long | index, |
float | ampl | ||
) |
errno_t AOloopControl_perfTest_loopMonitor | ( | long | loop, |
double | frequ, | ||
long | nbcol | ||
) |
Monitors AO loop performance
Prints status on screen
errno_t AOloopControl_perfTest_mkSyncStreamFiles2 | ( | char * | datadir, |
char * | stream0, | ||
char * | stream1, | ||
double | tstart, | ||
double | tend, | ||
double | dt, | ||
double | dtlag | ||
) |
Synchronize two telemetry streams
savedir is the location of the telemetry, for example /media/data/20180202
dtlag: positive when stream0 is earlier than stream1
imageID AOloopControl_perfTest_mkTestDynamicModeSeq | ( | const char * | IDname_out, |
long | NBpt, | ||
long | NBmodes, | ||
long | StartMode | ||
) |
errno_t AOloopControl_perfTest_printloopstatus | ( | long | loop, |
long | nbcol, | ||
long | IDmodeval_dm, | ||
long | IDmodeval, | ||
long | IDmodevalave, | ||
long | IDmodevalrms, | ||
long | ksize | ||
) |
errno_t AOloopControl_perfTest_resetRMSperf | ( | ) |
errno_t AOloopControl_perfTest_SelectWFSframes_from_PSFframes | ( | char * | IDnameWFS, |
char * | IDnamePSF, | ||
float | frac, | ||
long | x0, | ||
long | x1, | ||
long | y0, | ||
long | y1, | ||
int | EvalMode, | ||
float | alpha | ||
) |
PSF evaluation window is (x0,y0) to (x1,y1)
Optional input: PSFmask, to be multiplied by PSF
EvalMode = 0 : Maximize Energy concentration EvalMode = 1 : Maximize flux EvalMode = 2 : Minimize flux
output:
imwfsbest imwfsall
impsfbest impsfall
errno_t AOloopControl_perfTest_showparams | ( | long | loop | ) |
int AOloopControl_perfTest_StatAnalysis_2streams | ( | char * | IDname_stream0, |
char * | IDname_stream1, | ||
char * | IDname_simM0, | ||
char * | IDname_simM1, | ||
long | dtmin, | ||
unsigned long | NBselected | ||
) |
Perform statistical analysis of two streams from similarity matrices
Selects the NBselected most similar pairs in stream0 and stream1 separated by at least dtmin frames
Computes the differences between the corresponding pairs in the other stream
sim0pairs.txt : best NBselected stream0 pairs
sim1pairs.txt : best NBselected stream1 pairs
sim2Ddistrib : 2D similarity distribution image
sim0diff0 : best sim pairs 0, differences stream 0 images
sim0diff1 : best sim pairs 0, differences stream 1 images
sim1diff0 : best sim pairs 1, differences stream 0 images
sim1diff1 : best sim pairs 1, differences stream 1 images
errno_t AOloopControl_perfTest_statusStats | ( | int | updateconf, |
long | NBsample | ||
) |
imageID AOloopControl_perfTest_TestDMmodeResp | ( | const char * | DMmodes_name, |
long | index, | ||
float | ampl, | ||
float | fmin, | ||
float | fmax, | ||
float | fmultstep, | ||
float | avetime, | ||
long | dtus, | ||
const char * | DMmask_name, | ||
const char * | DMstream_in_name, | ||
const char * | DMstream_out_name, | ||
const char * | IDout_name | ||
) |
imageID AOloopControl_perfTest_TestDMmodes_Recovery | ( | const char * | DMmodes_name, |
float | ampl, | ||
const char * | DMmask_name, | ||
const char * | DMstream_in_name, | ||
const char * | DMstream_out_name, | ||
const char * | DMstream_meas_name, | ||
long | tlagus, | ||
long | NBave, | ||
const char * | IDout_name, | ||
const char * | IDoutrms_name, | ||
const char * | IDoutmeas_name, | ||
const char * | IDoutmeasrms_name | ||
) |