COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
SutraWfs_PyrHR Class Reference

this class provides the wfs_pyr_pyrhr features to COMPASS More...

#include <sutra_wfs_pyr_pyrhr.h>

Inheritance diagram for SutraWfs_PyrHR:
Collaboration diagram for SutraWfs_PyrHR:

Public Member Functions

 SutraWfs_PyrHR (CarmaContext *context, SutraTelescope *d_tel, CarmaObj< cuFloatComplex > *d_camplipup, CarmaObj< cuFloatComplex > *d_camplifoc, CarmaObj< cuFloatComplex > *d_fttotim, long nxsub, long nvalid, long npupils, long npix, long nphase, long nrebin, long nfft, long ntot, long npup, float pdiam, float nphotons, float nphot4imat, int lgs, bool fakecam, int max_flux_per_pix, int max_pix_value, bool roket, int device)
 
 SutraWfs_PyrHR (CarmaContext *context, SutraTelescope *d_tel, CarmaObj< cuFloatComplex > *d_camplipup, CarmaObj< cuFloatComplex > *d_camplifoc, CarmaObj< cuFloatComplex > *d_fttotim, long nxsub, long nvalid, long npupils, long npix, long nphase, long nrebin, long nfft, long ntot, long npup, float pdiam, float nphotons, float nphot4imat, int lgs, bool fakecam, int max_flux_per_pix, int max_pix_value, bool roket, int nbdevices, int *devices)
 
 ~SutraWfs_PyrHR ()
 
int load_arrays (cuFloatComplex *halfxy, float *cx, float *cy, float *weights, float *sincar, float *submask, int *validsubsx, int *validsubsy, int *phasemap, float *fluxPerSub, float *ttprojmat)
 
int set_submask (float *submask)
 
int set_phalfxy (cuFloatComplex *phalfxy)
 
int fill_binimage (int async=0)
 
int comp_image (bool noise=true)
 
void comp_modulation (int cpt)
 
int copy_valid_pix (float *img, int *validx, int *validy, int im_dim)
 
int set_pyr_modulation_points (float *cx, float *cy, int npts)
 
int set_pyr_modulation_points (float *cx, float *cy, float *weights, int npts)
 
int set_pyr_mod_weights (float *weights, int npts)
 
int define_mpi_rank (int rank, int size)
 
int allocate_buffers (map< vector< int >, cufftHandle * > campli_plans, map< vector< int >, cufftHandle * > fttotim_plans)
 
int comp_nphot (float ittime, float optthroughput, float diam, float cobs, float zerop, float gsmag)
 
- Public Member Functions inherited from SutraWfs
virtual ~SutraWfs ()
 
int wfs_initgs (CarmaObj< float > *d_lgskern, CarmaObj< cuFloatComplex > *d_ftlgskern, map< vector< int >, cufftHandle * > ftlgskern_plans, float xpos, float ypos, float lambda, float mag, float zerop, long size, float noise, long seed, float G, float thetaML, float dx, float dy)
 
int set_pupil (float *pupil)
 
int set_binimg (float *binimg, int nElem)
 
int set_dark (float *dark, int nElem)
 
int set_flat (float *flat, int nElem)
 
int set_fakecam (bool fakecam)
 
int set_max_flux_per_pix (int max_flux_per_pix)
 
int set_max_pix_value (int max_pix_value)
 
int load_kernels (float *lgskern)
 
int sensor_trace (SutraAtmos *yatmos)
 
int sensor_trace (SutraDms *ydm, int rst)
 
int sensor_trace (SutraAtmos *atmos, SutraDms *ydms)
 
int sensor_trace (int rst)
 
int slopes_geom (float *slopes, int type=0)
 
int slopes_geom (int type=0)
 
int set_noise (float noise, long seed)
 

Public Attributes

long npupils
 
bool compute_pyrfocalplane
 
CarmaObj< float > * d_hrimg
 
CarmaObj< float > * d_psum
 
CarmaObj< float > * d_pyrfocalplane
 
CarmaObj< cuFloatComplex > * d_phalfxy
 
CarmaObj< cuFloatComplex > * d_poffsets
 
CarmaObj< float > * d_modu_gather
 
CarmaHostObj< float > * pyr_cx
 
CarmaHostObj< float > * pyr_cy
 
CarmaHostObj< float > * pyr_mod_weights
 
- Public Attributes inherited from SutraWfs
int device
 
string type
 
long nxsub
 
long nvalid
 
long npix
 
long nrebin
 
long nfft
 
long ntot
 
long npup
 
