Changeset 13454
- Timestamp:
- May 21, 2007, 3:38:16 PM (19 years ago)
- Location:
- branches/kapa-mods-2007-05/Ohana/src/opihi
- Files:
-
- 2 added
- 13 edited
-
dvo/Makefile (modified) (1 diff)
-
dvo/avextract.c (modified) (6 diffs)
-
dvo/cmpload.c (modified) (1 diff)
-
dvo/dbBooleanCond.c (modified) (3 diffs)
-
dvo/dbCheckStack.c (modified) (2 diffs)
-
dvo/dbCmdlineFields.c (modified) (4 diffs)
-
dvo/dbExtractAverages.c (added)
-
dvo/dbExtractMeasures.c (added)
-
dvo/dbFields.c (modified) (7 diffs)
-
dvo/dbRPN.c (modified) (2 diffs)
-
dvo/dbStackMath.c (modified) (5 diffs)
-
dvo/dbStackOps.c (modified) (3 diffs)
-
dvo/mextract.c (modified) (3 diffs)
-
dvo/photometry.c (modified) (2 diffs)
-
include/dvoshell.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/Makefile
r12842 r13454 21 21 $(SRC)/init.$(ARCH).o \ 22 22 $(SRC)/ImageOps.$(ARCH).o \ 23 $(SRC)/ImageSelection.$(ARCH).o \23 $(SRC)/ImageSelection.$(ARCH).o \ 24 24 $(SRC)/LoadImages.$(ARCH).o \ 25 25 $(SRC)/cmpReadFile.$(ARCH).o \ 26 $(SRC)/compare.$(ARCH).o \26 $(SRC)/compare.$(ARCH).o \ 27 27 $(SRC)/match_image.$(ARCH).o \ 28 $(SRC)/photometry.$(ARCH).o \28 $(SRC)/photometry.$(ARCH).o \ 29 29 $(SRC)/dvomisc.$(ARCH).o \ 30 30 $(SRC)/region_list.$(ARCH).o \ 31 $(SRC)/dvomisc.$(ARCH).o \ 32 $(SRC)/dbBooleanCond.$(ARCH).o \ 33 $(SRC)/dbCheckStack.$(ARCH).o \ 34 $(SRC)/dbCmdlineFields.$(ARCH).o \ 35 $(SRC)/dbExtractAverages.$(ARCH).o \ 36 $(SRC)/dbExtractMeasures.$(ARCH).o \ 37 $(SRC)/dbFields.$(ARCH).o \ 38 $(SRC)/dbRPN.$(ARCH).o \ 39 $(SRC)/dbStackMath.$(ARCH).o \ 40 $(SRC)/dbStackOps.$(ARCH).o \ 31 41 $(SRC)/dvo.$(ARCH).o 32 42 -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/avextract.c
r13443 r13454 3 3 int avextract (int argc, char **argv) { 4 4 5 int i, j, m, N, NPTS, last, Nfields;5 int i, j, n, m, Npts, NPTS, last, Nfields, Nreturn, Ncstack, Nstack; 6 6 int Nsecfilt, mode; 7 7 char *RegionName, *RegionList, *p; 8 char **cstack; 9 float *values; 8 10 9 11 Catalog catalog; 10 12 SkyList *skylist; 11 13 PhotCode *code; 12 Vector * vec;14 Vector **vec; 13 15 14 dvoFields *fields; 16 dbField *fields; 17 dbStack *stack; 15 18 16 19 /* defaults */ … … 26 29 Nsecfilt = GetPhotcodeNsecfilt (); 27 30 31 // remove skyregion options 32 // XXX this needs to explicitly handle -qregion and -skyregion 33 if (!SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape; 34 28 35 // command-line is of the form: avextract field,field, field [where (field op value)...] 29 36 … … 33 40 34 41 // parse the remainder of the line as a boolean math expression 35 cstack = isolate_elements (arg v-last, &argv[last], &Ncstack);42 cstack = isolate_elements (argc-last, &argv[last], &Ncstack); 36 43 37 44 // construct the db Boolean math stack (frees cstack) 38 dbStack = dbRPN (Ncstack, cstack, &NdbStack);45 stack = dbRPN (Ncstack, cstack, &Nstack); 39 46 40 47 Nreturn = Nfields; 41 dbCheckStack ( dbStack, NdbStack, DVO_TABLE_AVERAGE, &fields, &Nfields);48 dbCheckStack (stack, Nstack, DVO_TABLE_AVERAGE, &fields, &Nfields); 42 49 // XXX handle errors 43 44 /* interpret command-line options */45 // this needs to explicitly handles -qregion and -skyregion46 if (!SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape;47 50 48 51 /* load region corresponding to selection above */ … … 51 54 /* create output storage vectors */ 52 55 ALLOCATE (values, float, Nfields); 53 ALLOCATE (vec, Vector , Nreturn);56 ALLOCATE (vec, Vector *, Nreturn); 54 57 for (i = 0; i < Nreturn; i++) { 55 58 if ((vec[i] = SelectVector (fields[i].name, ANYVECTOR, TRUE)) == NULL) goto escape; … … 78 81 // XXX for measure values, this could be optimized for one loop over measures... 79 82 for (n = 0; n < Nfields; n++) { 80 values[n] = ExtractAveragesNew (&catalog.average[j], &catalog.secfilt[j*Nsecfilt], &catalog.measure[m],fields[n]);83 values[n] = dbExtractAverages (&catalog.average[j], &catalog.secfilt[j*Nsecfilt], &catalog.measure[m], &fields[n]); 81 84 } 82 85 // test the conditional statement 83 if (!dbBooleanCond ( dbStack, NdbStack, values, fields, Nfields)) continue;86 if (!dbBooleanCond (stack, Nstack, values)) continue; 84 87 for (n = 0; n < Nreturn; n++) { 85 vec[n] .elements[N] = values[n];88 vec[n][0].elements[Npts] = values[n]; 86 89 } 87 N ++;88 if (N >= NPTS) {90 Npts++; 91 if (Npts >= NPTS) { 89 92 NPTS += 2000; 90 93 for (n = 0; n < Nreturn; n++) { 91 REALLOCATE (vec[n] .elements, float, NPTS);94 REALLOCATE (vec[n][0].elements, float, NPTS); 92 95 } 93 96 } … … 96 99 } 97 100 for (n = 0; n < Nreturn; n++) { 98 vec[n] .Nelements = N;99 REALLOCATE (vec[n] .elements, float, MAX(1,N));101 vec[n][0].Nelements = Npts; 102 REALLOCATE (vec[n][0].elements, float, MAX(1,Npts)); 100 103 } 104 105 // XXX free fields and stack 101 106 102 107 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/cmpload.c
r13434 r13454 8 8 int i, Noverlay, NOVERLAY, Nstar, N, Nin, Nextra, Objtype, type; 9 9 int doneread, done, Nskip, Nbytes, nbytes, Ninstar; 10 char *c, *c2, name;10 char *c, *c2, *name; 11 11 double dtmp; 12 12 FILE *f; -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/dbBooleanCond.c
r13443 r13454 1 1 # include "dvoshell.h" 2 2 3 int dbBooleanCond (dvoStack dbStack, int NdbStack, float *values, dvoFields *fields, int Nfields) { 3 // evaluate the expression in inStack as a boolean; necessary db field values are 4 // supplied by fields, in order 0 - Nfields (validate before calling) 5 int dbBooleanCond (dbStack *inStack, int NinStack, float *fields) { 4 6 5 int i, j, Nstack; 6 dvoStack **stack, *output; 7 float value; 8 int i, j, N, Nstack; 9 dbStack **stack, *output; 7 10 8 11 // 'no stack' means 'no where statement' 9 if (N dbStack == 0) return (TRUE);12 if (NinStack == 0) return (TRUE); 10 13 11 Nstack = N dbStack;12 ALLOCATE (stack, d voStack *, NdbStack);13 for (i = 0; i < N dbStack; i++) {14 stack[i] = & dbStack[i];14 Nstack = NinStack; 15 ALLOCATE (stack, dbStack *, NinStack); 16 for (i = 0; i < NinStack; i++) { 17 stack[i] = &inStack[i]; 15 18 } 16 19 … … 18 21 19 22 /***** binary operators *****/ 20 if ((stack[i] .type >= 3) && (stack[i].type <= 8)) {23 if ((stack[i][0].type >= 3) && (stack[i][0].type <= 8)) { 21 24 22 25 // pre-test that op and entries match 23 output = dbBinary (stack[i-2], stack[i-1], stack[i] .name, fields, Nfields);26 output = dbBinary (stack[i-2], stack[i-1], stack[i][0].name, fields); 24 27 25 28 // free temporary stack items, drop external items … … 38 41 39 42 /***** unary operators **/ 40 if (stack[i] .type == 9) {43 if (stack[i][0].type == 9) { 41 44 42 45 // pre-test that op and entries match 43 output = dbUnary ( &stack[i-1], stack[i].name, fields, Nfields);46 output = dbUnary (stack[i-1], stack[i][0].name, fields); 44 47 45 48 // free temporary stack items, drop external items 46 dbFreeEntry (stack[i-2]);47 49 dbFreeEntry (stack[i-1]); 48 50 51 stack[i-1] = output; 49 52 for (j = i + 1; j < Nstack; j++) { 50 53 stack[j-1] = stack[j]; -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/dbCheckStack.c
r13443 r13454 1 # include " opihi.h"1 # include "dvoshell.h" 2 2 3 int dbCheckStack (d voStack *stack, int Nstack, int table, dvoField **inFields, int *Nfields) {3 int dbCheckStack (dbStack *stack, int Nstack, int table, dbField **inFields, int *Nfields) { 4 4 5 int i, Nx, Ny, Nv, size;5 int i, j, status, NFIELDS; 6 6 char *c; 7 d voFields*fields;7 dbField *fields; 8 8 9 9 NFIELDS = *Nfields + 10; 10 REALLOCATE (*inFields, d voField, NFIELDS);10 REALLOCATE (*inFields, dbField, NFIELDS); 11 11 fields = *inFields; 12 12 … … 44 44 45 45 *Nfields ++; 46 CHECK_REALLOCATE (*inFields, d voField, NFIELDS, *Nfields, 10);46 CHECK_REALLOCATE (*inFields, dbField, NFIELDS, *Nfields, 10); 47 47 fields = *inFields; 48 48 } -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/dbCmdlineFields.c
r13443 r13454 2 2 3 3 // identify the fields to be extracted (test for where, check syntax) 4 d voField *dbCmdlineFields (int argc, char **argv, int table, int *last, int *nfields) {4 dbField *dbCmdlineFields (int argc, char **argv, int table, int *last, int *nfields) { 5 5 6 int i, Nfields, NFIELDS, 6 int i, j, status, Nfields, NFIELDS; 7 char *p, *q, *field; 8 dbField *fields; 7 9 8 10 *nfields = 0; 9 11 Nfields = 0; 10 12 NFIELDS = 10; 11 ALLOCATE (fields, dvoField, NFIELDS); 13 ALLOCATE (fields, dbField, NFIELDS); 14 dbInitField (&fields[0]); 12 15 13 16 // examine each argv[i] entry until we reach a where … … 36 39 gprint (GP_ERR, "unknown database field %s\n", field); 37 40 free (field); 41 for (j = 0; j <= Nfields; j++) { 42 if (fields->name != NULL) free (fields->name); 43 } 38 44 free (fields); 39 45 return (NULL); … … 42 48 43 49 Nfields ++; 44 CHECK_REALLOCATE (fields, dvoField, NFIELDS, Nfields, 10); 50 CHECK_REALLOCATE (fields, dbField, NFIELDS, Nfields, 10); 51 dbInitField (&fields[Nfields]); 45 52 } 46 53 } … … 53 60 return (NULL); 54 61 } 55 if (i > =argc - 2) {62 if (i > argc - 2) { 56 63 gprint (GP_ERR, "missing boolean expression\n"); 57 64 free (fields); -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/dbFields.c
r13443 r13454 1 # include "dvoshell.h" 2 3 dbInitField (dbField *field) { 4 field->name = NULL; 5 field->extract = FALSE; 6 field->table = 0; 7 field->ID = 0; 8 field->magMode = 0; 9 field->photcode = NULL; 10 } 1 11 2 12 int GetMagMode (char *string) { … … 14 24 } 15 25 16 PhotCode *ParsePhotcodeField (char *field, int *mode, int def ault) {26 PhotCode *ParsePhotcodeField (char *field, int *mode, int defMode) { 17 27 18 28 char *tmpstring, *p; 19 29 PhotCode *code; 20 30 21 *mode = def ault;31 *mode = defMode; 22 32 23 33 p = strchr (field, ':'); … … 39 49 field->magMode = (M); \ 40 50 field->photcode = NULL; \ 41 return (TRUE); 51 return (TRUE); } 42 52 43 int ParseMeasureField (d voField *field, char *fieldName) {53 int ParseMeasureField (dbField *field, char *fieldName) { 44 54 55 int mode; 45 56 PhotCode *code; 46 57 … … 69 80 70 81 // check for code:mode in photcode name 71 code = ParsePhotcodeField ( &mode, MAG_REL);82 code = ParsePhotcodeField (fieldName, &mode, MAG_REL); 72 83 if (code == NULL) return (FALSE); 73 84 … … 83 94 } 84 95 85 int ParseAverageField ( char *fieldName) {96 int ParseAverageField (dbField *field, char *fieldName) { 86 97 98 int mode; 87 99 PhotCode *code; 88 100 89 101 field->table = DVO_TABLE_AVERAGE; 102 field->name = strcreate (fieldName); 90 103 91 104 if (!strcasecmp (fieldName, "RA")) ESCAPE (AVE_RA, MAG_NONE); … … 100 113 if (!strcasecmp (fieldName, "dPAR")) ESCAPE (AVE_PAR_ERR, MAG_NONE); 101 114 if (!strcasecmp (fieldName, "MAG")) ESCAPE (AVE_MAG, MAG_AVE); 102 if (!strcasecmp (fieldName, "dMAG")) ESCAPE (AVE_dMAG, MAG_ AVE_ERR);115 if (!strcasecmp (fieldName, "dMAG")) ESCAPE (AVE_dMAG, MAG_ERR); 103 116 if (!strcasecmp (fieldName, "NMEAS")) ESCAPE (AVE_NMEAS, MAG_NONE); 104 117 if (!strcasecmp (fieldName, "NMISS")) ESCAPE (AVE_NMISS, MAG_NONE); … … 114 127 115 128 // check for code:mode in photcode name 116 code = ParsePhotcodeField ( &mode, MAG_AVE);129 code = ParsePhotcodeField (fieldName, &mode, MAG_AVE); 117 130 if (code == NULL) return (FALSE); 118 131 119 132 // need to distinguish phot, sys errors and scatter 120 133 if (mode == MAG_ERR) { 121 field->ID = MEAS_dMAG;134 field->ID = AVE_dMAG; 122 135 } else { 123 field->ID = MEAS_MAG;136 field->ID = AVE_MAG; 124 137 } 125 138 -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/dbRPN.c
r13443 r13454 2 2 # define DUMPSTACK 0 3 3 4 d voStack *dbRPN (int argc, char **argv, int *nstack) {4 dbStack *dbRPN (int argc, char **argv, int *nstack) { 5 5 6 6 int type, Nx, Ny; 7 7 int i, j, Nstack, Nop_stack, NSTACK; 8 d voStack *stack, *op_stack;8 dbStack *stack, *op_stack; 9 9 10 10 /* max total stack size is argc, though should be less, this is safe */ 11 11 NSTACK = argc + 5; 12 ALLOCATE (stack, d voStack, NSTACK);13 ALLOCATE (op_stack, d voStack, NSTACK);12 ALLOCATE (stack, dbStack, NSTACK); 13 ALLOCATE (op_stack, dbStack, NSTACK); 14 14 for (i = 0; i < NSTACK; i++) { 15 15 dbInitStack (&stack[i]); … … 173 173 free (op_stack); 174 174 dbFreeStack (&stack[Nstack], NSTACK - Nstack); 175 REALLOCATE (stack, d voStack, MAX (Nstack, 1));175 REALLOCATE (stack, dbStack, MAX (Nstack, 1)); 176 176 *nstack = Nstack; 177 177 -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/dbStackMath.c
r13443 r13454 1 # include " opihi.h"1 # include "dvoshell.h" 2 2 3 d voStack *dbBinary (dvoStack *V1, dvoStack *V2, char *op, float *fields, int Nfields) {3 dbStack *dbBinary (dbStack *V1, dbStack *V2, char *op, float *fields) { 4 4 5 int N; 5 6 float M1, M2; 7 dbStack *OUT; 6 8 7 9 if (V1->type == 'F') { … … 19 21 } 20 22 21 ALLOCATE (OUT, d voStack, 1);23 ALLOCATE (OUT, dbStack, 1); 22 24 OUT->type = 'T'; 23 25 … … 85 87 } 86 88 87 d voStack *dbUnary (dvoStack *V1, dvoStack *V2, char *op, float *fields, int Nfields) {89 dbStack *dbUnary (dbStack *V1, char *op, float *fields) { 88 90 91 int N; 89 92 float M1; 93 dbStack *OUT; 90 94 91 95 if (V1->type == 'F') { … … 96 100 } 97 101 98 ALLOCATE (OUT, d voStack, 1);102 ALLOCATE (OUT, dbStack, 1); 99 103 OUT->type = 'T'; 100 104 … … 133 137 if (!strcmp (op, "isnan")) { OUT->Float = isnan(M1); } 134 138 135 return ( TRUE);139 return (OUT); 136 140 } -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/dbStackOps.c
r13443 r13454 1 1 # include "dvoshell.h" 2 2 3 void dbInitStack ( StackVar*stack) {3 void dbInitStack (dbStack *stack) { 4 4 stack[0].type = 0; 5 5 stack[0].name = NULL; … … 7 7 8 8 // free data for stack entries (free stack explicitly) 9 void dbFreeStack ( StackVar*stack, int Nstack) {9 void dbFreeStack (dbStack *stack, int Nstack) { 10 10 11 11 int i; … … 20 20 21 21 /* delete name and data */ 22 void dbFreeEntry (d voStack *stack) {22 void dbFreeEntry (dbStack *stack) { 23 23 24 24 if (stack->type != 'T') return; -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/mextract.c
r12332 r13454 3 3 int mextract (int argc, char **argv) { 4 4 5 int i, j, k, m, N, N1, NPTS;5 int i, j, k, m, n, N, N1, Npts, NPTS, last, Nfields, Nreturn, Ncstack, Nstack; 6 6 int param, mode, Nsecfilt; 7 7 char *RegionName, *RegionList, *p; 8 8 double *M1; 9 char **cstack; 10 float *values; 9 11 10 PhotCode *code;11 12 Catalog catalog; 12 13 SkyList *skylist; 13 Vector *vec; 14 PhotCode *code; 15 Vector **vec; 16 17 dbField *fields; 18 dbStack *stack; 14 19 15 20 /* defaults */ … … 24 29 if (!InitPhotcodes ()) goto escape; 25 30 Nsecfilt = GetPhotcodeNsecfilt (); 31 32 // init locally static variables (time refs) 33 dbExtractMeasuresInit(); 26 34 27 / * interpret command-line options */28 SetSelectionParam (0);35 // remove skyregion options 36 // XXX this needs to explicitly handle -qregion and -skyregion 29 37 if (!SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape; 30 if (!SetPhotSelections (&argc, argv, 1)) goto usage;31 38 32 /* interpret required command-line arguments: mextract (value) */ 33 if (argc != 2) goto usage; 34 param = GetMeasureParam (argv[1]); 35 if (param == MEAS_ZERO) { 36 if (!GetPhotcodeInfo (argv[1], &code, &mode)) { 37 GetMeasureParam ("help"); 38 goto escape; 39 } 40 param = MEAS_MAG; 41 for (p = argv[1]; *p != 0; p++) { 42 if (*p == '.') *p = ':'; 43 } 44 } 45 if (!TestPhotSelections (&code, &mode, MEAS_ZERO)) goto escape; 39 // command-line is of the form: avextract field,field, field [where (field op value)...] 40 41 // parse the fields to be extracted and returned 42 fields = dbCmdlineFields (argc, argv, DVO_TABLE_MEASURE, &last, &Nfields); 43 if (fields == NULL) return (FALSE); 44 45 // parse the remainder of the line as a boolean math expression 46 cstack = isolate_elements (argc-last, &argv[last], &Ncstack); 47 48 // construct the db Boolean math stack (frees cstack) 49 stack = dbRPN (Ncstack, cstack, &Nstack); 50 51 Nreturn = Nfields; 52 dbCheckStack (stack, Nstack, DVO_TABLE_MEASURE, &fields, &Nfields); 53 // XXX handle errors 46 54 47 55 /* load region corresponding to selection above */ 48 56 if ((skylist = SelectRegions (RegionName, RegionList)) == NULL) goto escape; 49 if (!SetImageSelection (param, ((RegionName == NULL) && (RegionList == NULL)))) goto escape; 57 58 // XXX is this still needed? 59 // if (!SetImageSelection (param, ((RegionName == NULL) && (RegionList == NULL)))) goto escape; 50 60 51 61 /* create storage vector */ 52 N = 0; 62 ALLOCATE (values, float, Nfields); 63 ALLOCATE (vec, Vector *, Nreturn); 64 for (i = 0; i < Nreturn; i++) { 65 if ((vec[i] = SelectVector (fields[i].name, ANYVECTOR, TRUE)) == NULL) goto escape; 66 } 67 68 Npts = 0; 53 69 NPTS = 1; 54 if ((vec = SelectVector (argv[1], ANYVECTOR, TRUE)) == NULL) goto escape;55 70 71 // XXX need to add interrupt test to this loop 56 72 for (i = 0; i < skylist[0].Nregions; i++) { 73 /* lock, load, unlock catalog */ 57 74 catalog.filename = skylist[0].filename[i]; 58 75 catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF; … … 69 86 70 87 for (j = 0; j < catalog.Naverage; j++) { 71 M1 = NULL;72 88 m = catalog.average[j].offset; 73 M1 = ExtractMeasures (code, mode, &catalog.average[j], &catalog.secfilt[j*Nsecfilt], &catalog.measure[m], &N1, param); 74 for (k = 0; k < N1; k++) { 75 vec[0].elements[N] = M1[k]; 76 N++; 77 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 2000); 89 for (k = 0; k < catalog.average[j].Nm; k++, m++) { 90 91 // extract the relevant values for this measurement 92 for (n = 0; n < Nfields; n++) { 93 values[n] = dbExtractMeasures (&catalog.average[j], &catalog.secfilt[j*Nsecfilt], &catalog.measure[m], &fields[n]); 94 } 95 96 // test the conditional statement 97 if (!dbBooleanCond (stack, Nstack, values)) continue; 98 for (n = 0; n < Nreturn; n++) { 99 vec[n][0].elements[Npts] = values[n]; 100 } 101 Npts++; 102 if (Npts >= NPTS) { 103 NPTS += 2000; 104 for (n = 0; n < Nreturn; n++) { 105 REALLOCATE (vec[n][0].elements, float, NPTS); 106 } 107 } 78 108 } 79 if (M1 != NULL) free (M1);80 109 } 81 110 dvo_catalog_free (&catalog); 82 111 } 83 vec[0].Nelements = N; 84 REALLOCATE (vec[0].elements, float, MAX(1,N)); 112 for (n = 0; n < Nreturn; n++) { 113 vec[n][0].Nelements = Npts; 114 REALLOCATE (vec[n][0].elements, float, MAX(1,Npts)); 115 } 116 117 // XXX free fields and stack 85 118 86 119 FreeImageSelection (); -
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/photometry.c
r12730 r13454 174 174 } 175 175 176 // XXX moved to dbFields 177 # if (0) 176 178 int GetMagMode (char *string) { 177 179 … … 188 190 return (mode); 189 191 } 192 # endif 190 193 191 194 int GetMeasureParam (char *parname) { -
branches/kapa-mods-2007-05/Ohana/src/opihi/include/dvoshell.h
r13444 r13454 7 7 8 8 /* magnitude types */ 9 enum {MAG_NONE, MAG_INST, MAG_CAT, MAG_SYS, MAG_REL, MAG_CAL, MAG_AVE, MAG_REF };9 enum {MAG_NONE, MAG_INST, MAG_CAT, MAG_SYS, MAG_REL, MAG_CAL, MAG_AVE, MAG_REF, MAG_ERR, MAG_CHISQ}; 10 10 11 /* measure params */11 /* measure fields */ 12 12 enum {MEAS_ZERO, MEAS_RA, MEAS_DEC, MEAS_MAG, MEAS_dMAG, MEAS_MINST, MEAS_MCAT, 13 13 MEAS_MSYS, MEAS_MREL, MEAS_MCAL, MEAS_PHOTCODE, MEAS_TIME, MEAS_dR, MEAS_dD, 14 14 MEAS_FWHM, MEAS_DOPHOT, MEAS_XCCD, MEAS_YCCD, MEAS_XMOSAIC, MEAS_YMOSAIC, MEAS_FLAGS, MEAS_EXPTIME, MEAS_AIRMASS}; 15 15 16 /* average params */16 /* average fields */ 17 17 enum {AVE_ZERO, AVE_RA, AVE_DEC, AVE_RA_ERR, AVE_DEC_ERR, AVE_U_RA, AVE_U_DEC, 18 18 AVE_U_RA_ERR, AVE_U_DEC_ERR, AVE_PAR, AVE_PAR_ERR, AVE_MAG, AVE_REF, AVE_dMAG, … … 30 30 int magMode; 31 31 PhotCode *photcode; 32 } d voField;32 } dbField; 33 33 34 34 // db boolean operations … … 38 38 int field; 39 39 float Float; 40 } d voStack;40 } dbStack; 41 41 42 42 typedef struct { … … 116 116 int RD_to_XYpic PROTO((double *x, double *y, double r, double d, Coords *coords, double Rmin, double Rmax, double Rmid, int *leftside)); 117 117 118 // dvo DB field functions 119 dbField *dbCmdlineFields PROTO((int argc, char **argv, int table, int *last, int *nfields)); 120 dbStack *dbRPN PROTO((int argc, char **argv, int *nstack)); 121 int dbCheckStack PROTO((dbStack *stack, int Nstack, int table, dbField **inFields, int *Nfields)); 122 int dbBooleanCond PROTO((dbStack *inStack, int NinStack, float *fields)); 123 void dbInitStack PROTO((dbStack *stack)); 124 void dbFreeStack PROTO((dbStack *stack, int Nstack)); 125 void dbFreeEntry PROTO((dbStack *stack)); 126 127 dbStack *dbBinary PROTO((dbStack *V1, dbStack *V2, char *op, float *fields)); 128 dbStack *dbUnary PROTO((dbStack *V1, char *op, float *fields)); 129 130 int GetMagMode PROTO((char *string)); 131 PhotCode *ParsePhotcodeField PROTO((char *field, int *mode, int def)); 132 int ParseMeasureField PROTO((dbField *field, char *fieldName)); 133 int ParseAverageField PROTO((dbField *field, char *fieldName)); 134 135 double dbExtractAverages PROTO((Average *average, SecFilt *secfilt, Measure *measure, dbField *field)); 136 double dbExtractMeasures PROTO((Average *average, SecFilt *secfilt, Measure *measure, dbField *field)); 137 void dbExtractMeasuresInit PROTO(()); 138 118 139 # endif
Note:
See TracChangeset
for help on using the changeset viewer.
