Index: trunk/Ohana/src/libohana/doc/libohana.html
===================================================================
--- trunk/Ohana/src/libohana/doc/libohana.html	(revision 4810)
+++ trunk/Ohana/src/libohana/doc/libohana.html	(revision 4832)
@@ -1,4 +1,21 @@
 
-<h2> libohana API reference </h2>
+<h1> libohana API reference </h1>
+
+<h2> generic ohana functions </h2>
+
+<h3> basic macros </h3>
+
+<pre>
+TRUE
+FALSE
+SIGN(X)  
+ROUND(X) 
+SQR(X)   
+SQ(X)    
+MIN(X,Y) 
+MAX(X,Y) 
+SWAP(X,Y) 
+whitespace (char c)
+</pre>
 
 <h3> ohana memory management functions </h3>
@@ -66,124 +83,7 @@
 <pre> int   fclearlockfile (char *filename, FILE *f, int type, int *state); </pre>
 
-<h3> read/write (Fread.c) </h3>
-
-<pre> int Fread (char ptr, int size, int nitems, FILE *f, char *type); </pre>
-<pre> int Fwrite (char ptr, int size, int nitems, FILE *f, char *type); </pre>
-<pre> int ByteSwap (char *ptr, int size, int nitems, char *type); </pre>
-<pre> int ConvertStruct (char *buffer, int size, int nitems, char *type); </pre>
-
-Several of these functions are used to perform byte-swapping for
-structures in the pre-autocode days.  They should be deprecated and
-dropped, but the autocoding must superceed the hard-wired structure
-first.
-
-<h3> miscellaneous functions </h3>
-
-<pre> char *ohana_version (); </pre>
-
-<h3> photcode manipulations (LoadPhotcodes.c) </h3>
-
-<pre> int   	LoadPhotcodes (char *filename, PhotCodeData *photcodes); </pre>
-<pre> int   	FreePhotcodes (PhotCodeData *photcodes); </pre>
-
-<pre> PhotCode *GetPhotcodebyName (char *name); </pre>
-<pre> PhotCode *GetPhotcodeEquivbyName (char *name); </pre>
-<pre> PhotCode *GetPhotcodebyCode (int code); </pre>
-<pre> PhotCode *GetPhotcodeEquivbyCode (int code); </pre>
-<pre> PhotCode *GetPhotcodebyNsec (int Nsec); </pre>
-<pre> char     *GetPhotcodeNamebyCode (int code); </pre>
-
-<pre> int 	GetPhotcodeCodebyName (char *name); </pre>
-<pre> int 	GetPhotcodeEquivCodebyName (char *name); </pre>
-<pre> int 	GetPhotcodeEquivCodebyCode (int code); </pre>
-<pre> int 	GetPhotcodeNsec (int code); </pre>
-<pre> int 	GetPhotcodeNsecfilt (); </pre>
-<pre> int      *GetPhotcodeEquivList (int code, int *nlist); </pre>
-
-<pre> void 	SetZeroPoint (double ZP); </pre>
-<pre> void 	ParseColorTerms (char *terms, float *X, int *N); </pre>
-
-<pre> int       PhotColor (Average *average, SecFilt *secfilt, Measure *measure, int c1, int c2, double *color); </pre>
-<pre> short 	iPhotColor (Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
-
-<pre> double 	PhotInst (Measure *measure); </pre>
-<pre> double 	PhotCat (Measure *measure); </pre>
-<pre> double 	PhotSys (Measure *measure, Average *average, SecFilt *secfilt); </pre>
-<pre> double 	PhotRel (Measure *measure, Average *average, SecFilt *secfilt); </pre>
-<pre> double 	PhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
-<pre> double 	PhotAve (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
-<pre> double 	PhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure); </pre>
-<pre> double 	PhotdM (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
-<pre> double 	PhotXm (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
-
-<pre> short 	iPhotInst (Measure *measure); </pre>
-<pre> short 	iPhotCat (Measure *measure); </pre>
-<pre> short 	iPhotSys (Measure *measure, Average *average, SecFilt *secfilt); </pre>
-<pre> short 	iPhotRel (Measure *measure, Average *average, SecFilt *secfilt); </pre>
-<pre> short 	iPhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
-<pre> short 	iPhotAve (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
-<pre> short 	iPhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure); </pre>
-<pre> short 	iPhotdM (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
-<pre> short 	iPhotXm (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
-
-<h3> functions in config.c </h3>
-
-<pre> char *SelectConfigFile (int *argc, char **argv, char *progname); </pre>
-<pre> char *LoadConfigFile (char *filename); </pre>
-<pre> char *ScanConfig (char *config, char *field, char *mode, int Nentry, ...); </pre>
-<pre> char *expandline (char *line, char *config); </pre>
-<pre> char *LoadRawConfigFile (char *filename, int options); </pre>
-
-<h3> functions in coordops.c </h3>
-
-<pre> int XY_to_RD (double *ra, double *dec, double x,  double y,   Coords *coords); </pre>
-<pre> int RD_to_XY (double *x,  double *y,   double ra, double dec, Coords *coords); </pre>
-<pre> int fXY_to_RD (float *ra, float *dec, float x,  float y,   Coords *coords); </pre>
-<pre> int fRD_to_XY (float *x,  float *y,   float ra, float dec, Coords *coords); </pre>
-<pre> int GetCoords (Coords *coords, Header *header); </pre>
-<pre> int coords_precess (double *ra, double *dec, double in_epoch, double out_epoch); </pre>
-
-<h3> functions in phot_catalog.c </h3>
-
-<pre> int lock_catalog (Catalog *catalog, int lockmode); </pre>
-<pre> int unlock_catalog (Catalog *catalog); </pre>
-<pre> int load_catalog (Catalog *catalog, char mode, int VERBOSE); </pre>
-<pre> int save_catalog (Catalog *catalog, char VERBOSE); </pre>
-<pre> Measure *FixOldMeasure (OldMeasure *in, int Nvalues); </pre>
-<pre> Average *FixOldAverage (OldAverage *in, int Nvalues); </pre>
-<pre> SecFilt *FixOldSecFilt (OldSecFilt *in, int Nvalues); </pre>
-
-<h3> functions in photfits.c </h3>
-
-<pre> short int putMi (double value); </pre>
-<pre> double getMi (short int value); </pre>
-<pre> void returnMcal (Image *image, double *c); </pre>
-<pre> void assignMcal (Image *image, double *c, int order); </pre>
-<pre> double applyMcal (Image *image, double x, double y); </pre>
-<pre> double findscatter (double *X, double *Y, double *M, double *dM, int N, double *c, int order); </pre>
-
-<h3> defined macros </h3>
-
-the ohana library includes the following macros:
+associated constants:
 
 <pre>
-
-SIGN(X)  
-ROUND(X) 
-SQR(X)   
-SQ(X)    
-MIN(X,Y) 
-MAX(X,Y) 
-SWAP(X,Y) 
-
-whitespace (char c)
-</pre>
-
-<h3> defined constants </h3>
-
-<pre>
-TRUE
-FALSE
-
 LCK_SOFT - block writing
 LCK_XCLD - block reading and writing
@@ -200,2 +100,148 @@
 LCK_UNKNOWN  - can't stat file to get size 
 </pre>
+
+<h3> time / radec manipulation functions (time.c) </h3>
+
+<pre> int dms_to_ddd (double *Value, char *string); </pre>
+<pre> int str_to_radec (double *ra, double *dec, char *str1, char *str2); </pre>
+<pre> int chk_time (char *line); </pre>
+<pre> int str_to_time (char *line, time_t *second); </pre>
+<pre> int str_to_dtime (char *line, double *second); </pre>
+<pre> double sec_to_jd (time_t second); </pre>
+<pre> time_t jd_to_sec (double jd); </pre>
+<pre> double sec_to_mjd (time_t second); </pre>
+<pre> time_t mjd_to_sec (double mjd); </pre>
+<pre> char *sec_to_date (time_t second); </pre>
+<pre> time_t date_to_sec (char *date); </pre>
+<pre> time_t short_date_to_sec (char *date); </pre>
+<pre> int hstgsc_hms_to_deg (double *h0, double *h1, double *d0, double *d1, char *string); </pre>
+
+<h3> functions in config.c </h3>
+
+<pre> char *SelectConfigFile (int *argc, char **argv, char *progname); </pre>
+<pre> char *LoadConfigFile (char *filename); </pre>
+<pre> char *ScanConfig (char *config, char *field, char *mode, int Nentry, ...); </pre>
+<pre> char *expandline (char *line, char *config); </pre>
+<pre> char *LoadRawConfigFile (char *filename, int options); </pre>
+
+<h3> miscellaneous functions </h3>
+
+<pre> char *ohana_version (); </pre>
+
+<h2> DVO data structures and catalog I/O functions </h2>
+
+<h3> read/write (Fread.c) </h3>
+
+<pre> int Fread (char ptr, int size, int nitems, FILE *f, char *type); </pre>
+<pre> int Fwrite (char ptr, int size, int nitems, FILE *f, char *type); </pre>
+<pre> int ByteSwap (char *ptr, int size, int nitems, char *type); </pre>
+<pre> int ConvertStruct (char *buffer, int size, int nitems, char *type); </pre>
+
+Several of these functions are used to perform byte-swapping for
+structures in the pre-autocode days.  They should be deprecated and
+dropped, but the autocoding must superceed the hard-wired structure
+first.
+
+<h3> coordinate structure manipulations (coordops.c) </h3>
+
+<pre> int XY_to_RD (double *ra, double *dec, double x,  double y,   Coords *coords); </pre>
+<pre> int RD_to_XY (double *x,  double *y,   double ra, double dec, Coords *coords); </pre>
+<pre> int fXY_to_RD (float *ra, float *dec, float x,  float y,   Coords *coords); </pre>
+<pre> int fRD_to_XY (float *x,  float *y,   float ra, float dec, Coords *coords); </pre>
+<pre> int GetCoords (Coords *coords, Header *header); </pre>
+<pre> int coords_precess (double *ra, double *dec, double in_epoch, double out_epoch); </pre>
+
+<h3> photcode manipulations (LoadPhotcodes.c) </h3>
+
+<pre> int   	LoadPhotcodes (char *filename, PhotCodeData *photcodes); </pre>
+<pre> int   	FreePhotcodes (PhotCodeData *photcodes); </pre>
+
+<pre> PhotCode *GetPhotcodebyName (char *name); </pre>
+<pre> PhotCode *GetPhotcodeEquivbyName (char *name); </pre>
+<pre> PhotCode *GetPhotcodebyCode (int code); </pre>
+<pre> PhotCode *GetPhotcodeEquivbyCode (int code); </pre>
+<pre> PhotCode *GetPhotcodebyNsec (int Nsec); </pre>
+<pre> char     *GetPhotcodeNamebyCode (int code); </pre>
+
+<pre> int 	GetPhotcodeCodebyName (char *name); </pre>
+<pre> int 	GetPhotcodeEquivCodebyName (char *name); </pre>
+<pre> int 	GetPhotcodeEquivCodebyCode (int code); </pre>
+<pre> int 	GetPhotcodeNsec (int code); </pre>
+<pre> int 	GetPhotcodeNsecfilt (); </pre>
+<pre> int      *GetPhotcodeEquivList (int code, int *nlist); </pre>
+
+<pre> void 	SetZeroPoint (double ZP); </pre>
+<pre> void 	ParseColorTerms (char *terms, float *X, int *N); </pre>
+
+<pre> int       PhotColor (Average *average, SecFilt *secfilt, Measure *measure, int c1, int c2, double *color); </pre>
+<pre> short 	iPhotColor (Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
+
+<pre> double 	PhotInst (Measure *measure); </pre>
+<pre> double 	PhotCat (Measure *measure); </pre>
+<pre> double 	PhotSys (Measure *measure, Average *average, SecFilt *secfilt); </pre>
+<pre> double 	PhotRel (Measure *measure, Average *average, SecFilt *secfilt); </pre>
+<pre> double 	PhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
+<pre> double 	PhotAve (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+<pre> double 	PhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure); </pre>
+<pre> double 	PhotdM (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+<pre> double 	PhotXm (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+
+<pre> short 	iPhotInst (Measure *measure); </pre>
+<pre> short 	iPhotCat (Measure *measure); </pre>
+<pre> short 	iPhotSys (Measure *measure, Average *average, SecFilt *secfilt); </pre>
+<pre> short 	iPhotRel (Measure *measure, Average *average, SecFilt *secfilt); </pre>
+<pre> short 	iPhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
+<pre> short 	iPhotAve (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+<pre> short 	iPhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure); </pre>
+<pre> short 	iPhotdM (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+<pre> short 	iPhotXm (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+
+<h3> photometry catalog I/O functions (phot_catalog.c) </h3>
+
+<pre> int lock_catalog (Catalog *catalog, int lockmode); </pre>
+<pre> int unlock_catalog (Catalog *catalog); </pre>
+<pre> int load_catalog (Catalog *catalog, char mode, int VERBOSE); </pre>
+<pre> int save_catalog (Catalog *catalog, char VERBOSE); </pre>
+
+<h3> DVO format conversions (dvo_convert.c) </h3>
+
+<pre> Measure *FixOldMeasure (OldMeasure *in, int Nvalues); </pre>
+<pre> Average *FixOldAverage (OldAverage *in, int Nvalues); </pre>
+<pre> SecFilt *FixOldSecFilt (OldSecFilt *in, int Nvalues); </pre>
+
+<h3> image type / mode lookups (imreg_datatypes.c) </h3>
+<pre> int   get_image_type (char *name); </pre>
+<pre> char *get_type_name (int type); </pre>
+<pre> int   get_image_mode (char *name); </pre>
+<pre> char *get_mode_name (int mode); </pre>
+
+<h3> mosaic astrometry functions (mosaic_astrom.c) </h3>
+
+<pre> int FindMosaicForImage (Image *images, int Nimages, int entry); </pre>
+<pre> int FindMosaicForImage_TableSearch (Image *images, int Nimages, int entry); </pre>
+<pre> int FindMosaicForImage_MatchSearch (Image *images, int Nimages, int entry); </pre>
+<pre> int BuildChipMatch (Image *images, int Nimages); </pre>
+
+<h3> FITS DB I/O functions (fits_db.c) </h3>
+
+<pre> int fits_db_init (FITS_DB *db); </pre>
+<pre> int fits_db_create (FITS_DB *db); </pre>
+<pre> int fits_db_lock (FITS_DB *db, char *filename); </pre>
+<pre> int fits_db_load (FITS_DB *db); </pre>
+<pre> int fits_db_save (FITS_DB *db); </pre>
+<pre> int fits_db_update (FITS_DB *db, VTable *vtable); </pre>
+<pre> int fits_db_free (FITS_DB *db); </pre>
+<pre> int fits_db_close (FITS_DB *db); </pre>
+
+<h3> functions in photfits.c </h3>
+
+<pre> short int putMi (double value); </pre>
+<pre> double getMi (short int value); </pre>
+<pre> void returnMcal (Image *image, double *c); </pre>
+<pre> void assignMcal (Image *image, double *c, int order); </pre>
+<pre> double applyMcal (Image *image, double x, double y); </pre>
+<pre> double findscatter (double *X, double *Y, double *M, double *dM, int N, double *c, int order); </pre>
+
+These functions manipulate the high-order polynomial fit of magnitude
+offset as a function of image position for the Image structure.
+
