/* FILE: /mxtools/src/psfstar/inc.h * PURPOSE: PSFSTAR routines *must* include this file! * AUTHOR: K. J. Mighell (mighell@noao.edu) * LANGUAGE: ANSI C * DATE: 2001NOV06 * COPYRIGHT: (C) 2001 Assoc. of Universities for Research in Astronomy Inc. */ #ifndef PSFSTAR_H # define PSFSTAR_H "PSFSTAR" # define PSFSTAR_AUTHOR "Kenneth J. Mighell" # define PSFSTAR_EMAIL "mighell@noao.edu" # define PSFSTAR_COPYRIGHT "Copyright (C) 2001 Association of Universities for Research in Astronomy Inc." # define PSFSTAR_VERSION "2001NOV06" # define PSFSTAR_DATE "20011106" typedef struct { struct mxiraf_image_s *mxIrafImage; char ifn[MX_IRAF_SZ_FNAME+1]; double **matrixd; double *vectord; int llx0i; int lly0i; int nxi; int nyi; int xdimi; int ydimi; int npxi; } inc_ImageS; typedef struct { struct mxiraf_image_s *mxIrafImage; char ifn[MX_IRAF_SZ_FNAME+1]; struct mxip_image_s *psf0; struct mxip_image_s *psf; struct mxip_image_s *PSF; int llx0i; int lly0i; int nxi; int nyi; int xdimi; int ydimi; int PSF_CPXJ; int PSF_CPYJ; double PSF_CPXF; double PSF_CPYF; double PSF_CPXP; double PSF_CPYP; double PSF_CPXI; double PSF_CPYI; double PSF_CWXI; double PSF_CWYI; int PSF_NX; int PSF_NY; int PSF_MX; int PSF_MY; int mpxi; } inc_PsfS; typedef struct { char image[MX_IRAF_SZ_FNAME+1]; char psf[MX_IRAF_SZ_FNAME+1]; double se; double sx; double sy; double sigma; char PSFSTAR[8+1]; char PROGFILE[MX_IRAF_SZ_FNAME+1]; char PROGDATE[11+1]; char PROGTIME[8+1]; } inc_ParS; extern int inc_ParS_Get_i1 ( inc_ParS *ParS ) ; extern int inc_ParS_Put_i1 ( inc_ParS *ParS ) ; extern void inc_ParS_Print_v2 ( inc_ParS *ParS, FILE *ofp ) ; extern void inc_Banner_v2 ( FILE *ofp, char *tag ) ; extern int inc_IrafParDoubleGet_v4 ( char text[], double defaultd, double *valued_p, int *is_INDEF_p ) ; extern int inc_IrafParStringGet_v5 ( char text[], char default_value[], char value[], int maxch, int *is_INDEF_p ) ; extern int inc_ImageS_Open_i2 ( inc_ParS *ParS, inc_ImageS *ImageS ) ; extern int inc_ImageS_Close_i1 ( inc_ImageS *ImageS ) ; extern void VecdRobustMdn_v6 ( double *pxv, int px_n, double *tv, int *median_n_, double *median_, double *adev_ ) ; extern int inc_ImageS_Add_Gaussian2d_i2( inc_ParS *ParS, inc_ImageS *ImageS ) ; extern void Gaussian2d_v8( double ig, /* volume of 2-d Gaussian */ double xgp, /* X physical coordinate of 2-d Gaussian */ double ygp, /* Y physical coordinate of 2-d Gaussian */ double sg, /* sigma of 2-d Gaussian */ int res_p, /* resolution = sqrt(total number of subpixels) */ double xp, /* X physical coordinate of pixel */ double yp, /* Y physical coordinate of pixel */ double *z_p /* value of 2-d Gaussian at Z = Gaussian2d(X,Y) */ ) ; extern int inc_PsfS_Open_i2 ( inc_ParS *ParS, inc_PsfS *PsfS ) ; extern int inc_PsfS_Close_i1 ( inc_PsfS *PsfS ) ; extern int ip_image_s_copy_i2( struct mxip_image_s *in, struct mxip_image_s **out ) ; extern int inc_ImageS_Add_Star_i7( struct mxip_image_s *image, double se_p, double sx_p, double sy_p, struct mxip_image_s *psf, int PSF_CPXJ_p, int PSF_CPYJ_p ) ; extern int ip_Shift2d_i4( struct mxip_image_s *old, double deltax, double deltay, struct mxip_image_s *new ) ; extern void sshift_ansi( float x[], /* Input data array. */ int n, /* Number of points to shift. */ float shift, /* Amount of the shift. */ float hole, /* value to assign to out of range data. */ float xp[] /* Destination array for the shifted data. */ ) ; #endif /* end-of-file */