Changeset 17161
- Timestamp:
- Mar 27, 2008, 4:24:35 PM (18 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 4 edited
-
chiptool.c (modified) (3 diffs)
-
chiptoolConfig.c (modified) (2 diffs)
-
pxchip.c (modified) (3 diffs)
-
pxchip.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/chiptool.c
r17148 r17161 254 254 PS_ASSERT_PTR_NON_NULL(config, NULL); 255 255 256 PXOPT_LOOKUP_STR(chip_id, config->args, "-chip_id", true, false); 256 psMetadata *where = psMetadataAlloc(); 257 PXOPT_LOOKUP_STR(chip_id, config->args, "-chip_id", false, false); 258 // convert chip_id into a psS64 259 if (chip_id) { 260 if (!psMetadataAddS64(where, PS_LIST_TAIL, "chip_id", 0, "==", (psS64)atoll(chip_id))) { 261 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id"); 262 psFree(where); 263 return false; 264 } 265 } 266 267 PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", false, false); 268 // convert exp_id into a psS64 269 if (exp_id) { 270 if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", 0, "==", (psS64)atoll(exp_id))) { 271 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 272 psFree(where); 273 return false; 274 } 275 } 276 277 PXOPT_COPY_STR(config->args, where, "-exp_name", "exp_name", "=="); 278 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); 279 PXOPT_COPY_STR(config->args, where, "-telescope", "telescope", "=="); 280 PXOPT_COPY_TIME(config->args, where, "-dateobs_begin", "dateobs", ">="); 281 PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "dateobs", "<="); 282 PXOPT_COPY_STR(config->args, where, "-exp_tag", "exp_tag", "=="); 283 PXOPT_COPY_STR(config->args, where, "-filelevel", "filelevel", "=="); 284 PXOPT_COPY_STR(config->args, where, "-reduction", "reduction", "=="); 285 PXOPT_COPY_STR(config->args, where, "-filter", "filter", "=="); 286 PXOPT_COPY_F64(config->args, where, "-airmass_min", "airmass", ">="); 287 PXOPT_COPY_F64(config->args, where, "-airmass_max", "airmass", "<"); 288 PXOPT_COPY_F64(config->args, where, "-ra_min", "ra", ">="); 289 PXOPT_COPY_F64(config->args, where, "-ra_max", "ra", "<"); 290 PXOPT_COPY_F64(config->args, where, "-decl_min", "decl", ">="); 291 PXOPT_COPY_F64(config->args, where, "-decl_max", "decl", "<"); 292 PXOPT_COPY_F32(config->args, where, "-exp_time_min", "exp_time", ">="); 293 PXOPT_COPY_F32(config->args, where, "-exp_time_max", "exp_time", "<"); 294 PXOPT_COPY_F32(config->args, where, "-sat_pixel_frac_min", "sat_pixel_frac", ">="); 295 PXOPT_COPY_F32(config->args, where, "-sat_pixel_frac_max", "sat_pixel_frac", "<"); 296 PXOPT_COPY_F64(config->args, where, "-bg_min", "bt", ">="); 297 PXOPT_COPY_F64(config->args, where, "-bg_max", "bt", "<"); 298 PXOPT_COPY_F64(config->args, where, "-bg_stdev_min", "bg_stdev", ">="); 299 PXOPT_COPY_F64(config->args, where, "-bg_stdev_max", "bg_stdev", "<"); 300 PXOPT_COPY_F64(config->args, where, "-bg_mean_stdev_min", "bg_mean_stdev", ">="); 301 PXOPT_COPY_F64(config->args, where, "-bg_mean_stdev_max", "bg_mean_stdev", "<"); 302 PXOPT_COPY_F64(config->args, where, "-alt_min", "alt", ">="); 303 PXOPT_COPY_F64(config->args, where, "-alt_max", "alt", "<"); 304 PXOPT_COPY_F64(config->args, where, "-az_min", "az", ">="); 305 PXOPT_COPY_F64(config->args, where, "-az_max", "az", "<"); 306 PXOPT_COPY_F32(config->args, where, "-ccd_temp_min", "ccd_temp", ">="); 307 PXOPT_COPY_F32(config->args, where, "-ccd_temp_max", "ccd_temp", "<"); 308 PXOPT_COPY_F64(config->args, where, "-posang_min", "posang", ">="); 309 PXOPT_COPY_F64(config->args, where, "-posang_max", "posang", "<"); 310 PXOPT_COPY_STR(config->args, where, "-object", "object", "=="); 311 PXOPT_COPY_F32(config->args, where, "-solang_min", "solang", ">="); 312 PXOPT_COPY_F32(config->args, where, "-solang_max", "solang", "<"); 313 314 if (!psListLength(where->list)) { 315 psFree(where); 316 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 317 return false; 318 } 319 257 320 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 258 321 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); … … 265 328 if (state) { 266 329 // set chipRun.state to state 267 if (!pxchipRunSetState (config, (psS64)atoll(chip_id), state)) {330 if (!pxchipRunSetStateByQuery(config, where, state)) { 268 331 return false; 269 332 } … … 272 335 if (label) { 273 336 // set chipRun.label to label 274 if (!pxchipRunSetLabel (config, (psS64)atoll(chip_id), label)) {337 if (!pxchipRunSetLabelByQuery(config, where, label)) { 275 338 return false; 276 339 } -
trunk/ippTools/src/chiptoolConfig.c
r17148 r17161 144 144 psMetadata *updaterunArgs = psMetadataAlloc(); 145 145 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-chip_id", 0, 146 "define stack ID (required)", NULL); 146 "define stack ID", NULL); 147 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_id", 0, 148 "search by exp_id", NULL); 149 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_name", 0, 150 "search by exp_name", NULL); 151 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-inst", 0, 152 "search for camera", NULL); 153 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-telescope", 0, 154 "search for telescope", NULL); 155 psMetadataAddTime(updaterunArgs, PS_LIST_TAIL, "-dateobs_begin", 0, 156 "search for exposures by time (>=)", NULL); 157 psMetadataAddTime(updaterunArgs, PS_LIST_TAIL, "-dateobs_end", 0, 158 "search for exposures by time (<)", NULL); 159 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_tag", 0, 160 "search by exp_tag", NULL); 161 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_type", 0, 162 "search by exp_type", "object"); 163 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-filelevel", 0, 164 "search by filelevel", NULL); 165 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-reduction", 0, 166 "search by reduction class", NULL); 167 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-filter", 0, 168 "search for filter", NULL); 169 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-airmass_min", 0, 170 "define min airmass", NAN); 171 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-airmass_max", 0, 172 "define max airmass", NAN); 173 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-ra_min", 0, 174 "define min", NAN); 175 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-ra_max", 0, 176 "define max", NAN); 177 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-decl_min", 0, 178 "define min", NAN); 179 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-decl_max", 0, 180 "define max", NAN); 181 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-exp_time_min", 0, 182 "define min", NAN); 183 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-exp_time_max", 0, 184 "define max", NAN); 185 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-sat_pixel_frac_min", 0, 186 "define max fraction of saturated pixels", NAN); 187 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-sat_pixel_frac_max", 0, 188 "define min fraction of saturated pixels", NAN); 189 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_min", 0, 190 "define max", NAN); 191 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_max", 0, 192 "define max", NAN); 193 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_stdev_min", 0, 194 "define max", NAN); 195 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_stdev_max", 0, 196 "define max", NAN); 197 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_mean_stdev_min", 0, 198 "define max", NAN); 199 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-bg_mean_stdev_max", 0, 200 "define max", NAN); 201 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-alt_min", 0, 202 "define min", NAN); 203 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-alt_max", 0, 204 "define max", NAN); 205 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-az_min", 0, 206 "define min", NAN); 207 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-az_max", 0, 208 "define max", NAN); 209 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-ccd_temp_min", 0, 210 "define min ccd tempature", NAN); 211 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-ccd_temp_max", 0, 212 "define max ccd tempature", NAN); 213 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-posang_min", 0, 214 "define min rotator position angle", NAN); 215 psMetadataAddF64(updaterunArgs, PS_LIST_TAIL, "-posang_max", 0, 216 "define max rotator position angle", NAN); 217 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-object", 0, 218 "search by exposure object", NULL); 219 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-solang_min", 0, 220 "define min solar angle", NAN); 221 psMetadataAddF32(updaterunArgs, PS_LIST_TAIL, "-solang_max", 0, 222 "define max solar angle", NAN); 223 147 224 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0, 148 225 "set state", NULL); … … 315 392 PXOPT_ADD_MODE("-updateprocessedimfile", "", CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileArgs); 316 393 PXOPT_ADD_MODE("-revertprocessedimfile", "", CHIPTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileArgs); 317 PXOPT_ADD_MODE("-block", " ", CHIPTOOL_MODE_BLOCK, blockArgs);318 PXOPT_ADD_MODE("-masked", " ", CHIPTOOL_MODE_MASKED, maskedArgs);394 PXOPT_ADD_MODE("-block", "set a label block", CHIPTOOL_MODE_BLOCK, blockArgs); 395 PXOPT_ADD_MODE("-masked", "show blocked labels", CHIPTOOL_MODE_MASKED, maskedArgs); 319 396 PXOPT_ADD_MODE("-unmasked", "", CHIPTOOL_MODE_UNMASKED, unmaskedArgs); 320 PXOPT_ADD_MODE("-unblock", " ", CHIPTOOL_MODE_UNBLOCK, unblockArgs);397 PXOPT_ADD_MODE("-unblock", "remove a label block", CHIPTOOL_MODE_UNBLOCK, unblockArgs); 321 398 322 399 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { -
trunk/ippTools/src/pxchip.c
r17148 r17161 2 2 * pxchip.c 3 3 * 4 * Copyright (C) 2007 Joshua Hoblitt4 * Copyright (C) 2007-2008 Joshua Hoblitt 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it … … 57 57 58 58 59 bool pxchipRunSetStateByQuery(pxConfig *config, psMetadata *where, const char *state) 60 { 61 PS_ASSERT_PTR_NON_NULL(config, false); 62 PS_ASSERT_PTR_NON_NULL(state, false); 63 64 // check that state is a valid string value 65 if (!( 66 (strncmp(state, "run", 4) == 0) 67 || (strncmp(state, "stop", 5) == 0) 68 || (strncmp(state, "reg", 4) == 0) 69 ) 70 ) { 71 psError(PS_ERR_UNKNOWN, false, 72 "invalid chipRun state: %s", state); 73 return false; 74 } 75 76 psString query = psStringCopy("UPDATE chipRun JOIN rawExp USING(exp_id) SET state = '%s'"); 77 78 if (where) { 79 psString whereClause = psDBGenerateWhereSQL(where, NULL); 80 psStringAppend(&query, " %s", whereClause); 81 psFree(whereClause); 82 } 83 84 if (!p_psDBRunQuery(config->dbh, query, state)) { 85 psFree(query); 86 psError(PS_ERR_UNKNOWN, false, "database error"); 87 return false; 88 } 89 90 psFree(query); 91 92 return true; 93 } 94 95 59 96 bool pxchipRunSetLabel(pxConfig *config, psS64 chip_id, const char *label) 60 97 { … … 73 110 74 111 112 bool pxchipRunSetLabelByQuery(pxConfig *config, psMetadata *where, const char *label) 113 { 114 PS_ASSERT_PTR_NON_NULL(config, false); 115 // note label == NULL should be explicitly allowed 116 117 psString query = psStringCopy("UPDATE chipRun JOIN rawExp USING(exp_id) SET label = '%s'"); 118 119 if (where) { 120 psString whereClause = psDBGenerateWhereSQL(where, NULL); 121 psStringAppend(&query, " %s", whereClause); 122 psFree(whereClause); 123 } 124 125 if (!p_psDBRunQuery(config->dbh, query, label)) { 126 psFree(query); 127 psError(PS_ERR_UNKNOWN, false, "database error"); 128 return false; 129 } 130 131 psFree(query); 132 133 return true; 134 } 135 136 75 137 psS64 pxchipQueueByExpTag(pxConfig *config, 76 138 psS64 exp_id, 77 c har *workdir,78 c har *label,79 c har *reduction,80 c har *expgroup,81 c har *dvodb,82 c har *tess_id,83 c har *end_stage)139 const char *workdir, 140 const char *label, 141 const char *reduction, 142 const char *expgroup, 143 const char *dvodb, 144 const char *tess_id, 145 const char *end_stage) 84 146 { 85 147 PS_ASSERT_PTR_NON_NULL(config, false); -
trunk/ippTools/src/pxchip.h
r17148 r17161 2 2 * pxchip.h 3 3 * 4 * Copyright (C) 2007 Joshua Hoblitt4 * Copyright (C) 2007-2008 Joshua Hoblitt 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it … … 26 26 27 27 bool pxchipRunSetState(pxConfig *config, psS64 chip_id, const char *state); 28 bool pxchipRunSetStateByQuery(pxConfig *config, psMetadata *where, const char *state); 28 29 bool pxchipRunSetLabel(pxConfig *config, psS64 chip_id, const char *label); 30 bool pxchipRunSetLabelByQuery(pxConfig *config, psMetadata *where, const char *label); 29 31 30 32 psS64 pxchipQueueByExpTag(pxConfig *config, 31 33 psS64 exp_id, 32 c har *workdir,33 c har *label,34 c har *reduction,35 c har *expgroup,36 c har *dvodb,37 c har *tess_id,38 c har *end_stage);34 const char *workdir, 35 const char *label, 36 const char *reduction, 37 const char *expgroup, 38 const char *dvodb, 39 const char *tess_id, 40 const char *end_stage); 39 41 40 42 #endif // PXCHIP_H
Note:
See TracChangeset
for help on using the changeset viewer.
