COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
sutra_centroider_tcog.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 
18 #ifndef _SUTRA_CENTROIDER_TCOG_H_
19 #define _SUTRA_CENTROIDER_TCOG_H_
20 
21 #include <sutra_centroider.h>
22 
23 template <class Tin, class T>
24 class SutraCentroiderTcog : public SutraCentroider<Tin, T> {
25  public:
26  float threshold;
27 
28  public:
30  float offset, float scale, bool filter_TT, int device);
33 
34  string get_type();
35 
37 
38  int get_cog(float *cube, float *intensities, T *centroids, int nvalid,
39  int npix, int ntot, cudaStream_t stream=0);
40  int get_cog(float *intensities, T *slopes, bool noise);
41  int get_cog();
42 };
43 
44 template <class T>
45 void get_centroids(int size, int threads, int blocks, int n, float *d_idata,
46  T *d_odata, T *ref, int *validx, int *validy,
47  float *intensities, float threshold, float scale,
48  float offset,
50  CarmaDevice *device);
51 
52 #endif // _SUTRA_CENTROIDER_TCOG_H_
this class provides the context in which CarmaObj are created
Definition: carma_context.h:79
this class provides the centroider features to COMPASS
this class provides the centroider_tcog features to COMPASS
SutraCentroiderTcog(const SutraCentroiderTcog &centroider)
int get_cog(float *cube, float *intensities, T *centroids, int nvalid, int npix, int ntot, cudaStream_t stream=0)
SutraCentroiderTcog(CarmaContext *context, SutraWfs *wfs, long nvalid, float offset, float scale, bool filter_TT, int device)
int get_cog(float *intensities, T *slopes, bool noise)
int set_threshold(float threshold)
this class provides the wfs features to COMPASS
Definition: sutra_wfs.h:35
SlopeOrder
SlopeOrder slope_order(std::size_t value)
void get_centroids(int size, int threads, int blocks, int n, float *d_idata, T *d_odata, T *ref, int *validx, int *validy, float *intensities, float threshold, float scale, float offset, SlopeOrder slope_order, CarmaDevice *device)