cacao  Release 0.1.03-dev
Compute And Control For Adaptive Optics
linARfilterPred.h File Reference

Function prototypes for linear autoregressive prediction. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void __attribute__ ((constructor)) libinit_linARfilterPred()
 Initialize module. More...
 
2. I/O TOOLS
long LINARFILTERPRED_LoadASCIIfiles (double tstart, double dt, long NBpt, long NBfr, const char *IDoutname)
 load ascii file(s) into image cube More...
 
imageID LINARFILTERPRED_SelectBlock (const char *IDin_name, const char *IDblknb_name, long blkNB, const char *IDout_name)
 
3. BUILD PREDICTIVE FILTER
imageID linARfilterPred_repeat_shift_X (const char *IDin_name, long NBstep, const char *IDout_name)
 Expand 2D image/matrix in X direction by repeat and shift. More...
 
imageID LINARFILTERPRED_Build_LinPredictor (const char *IDin_name, long PForder, float PFlag, double SVDeps, double RegLambda, const char *IDoutPF_name, int outMode, int LOOPmode, float LOOPgain, int testmode)
 Build predictive filter. More...
 
4. APPLY PREDICTIVE FILTER
imageID LINARFILTERPRED_Apply_LinPredictor_RT (const char *IDfilt_name, const char *IDin_name, const char *IDout_name)
 
imageID LINARFILTERPRED_Apply_LinPredictor (const char *IDfilt_name, const char *IDin_name, float PFlag, const char *IDout_name)
 
imageID LINARFILTERPRED_PF_updatePFmatrix (const char *IDPF_name, const char *IDPFM_name, float alpha)
 
imageID LINARFILTERPRED_PF_RealTimeApply (const char *IDmodevalIN_name, long IndexOffset, int semtrig, const char *IDPFM_name, long NBPFstep, const char *IDPFout_name, int nbGPU, long loop, long NBiter, int SAVEMODE, float tlag, long PFindex)
 
5. MISC TOOLS, DIAGNOSTICS
float LINARFILTERPRED_ScanGain (char *IDin_name, float multfact, float framelag)
 

Detailed Description

Function prototypes for linear autoregressive prediction.

Implements Empirical Orthogonal Functions

Function Documentation

◆ __attribute__()

void __attribute__ ( (constructor)  )

Initialize module.

◆ LINARFILTERPRED_Apply_LinPredictor()

imageID LINARFILTERPRED_Apply_LinPredictor ( const char *  IDfilt_name,
const char *  IDin_name,
float  PFlag,
const char *  IDout_name 
)

◆ LINARFILTERPRED_Apply_LinPredictor_RT()

imageID LINARFILTERPRED_Apply_LinPredictor_RT ( const char *  IDfilt_name,
const char *  IDin_name,
const char *  IDout_name 
)

◆ LINARFILTERPRED_Build_LinPredictor()

imageID LINARFILTERPRED_Build_LinPredictor ( const char *  IDin_name,
long  PForder,
float  PFlag,
double  SVDeps,
double  RegLambda,
const char *  IDoutPF_name,
int  outMode,
int  LOOPmode,
float  LOOPgain,
int  testmode 
)

Build predictive filter.

Optional pixel masks select input and output variables: "inmask" and "outmask"

if LOOPmode = 1, operate in a loop, and re-run filter computation everytime IDin_name changes

Note
if atmospheric wavefronts, data should be piston-free
Returns
output filter image index
Parameters
[in]IDin_nameInput telemetry, a 2D or 3D image
[in]PForderNumber of time steps in output filter
[in]PFlagTime lag between last measurement and prediction, unit: sampling period
[in]SVDepsSingular value cutoff limit. Ratio between strongest singular value and limit
[in]RegLambdaRegularization paramater
[in]IDoutPF_nameOutput predictive filter name
[in]outModeOutput mode. 0: do not write individual files, 1: write individual files (note: output filter cube is always written)
[in]LOOPmode1 if running in infinite loop waiting for input telemetry
[in]LOOPgainIf running in loop, mixing coefficient between previous and current filter

◆ LINARFILTERPRED_LoadASCIIfiles()

long LINARFILTERPRED_LoadASCIIfiles ( double  tstart,
double  dt,
long  NBpt,
long  NBfr,
const char *  IDoutname 
)

load ascii file(s) into image cube

resamples sequence(s) of data points INPUT FILES HAVE TO BE NAMED seq000.dat, seq001.dat etc...

file starts at tstart, sampling = dt NBpt per file NBfr files

◆ LINARFILTERPRED_PF_RealTimeApply()

imageID LINARFILTERPRED_PF_RealTimeApply ( const char *  IDmodevalIN_name,
long  IndexOffset,
int  semtrig,
const char *  IDPFM_name,
long  NBPFstep,
const char *  IDPFout_name,
int  nbGPU,
long  loop,
long  NBiter,
int  SAVEMODE,
float  tlag,
long  PFindex 
)

measure time

◆ LINARFILTERPRED_PF_updatePFmatrix()

imageID LINARFILTERPRED_PF_updatePFmatrix ( const char *  IDPF_name,
const char *  IDPFM_name,
float  alpha 
)

◆ linARfilterPred_repeat_shift_X()

imageID linARfilterPred_repeat_shift_X ( const char *  IDin_name,
long  NBstep,
const char *  IDout_name 
)

Expand 2D image/matrix in X direction by repeat and shift.

◆ LINARFILTERPRED_ScanGain()

float LINARFILTERPRED_ScanGain ( char *  IDin_name,
float  multfact,
float  framelag 
)

◆ LINARFILTERPRED_SelectBlock()

imageID LINARFILTERPRED_SelectBlock ( const char *  IDin_name,
const char *  IDblknb_name,
long  blkNB,
const char *  IDout_name 
)