cacao  Release 0.1.03-dev
Compute And Control For Adaptive Optics
AOloopControl_IOtools_datastream_processing.c File Reference

Adaptive Optics Control loop engine I/O tools. More...

#include <string.h>
#include <stdint.h>
#include <math.h>
#include "CommandLineInterface/CLIcore.h"
#include "00CORE/00CORE.h"
#include "AOloopControl/AOloopControl.h"
#include "AOloopControl_IOtools/AOloopControl_IOtools.h"
#include "COREMOD_memory/COREMOD_memory.h"
#include "statistic/statistic.h"
#include "fft/fft.h"
Include dependency graph for AOloopControl_IOtools_datastream_processing.c:

Macros

#define _GNU_SOURCE
 

Functions

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...
 
imageID 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...
 
imageID 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...
 

Variables

AOLOOPCONTROL_CONFAOconf
 CLI function for AOloopControl_setframesAve. More...
 
AOloopControl_var aoloopcontrol_var
 
long LOOPNUMBER
 

Detailed Description

Adaptive Optics Control loop engine I/O tools.

AO engine uses stream data structure

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Function Documentation

◆ 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_frameDelay()

imageID 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_stream3Dto2D()

imageID 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.

Variable Documentation

◆ AOconf

CLI function for AOloopControl_setframesAve.

◆ aoloopcontrol_var

AOloopControl_var aoloopcontrol_var

◆ LOOPNUMBER

long LOOPNUMBER