Back to index

radiance  4R0+20100331
pfilt.h
Go to the documentation of this file.
00001 /* RCSid: $Id: pfilt.h,v 2.1 2004/03/29 00:34:23 schorsch Exp $ */
00002 /*
00003  * Header file for picture filtering
00004  */
00005 #ifndef _RAD_PFILT_H_
00006 #define _RAD_PFILT_H_
00007 
00008 #ifdef __cplusplus
00009 extern "C" {
00010 #endif
00011 
00012 
00013 extern double  CHECKRAD;    /* radius over which gaussian is summed */
00014 extern double  rad;         /* output pixel radius for filtering */
00015 extern double  thresh;             /* maximum contribution for subpixel */
00016 extern int  nrows, ncols;   /* number of rows and columns for output */
00017 extern int  xres, yres;            /* x and y resolution */
00018 extern int  avghot;         /* true means average in avgbrt spots */
00019 extern double  hotlvl;             /* brightness considered "hot" */
00020 extern int  npts;           /* # of points for stars */
00021 extern double  spread;             /* spread for star points */
00022 extern char  *progname;
00023 extern COLOR  exposure;            /* exposure for frame */
00024 
00025 extern double  x_c, y_r;    /* conversion factors */
00026 
00027 extern int  xrad;           /* x search radius */
00028 extern int  yrad;           /* y search radius */
00029 extern int  xbrad;          /* x box size */
00030 extern int  ybrad;          /* y box size */
00031 
00032 extern int  barsize;        /* size of input scan bar */
00033 extern COLOR  **scanin;            /* input scan bar */
00034 extern COLOR  *scanout;            /* output scan line */
00035 extern COLOR  **scoutbar;   /* output scan bar (if thresh > 0) */
00036 extern float  **greybar;    /* grey-averaged input values */
00037 extern int  obarsize;              /* size of output scan bar */
00038 extern int  orad;           /* output window radius */
00039 
00040 extern int  wrapfilt;              /* wrap filter horizontally? */
00041 
00042 typedef double brightfunc_t(COLOR c);
00043 extern brightfunc_t *ourbright;    /* brightness calculation function */
00044 
00045        /* defined in pf2.c */
00046 extern void pass1init(void);              /* prepare for first pass */
00047 extern void pass1default(void);           /* for single pass */
00048 extern void pass1scan(COLOR *scan, int  y);      /* process first pass scanline */
00049 extern void pass2init(void);              /* prepare for final pass */
00050 extern void pass2scan(COLOR *scan, int  y);      /* process final pass scanline */
00051 
00052        /* defined in pf3.c */
00053 extern void initmask(void);               /* initialize gaussian lookup table */
00054 extern void dobox(COLOR  csum, int  xcent, int  ycent,
00055               int  c, int  r);            /* simple box filter */
00056 extern void dogauss(COLOR  csum, int  xcent, int  ycent,
00057               int  c, int  r);     /* gaussian filter */
00058 extern void dothresh(int  xcent, int  ycent,
00059               int  ccent, int  rcent);    /* gaussian threshold filter */
00060 
00061 #ifdef __cplusplus
00062 }
00063 #endif
00064 #endif /* _RAD_PFILT_H_ */
00065