#ifndef __CENTROIDING_H__
#define __CENTROIDING_H__
#ifndef __UTILITIES_H__
#include "utilities.h"
#endif
#ifndef __IMAGING_H__
#include "imaging.h"
#endif
struct centroiding {
int _N_SIDE_LENSLET_, N_LENSLET, N_SOURCE;
float *d__c, *d__cx, *d__cy, *d__mass;
char *lenslet_mask, MASK_SET;
int n_data, DEV_SHARED_MEM, DEV_MAX_THREADS;
cublasHandle_t handle;
cublasStatus_t status;
void setup(int _N_SIDE_LENSLET, int _N_SOURCE);
void cleanup(void);
void get_data(imaging *wfs);
void get_data(float *frame, int N);
void get_data(float *frame, int N,
float cx0, float cy0, float units);
void get_data(float *frame, int N,
float *cx0, float *cy0, float units,
char *valid_lenset);
void show_centroids(char *filename);
void show_flux(char *filename);
void fried_geometry(mask *dm, mask *pupil, int n, float threshold);
void filter(float *F);
void noisify(float stddev);
void reset(void);
};
#endif