long nphase
 
long nmaxhr
 
long nffthr
 
float subapd
 
float nphot
 
float nphot4imat
 
float noise
 
bool lgs
 
bool kernconv
 
bool roket
 
bool is_low_order
 
bool fakecam
 
int max_flux_per_pix
 
int max_pix_value
 
cufftHandle * campli_plan
 
cufftHandle * fttotim_plan
 
CarmaObj< cuFloatComplex > * d_ftkernel
 
CarmaObj< cuFloatComplex > * d_camplipup
 
CarmaObj< cuFloatComplex > * d_camplifoc
 
CarmaObj< cuFloatComplex > * d_fttotim
 
CarmaObj< float > * d_pupil
 
CarmaObj< float > * d_bincube
 
CarmaObj< float > * d_binimg
 
CarmaObj< float > * d_binimg_notnoisy
 
CarmaObj< float > * d_intensities
 
CarmaObj< float > * d_offsets
 
CarmaObj< float > * d_fluxPerSub
 
CarmaObj< float > * d_sincar
 
CarmaObj< int > * d_hrmap
 
CarmaObj< uint16_t > * d_camimg
 
CarmaObj< float > * d_dark
 
CarmaObj< float > * d_flat
 
CarmaObj< float > * d_slopes
 
CarmaHostObj< float > * image_telemetry
 
SutraSourced_gs
 
std::vector< CarmaObj< float > * > d_pupil_ngpu
 
CarmaStreamsstreams
 
int nstreams
 
CarmaObj< int > * d_phasemap
 
CarmaObj< float > * d_ttprojmat
 
CarmaObj< float > * d_ttprojvec
 
CarmaObj< int > * d_validsubsx
 
CarmaObj< int > * d_validsubsy
 
CarmaObj< float > * d_submask
 
CarmaContextcurrent_context
 
int offset
 MPI stuff. More...
 
int nvalid_tot
 
int rank
 
int * displ_bincube
 
int * count_bincube
 

Additional Inherited Members

- Protected Member Functions inherited from SutraWfs
 SutraWfs (CarmaContext *context, SutraTelescope *d_tel, CarmaObj< cuFloatComplex > *d_camplipup, CarmaObj< cuFloatComplex > *d_camplifoc, CarmaObj< cuFloatComplex > *d_fttotim, string type, long nxsub, long nvalid, long npix, long nphase, long nrebin, long nfft, long ntot, long npup, float pdiam, float nphotons, float nphot4imat, int lgs, bool fakecam, int max_flux_per_pix, int max_pix_value, bool is_low_order, bool roket, int device)
 

Detailed Description

this class provides the wfs_pyr_pyrhr features to COMPASS

Author
COMPASS Team https://github.com/ANR-COMPASS
Version
5.4.4
Date
2022/01/24

Definition at line 30 of file sutra_wfs_pyr_pyrhr.h.

Constructor & Destructor Documentation

◆ SutraWfs_PyrHR() [1/2]

SutraWfs_PyrHR::SutraWfs_PyrHR ( CarmaContext context,
SutraTelescope d_tel,
CarmaObj< cuFloatComplex > *  d_camplipup,
CarmaObj< cuFloatComplex > *  d_camplifoc,
CarmaObj< cuFloatComplex > *  d_fttotim,
long  nxsub,
long  nvalid,
long  npupils,
long  npix,
long  nphase,
long  nrebin,
long  nfft,
long  ntot,
long  npup,
float  pdiam,
float  nphotons,
float  nphot4imat,
int  lgs,
bool  fakecam,
int  max_flux_per_pix,
int  max_pix_value,
bool  roket,
int  device 
)

◆ SutraWfs_PyrHR() [2/2]

SutraWfs_PyrHR::SutraWfs_PyrHR ( CarmaContext context,
SutraTelescope d_tel,
CarmaObj< cuFloatComplex > *  d_camplipup,
CarmaObj< cuFloatComplex > *  d_camplifoc,
CarmaObj< cuFloatComplex > *  d_fttotim,
long  nxsub,
long  nvalid,
long  npupils,
long  npix,
long  nphase,
long  nrebin,
long  nfft,
long  ntot,
long  npup,
float  pdiam,
float  nphotons,
float  nphot4imat,
int  lgs,
bool  fakecam,
int  max_flux_per_pix,
int  max_pix_value,
bool  roket,
int  nbdevices,
int *  devices 
)

◆ ~SutraWfs_PyrHR()

SutraWfs_PyrHR::~SutraWfs_PyrHR ( )

Member Function Documentation

