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

Function prototypes for Adaptive Optics Control loop engine I/O tools. More...

Include dependency graph for AOloopControl_IOtools.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef int errno_t
 

Functions

void __attribute__ ((constructor)) libinit_AOloopControl_IOtools()
 Initialize module. More...
 
AOloopControl_IOtools - 1. CAMERA INPUT

Read camera imates

errno_t AOloopControl_IOtools_camimage_extract2D_sharedmem_loop (const char *in_name, const char *dark_name, const char *out_name, long size_x, long size_y, long xstart, long ystart)
 
errno_t AOcontrolLoop_IOtools_acquireWFSloop_FPCONF (char *fpsname, uint32_t CMDmode)
 compute sum of image pixels More...
 
errno_t AOcontrolLoop_IOtools_acquireWFSloop_RUN (char *fpsname)
 
errno_t AOcontrolLoop_IOtools_acquireWFSloop (long loop)
 
errno_t Read_cam_frame (long loop, int RM, int normalize, int PixelStreamMode, int InitSem)
 Read image from WFS camera. More...
 
AOloopControl_IOtools - 2. LOAD DATA STREAMS

Load 2D and 3D shared memory images

long AOloopControl_IOtools_2Dloadcreate_shmim (const char *name, const char *fname, long xsize, long ysize, float DefaultValue)
 Load 2D image in shared memory. More...
 
long AOloopControl_IOtools_3Dloadcreate_shmim (const char *name, const char *fname, long xsize, long ysize, long zsize, float DefaultValue)
 Load 3D image in shared memory. More...
 
AOloopControl_IOtools - 3. DATA STREAMS PROCESSING

Data streams real-time processing

errno_t AOloopControl_IOtools_AveStream (const char *IDname, double alpha, const char *IDname_out_ave, const char *IDname_out_AC, const char *IDname_out_RMS)
 Average data stream. More...
 
errno_t AOloopControl_IOtools_imAlignStream (const char *IDname, int xbox0, int ybox0, const char *IDref_name, const char *IDout_name, int insem)
 Aligns data stream. More...
 
long AOloopControl_IOtools_frameDelay (const char *IDin_name, const char *IDkern_name, const char *IDout_name, int insem)
 Induces temporal offset between input and output streams. More...
 
long AOloopControl_IOtools_stream3Dto2D (const char *in_name, const char *out_name, int NBcols, int insem)
 Re-arrange a 3D cube into an array of images into a single 2D frame. More...
 
AOloopControl_IOtools - 4. SAVE REAL-TIME TELEMETRY BUFFER

Save to disk telemetry packaged in alternate buffers

errno_t AOloopControl_IOtools_RTLOGsave (long loop, const char *streamname, const char *dirname)
 Save telemetry. More...
 

Detailed Description

Function prototypes for Adaptive Optics Control loop engine I/O tools.

AO engine uses stream data structure

Bug:
No known bugs.

Typedef Documentation

◆ errno_t

typedef int errno_t

Function Documentation

◆ __attribute__()

void __attribute__ ( (constructor)  )

Initialize module.

◆ AOcontrolLoop_IOtools_acquireWFSloop()

errno_t AOcontrolLoop_IOtools_acquireWFSloop ( long  loop)

◆ AOcontrolLoop_IOtools_acquireWFSloop_FPCONF()

errno_t AOcontrolLoop_IOtools_acquireWFSloop_FPCONF ( char *  fpsname,
uint32_t  CMDmode 
)

compute sum of image pixels

Subtract dark

◆ AOcontrolLoop_IOtools_acquireWFSloop_RUN()

errno_t AOcontrolLoop_IOtools_acquireWFSloop_RUN ( char *  fpsname)

◆ AOloopControl_IOtools_2Dloadcreate_shmim()

long AOloopControl_IOtools_2Dloadcreate_shmim ( const char *  name,
const char *  fname,
long  xsize,
long  ysize,
float  DefaultValue 
)

Load 2D image in shared memory.

Implements stream loading policy with optional check on size for 2D images. See CLIcore.h for policy details.

(1) If image already in local memory, and has correct size, upload FITS file to existing array, go to (END-success), otherwise, go to (2) (2) If image already in local memory, but size does not match, go to (END-fail), otherwise, go to (3) (3) Load FITS image to local memory

◆ AOloopControl_IOtools_3Dloadcreate_shmim()

long AOloopControl_IOtools_3Dloadcreate_shmim ( const char *  name,
const char *  fname,
long  xsize,
long  ysize,
long  zsize,
float  DefaultValue 
)

Load 3D image in shared memory.

◆ AOloopControl_IOtools_AveStream()

errno_t AOloopControl_IOtools_AveStream ( const char *  IDname,
double  alpha,
const char *  IDname_out_ave,
const char *  IDname_out_AC,
const char *  IDname_out_RMS 
)

Average data stream.

Purpose

Averages input image stream

Arguments

Parameters
[in]IDnameCHAR* Input stream name
[in]alphaDOUBLE Averaging coefficient new average = old average * (1-alpha) + alpha * new image
[out]fIDname_out_aveCHAR* Stream name for output average image
[in]IDname_out_ACCHAR* Stream name for output AC component (average-subtracted)
[in]IDname_out_RMSCHAR* Stream name for output RMS component

◆ AOloopControl_IOtools_camimage_extract2D_sharedmem_loop()

errno_t AOloopControl_IOtools_camimage_extract2D_sharedmem_loop ( const char *  in_name,
const char *  dark_name,
const char *  out_name,
long  size_x,
long  size_y,
long  xstart,
long  ystart 
)

◆ AOloopControl_IOtools_frameDelay()

long AOloopControl_IOtools_frameDelay ( const char *  IDin_name,
const char *  IDkern_name,
const char *  IDout_name,
int  insem 
)

Induces temporal offset between input and output streams.

◆ AOloopControl_IOtools_RTLOGsave()

errno_t AOloopControl_IOtools_RTLOGsave ( long  loop,
const char *  streamname,
const char *  dirname 
)

Save telemetry.

◆ AOloopControl_IOtools_stream3Dto2D()

long AOloopControl_IOtools_stream3Dto2D ( const char *  in_name,
const char *  out_name,
int  NBcols,
int  insem 
)

Re-arrange a 3D cube into an array of images into a single 2D frame.

◆ Read_cam_frame()

errno_t Read_cam_frame ( long  loop,
int  RM,
int  normalize,
int  PixelStreamMode,
int  InitSem 
)

Read image from WFS camera.