generic ohana functions
basic macros
TRUE
FALSE
SIGN(X)
ROUND(X)
SQR(X)
SQ(X)
MIN(X,Y)
MAX(X,Y)
SWAP(X,Y)
whitespace (char c)
ohana memory management functions
ALLOCATE (void *ptr, type, int Nalloc);
REALLOCATE (void *ptr, type, int Nalloc);
CHECK_REALLOCATE (void *ptr, type, int Nalloc, int Nused, int Ndelta);
free (void *ptr);
void ohana_memregister (void *ptr);
void ohana_memdump (int mode);
void ohana_memcheck (int mode);
string manipulation functions (string.c)
int get_argument (int argc, char **argv, char *arg);
int remove_argument (int Narg, int *argc, char **argv);
char *strcreate (char *string);
char *strncreate (char *string, int Nbytes);
int strnumcmp (char *str1, char *str2);
int stripwhite (char *string);
int scan_line (FILE *f, char *line);
int dparse (double *value, int Nentry, char *line);
int fparse (double *value, int Nentry, char *line);
char *_parse_nextword (char *string);
int get_argument (int argc, char **argv, char *arg);
search argv, argc list (starting at argv[1]) for desired argument.
returns entry number if found, 0 otherwise.
int remove_argument (int Narg, int *argc, char **argv);
remove the given entry Narg from the argv list, adjusting argc
appropriately.
int stripwhite (char *string);
strip whitespace (space or tab) from start and end of string.
int strnumcmp (char *str1, char *str2);
compare str1 and str2 as strings, or as numbers if both are pure
numeric values (base 10 only). returns TRUE / FALSE.
file system functions (findexec.c)
char *pathname (char *file);
char *filerootname (char *file);
char *fileextname (char *file);
char *filebasename (char *file);
char *findexec (int argc, char **argv);
int mkdirhier (char *path);
char *getcwd_cfht (char *path, int size);
void make_backup (char *filename);
int Fseek (FILE *f, long offset, int whence);
lockfile functions (glockfile.c)
FILE *fsetlockfile (char *filename, double timeout, int type, int *state);
int fclearlockfile (char *filename, FILE *f, int type, int *state);
associated constants:
LCK_SOFT - block writing
LCK_XCLD - block reading and writing
LCK_HARD - block reading and writing, persistent
LCK_UNLOCK - file is unlocked
LCK_ACCESS - can't get access to file
LCK_TIMEOUT - timeout setting lock
LCK_HARDLCK - error setting hard lockfile
LCK_HUNLOCK - error clearing hard lockfile
LCK_EMPTY - locked file is empty
LCK_FULL - locked file is not empty
LCK_UNKNOWN - can't stat file to get size
time / radec manipulation functions (time.c)
int dms_to_ddd (double *Value, char *string);
int str_to_radec (double *ra, double *dec, char *str1, char *str2);
int chk_time (char *line);
int str_to_time (char *line, time_t *second);
int str_to_dtime (char *line, double *second);
double sec_to_jd (time_t second);
time_t jd_to_sec (double jd);
double sec_to_mjd (time_t second);
time_t mjd_to_sec (double mjd);
char *sec_to_date (time_t second);
time_t date_to_sec (char *date);
time_t short_date_to_sec (char *date);
int hstgsc_hms_to_deg (double *h0, double *h1, double *d0, double *d1, char *string);
functions in config.c
char *SelectConfigFile (int *argc, char **argv, char *progname);
char *LoadConfigFile (char *filename);
char *ScanConfig (char *config, char *field, char *mode, int Nentry, ...);
char *expandline (char *line, char *config);
char *LoadRawConfigFile (char *filename, int options);
miscellaneous functions
char *ohana_version ();
DVO data structures and catalog I/O functions
read/write (Fread.c)
int Fread (char ptr, int size, int nitems, FILE *f, char *type);
int Fwrite (char ptr, int size, int nitems, FILE *f, char *type);
int ByteSwap (char *ptr, int size, int nitems, char *type);
int ConvertStruct (char *buffer, int size, int nitems, char *type);
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.
coordinate structure manipulations (coordops.c)
int XY_to_RD (double *ra, double *dec, double x, double y, Coords *coords);
int RD_to_XY (double *x, double *y, double ra, double dec, Coords *coords);
int fXY_to_RD (float *ra, float *dec, float x, float y, Coords *coords);
int fRD_to_XY (float *x, float *y, float ra, float dec, Coords *coords);
int GetCoords (Coords *coords, Header *header);
int coords_precess (double *ra, double *dec, double in_epoch, double out_epoch);
photcode manipulations (LoadPhotcodes.c)
int LoadPhotcodes (char *filename, PhotCodeData *photcodes);
int FreePhotcodes (PhotCodeData *photcodes);
PhotCode *GetPhotcodebyName (char *name);
PhotCode *GetPhotcodeEquivbyName (char *name);
PhotCode *GetPhotcodebyCode (int code);
PhotCode *GetPhotcodeEquivbyCode (int code);
PhotCode *GetPhotcodebyNsec (int Nsec);
char *GetPhotcodeNamebyCode (int code);
int GetPhotcodeCodebyName (char *name);
int GetPhotcodeEquivCodebyName (char *name);
int GetPhotcodeEquivCodebyCode (int code);
int GetPhotcodeNsec (int code);
int GetPhotcodeNsecfilt ();
int *GetPhotcodeEquivList (int code, int *nlist);
void SetZeroPoint (double ZP);
void ParseColorTerms (char *terms, float *X, int *N);
int PhotColor (Average *average, SecFilt *secfilt, Measure *measure, int c1, int c2, double *color);
short iPhotColor (Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
double PhotInst (Measure *measure);
double PhotCat (Measure *measure);
double PhotSys (Measure *measure, Average *average, SecFilt *secfilt);
double PhotRel (Measure *measure, Average *average, SecFilt *secfilt);
double PhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
double PhotAve (PhotCode *code, Average *average, SecFilt *secfilt);
double PhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure);
double PhotdM (PhotCode *code, Average *average, SecFilt *secfilt);
double PhotXm (PhotCode *code, Average *average, SecFilt *secfilt);
short iPhotInst (Measure *measure);
short iPhotCat (Measure *measure);
short iPhotSys (Measure *measure, Average *average, SecFilt *secfilt);
short iPhotRel (Measure *measure, Average *average, SecFilt *secfilt);
short iPhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
short iPhotAve (PhotCode *code, Average *average, SecFilt *secfilt);
short iPhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure);
short iPhotdM (PhotCode *code, Average *average, SecFilt *secfilt);
short iPhotXm (PhotCode *code, Average *average, SecFilt *secfilt);
photometry catalog I/O functions (phot_catalog.c)
int lock_catalog (Catalog *catalog, int lockmode);
int unlock_catalog (Catalog *catalog);
int load_catalog (Catalog *catalog, char mode, int VERBOSE);
int save_catalog (Catalog *catalog, char VERBOSE);
DVO format conversions (dvo_convert.c)
Measure *FixOldMeasure (OldMeasure *in, int Nvalues);
Average *FixOldAverage (OldAverage *in, int Nvalues);
SecFilt *FixOldSecFilt (OldSecFilt *in, int Nvalues);
image type / mode lookups (imreg_datatypes.c)
int get_image_type (char *name);
char *get_type_name (int type);
int get_image_mode (char *name);
char *get_mode_name (int mode);
mosaic astrometry functions (mosaic_astrom.c)
int FindMosaicForImage (Image *images, int Nimages, int entry);
int FindMosaicForImage_TableSearch (Image *images, int Nimages, int entry);
int FindMosaicForImage_MatchSearch (Image *images, int Nimages, int entry);
int BuildChipMatch (Image *images, int Nimages);
FITS DB I/O functions (fits_db.c)
int fits_db_init (FITS_DB *db);
int fits_db_create (FITS_DB *db);
int fits_db_lock (FITS_DB *db, char *filename);
int fits_db_load (FITS_DB *db);
int fits_db_save (FITS_DB *db);
int fits_db_update (FITS_DB *db, VTable *vtable);
int fits_db_free (FITS_DB *db);
int fits_db_close (FITS_DB *db);
functions in photfits.c
short int putMi (double value);
double getMi (short int value);
void returnMcal (Image *image, double *c);
void assignMcal (Image *image, double *c, int order);
double applyMcal (Image *image, double x, double y);
double findscatter (double *X, double *Y, double *M, double *dM, int N, double *c, int order);
These functions manipulate the high-order polynomial fit of magnitude
offset as a function of image position for the Image structure.