Index: trunk/Ohana/src/uniphot/include/setphot.h
===================================================================
--- trunk/Ohana/src/uniphot/include/setphot.h	(revision 39272)
+++ trunk/Ohana/src/uniphot/include/setphot.h	(revision 39288)
@@ -43,5 +43,5 @@
   
   // index = ix + iy*Nx + filter*Nchips + dir*Ngroup
-} CamCorrection;
+} CamPhotomCorrection;
 
 /* global variables set in parameter file */
@@ -53,5 +53,14 @@
 char        *IMAGES;
 char        *SINGLE_CPT;
-char        *CAM_FILE;
+
+char        *KH_FILE;
+char        *DCR_FILE;
+char        *CAM_PHOTOM_FILE;
+char        *CAM_ASTROM_FILE;
+
+int          KH_RESET;
+int          DCR_RESET;
+int          CAM_RESET;
+
 int          VERBOSE;
 int          RESET;
@@ -96,6 +105,6 @@
 Image        *load_images_setphot    PROTO((FITS_DB *db, off_t *Nimage));
 int           match_zpts_to_images   PROTO((Image *image, off_t Nimage, ZptTable *zpts, int Nzpts));
-int           update_dvo_setphot     PROTO((Image *image, off_t Nimage, CamCorrection *camcorr));
-void          update_catalog_setphot PROTO((Catalog *catalog, Image *image, off_t *index, off_t Nimage, CamCorrection *camcorr));
+int           update_dvo_setphot     PROTO((Image *image, off_t Nimage, CamPhotomCorrection *camcorr));
+void          update_catalog_setphot PROTO((Catalog *catalog, Image *image, off_t *index, off_t Nimage, CamPhotomCorrection *camcorr));
 void          update_catalog_setphot_client PROTO((Catalog *catalog, ImageSubset *image, off_t *index, off_t Nimage, FlatCorrectionTable *flatcorr));
 
@@ -109,11 +118,25 @@
 int           repair_catalog_by_objID     PROTO((Catalog *catalog));
 
-void           free_cam_correction          PROTO((CamCorrection *cam));
-CamCorrection *alloc_cam_correction         PROTO((int Nx, int Ny, int Nfilter, int Nseason));
-CamCorrection *load_cam_correction          PROTO((char *filename));
-int            save_cam_correction          PROTO((CamCorrection *cam, char *filename));
-// int            get_cam_correction        PROTO((int chipID, int filter, float Xccd, float Yccd, double *dX, double *dY));
-float          get_cam_correction           PROTO((CamCorrection *cam, int flat_id, float Xccd, float Yccd));
-CamCorrection *merge_flatcorr_and_camcorr   PROTO((FlatCorrectionTable *flatcorr, CamCorrection *camcorr));
+void          CamPhotomCorrectionFree            PROTO((CamPhotomCorrection *cam));
+CamPhotomCorrection *CamPhotomCorrectionAlloc    PROTO((int Nx, int Ny, int Nfilter, int Nseason));
+CamPhotomCorrection *CamPhotomCorrectionLoad     PROTO((char *filename));
+int            CamPhotomCorrectionSave           PROTO((CamPhotomCorrection *cam, char *filename));
+float          CamPhotomCorrectionValue          PROTO((CamPhotomCorrection *cam, int flat_id, float Xccd, float Yccd));
 
-int            match_camcorr_to_images      PROTO((Image *image, off_t Nimage, CamCorrection *camcorr));
+int            match_camcorr_to_images      PROTO((Image *image, off_t Nimage, CamPhotomCorrection *camcorr));
+CamPhotomCorrection *merge_flatcorr_and_camcorr   PROTO((FlatCorrectionTable *flatcorr, CamPhotomCorrection *camcorr));
+
+// spline correction functions
+double spline_apply_dbl (double *x, double *y, double *y2, int N, double X);
+
+int load_kh_correction (char *filename);
+int get_kh_correction (int sub, int chip, double *dX, double *dY, float Minst);
+
+int load_dcr_correction (char *filename);
+int get_dcr_correction (int filter, double *dX, double *dY, float Color);
+
+int CamAstromCorrectionLoad (char *filename);
+int CamAstromCorrectionValue (int chipID, int filter, float Xccd, float Yccd, double *dX, double *dY);
+
+
+int           update_catalog_setastrom        PROTO((Catalog *catalog));