◆ allocate_buffers()

int SutraWfs_PyrHR::allocate_buffers ( map< vector< int >, cufftHandle * >  campli_plans,
map< vector< int >, cufftHandle * >  fttotim_plans 
)
virtual

Implements SutraWfs.

Definition at line 83 of file sutra_wfs_pyr_pyrhr.h.

◆ comp_image()

int SutraWfs_PyrHR::comp_image ( bool  noise = true)
virtual

Implements SutraWfs.

◆ comp_modulation()

void SutraWfs_PyrHR::comp_modulation ( int  cpt)

◆ comp_nphot()

int SutraWfs_PyrHR::comp_nphot ( float  ittime,
float  optthroughput,
float  diam,
float  cobs,
float  zerop,
float  gsmag 
)

◆ copy_valid_pix()

int SutraWfs_PyrHR::copy_valid_pix ( float *  img,
int *  validx,
int *  validy,
int  im_dim 
)

◆ define_mpi_rank()

int SutraWfs_PyrHR::define_mpi_rank ( int  rank,
int  size 
)
virtual

Implements SutraWfs.

Definition at line 82 of file sutra_wfs_pyr_pyrhr.h.

◆ fill_binimage()

int SutraWfs_PyrHR::fill_binimage ( int  async = 0)
virtual

Implements SutraWfs.

◆ load_arrays()

int SutraWfs_PyrHR::load_arrays ( cuFloatComplex *  halfxy,
float *  cx,
float *  cy,
float *  weights,
float *  sincar,
float *  submask,
int *  validsubsx,
int *  validsubsy,
int *  phasemap,
float *  fluxPerSub,
float *  ttprojmat 
)

◆ set_phalfxy()

int SutraWfs_PyrHR::set_phalfxy ( cuFloatComplex *  phalfxy)

◆ set_pyr_mod_weights()

int SutraWfs_PyrHR::set_pyr_mod_weights ( float *  weights,
int  npts 
)

◆ set_pyr_modulation_points() [1/2]

int SutraWfs_PyrHR::set_pyr_modulation_points ( float *  cx,
float *  cy,
float *  weights,
int  npts 
)
Here is the caller graph for this function:

◆ set_pyr_modulation_points() [2/2]

int SutraWfs_PyrHR::set_pyr_modulation_points ( float *  cx,
float *  cy,
int  npts 
)
Here is the caller graph for this function:

◆ set_submask()

int SutraWfs_PyrHR::set_submask ( float *  submask)

Member Data Documentation

◆ compute_pyrfocalplane

bool SutraWfs_PyrHR::compute_pyrfocalplane

Definition at line 33 of file sutra_wfs_pyr_pyrhr.h.

◆ d_hrimg

CarmaObj<float>* SutraWfs_PyrHR::d_hrimg

Definition at line 34 of file sutra_wfs_pyr_pyrhr.h.

◆ d_modu_gather

CarmaObj<float>* SutraWfs_PyrHR::d_modu_gather

Definition at line 39 of file sutra_wfs_pyr_pyrhr.h.

◆ d_phalfxy

CarmaObj<cuFloatComplex>* SutraWfs_PyrHR::d_phalfxy

Definition at line 37 of file sutra_wfs_pyr_pyrhr.h.

◆ d_poffsets

CarmaObj<cuFloatComplex>* SutraWfs_PyrHR::d_poffsets

Definition at line 38 of file sutra_wfs_pyr_pyrhr.h.

◆ d_psum

CarmaObj<float>* SutraWfs_PyrHR::d_psum

Definition at line 35 of file sutra_wfs_pyr_pyrhr.h.

◆ d_pyrfocalplane

CarmaObj<float>* SutraWfs_PyrHR::d_pyrfocalplane

Definition at line 36 of file sutra_wfs_pyr_pyrhr.h.

◆ npupils

long SutraWfs_PyrHR::npupils

Definition at line 32 of file sutra_wfs_pyr_pyrhr.h.

◆ pyr_cx

CarmaHostObj<float>* SutraWfs_PyrHR::pyr_cx

Definition at line 40 of file sutra_wfs_pyr_pyrhr.h.

◆ pyr_cy

CarmaHostObj<float>* SutraWfs_PyrHR::pyr_cy

Definition at line 41 of file sutra_wfs_pyr_pyrhr.h.

◆ pyr_mod_weights

CarmaHostObj<float>* SutraWfs_PyrHR::pyr_mod_weights

Definition at line 42 of file sutra_wfs_pyr_pyrhr.h.


The documentation for this class was generated from the following file: