COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
sutra_acquisim.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // This file is part of COMPASS <https://anr-compass.github.io/compass/>
3 //
4 // Copyright (C) 2011-2023 COMPASS Team <https://github.com/ANR-COMPASS>
5 // All rights reserved.
6 
7 // -----------------------------------------------------------------------------
8 
16 
17 #ifndef SUTRA_ACQUISIM_H_
18 #define SUTRA_ACQUISIM_H_
19 
20 #include <sutra_sensors.h>
21 #include <sutra_wfs_sh.h>
22 
24  public:
25  int device;
26  string type;
27  long nxsub;
28  long nvalid;
29  long npix;
30 
32 
36 
37  public:
38  SutraAcquisim(SutraSensors *sensors, int wfs_num);
39  SutraAcquisim(const SutraAcquisim &acquisim);
41 
42  int set_validsubs(int64_t nvalid, int32_t *validsubsx, int32_t *validsubsy);
43 
44  int comp_image_tele(long *dims, float *bimage);
45  int comp_image(long *dims, float *bimage);
46  int comp_image(long *dims, float *bimage, CarmaObj<float> *d_bincube);
47  int comp_image_2D(long *dims, float *bimage, int *num_ssp);
48 
49  private:
50 };
51 
52 // General utilities
53 template <class T>
54 int fillbincube_2D(T *bimage, T *bcube, int npix, int nsub, int *valid);
55 
56 template <class T>
57 int fillbincube(T *bimage, T *bcube, int npix, int nsub, int Nsub, int *ivalid,
58  int *jvalid, CarmaDevice *device);
59 
60 template <class T>
62  CarmaObj<T> *bcube, int npix, int nsub, int Nsub,
63  int *ivalid, int *jvalid, CarmaDevice *device);
64 
65 template <class T>
66 int fillbincube_async(CarmaHostObj<T> *image_telemetry, T *bimage, T *bcube,
67  int npix, int nsub, int Nsub, int *ivalid, int *jvalid,
68  int nim, CarmaDevice *device);
69 
70 #endif /* SUTRA_ACQUISIM_H_ */
this class provides the context in which CarmaObj are created
Definition: carma_context.h:79
this class provides wrappers to the generic carma host object
this class provides the stream features to CarmaObj
Definition: carma_streams.h:24
this class provides the acquisition simulator to COMPASS
int comp_image(long *dims, float *bimage, CarmaObj< float > *d_bincube)
CarmaContext * current_context
int comp_image(long *dims, float *bimage)
SutraAcquisim(const SutraAcquisim &acquisim)
int comp_image_tele(long *dims, float *bimage)
CarmaObj< int32_t > * d_validsubsy
SutraAcquisim(SutraSensors *sensors, int wfs_num)
SutraWfsSH * wfs
int set_validsubs(int64_t nvalid, int32_t *validsubsx, int32_t *validsubsy)
int comp_image_2D(long *dims, float *bimage, int *num_ssp)
CarmaObj< int32_t > * d_validsubsx
this class provides the sensors features to COMPASS
Definition: sutra_sensors.h:34
this class provides the wfs_sh features to COMPASS
Definition: sutra_wfs_sh.h:29
int fillbincube_2D(T *bimage, T *bcube, int npix, int nsub, int *valid)
int fillbincube_async(CarmaStreams *streams, CarmaObj< T > *bimage, CarmaObj< T > *bcube, int npix, int nsub, int Nsub, int *ivalid, int *jvalid, CarmaDevice *device)
int fillbincube(T *bimage, T *bcube, int npix, int nsub, int Nsub, int *ivalid, int *jvalid, CarmaDevice *device)