Changeset 18322
- Timestamp:
- Jun 25, 2008, 2:21:25 PM (18 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 2 edited
-
detselect.h (modified) (1 diff)
-
detselectConfig.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/detselect.h
r9392 r18322 31 31 pxConfig *detselectConfig(pxConfig *config, int argc, char **argv); 32 32 33 #define addWhereStr(name) \ 34 { \ 35 psString str = NULL; \ 36 bool status = false; \ 37 if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \ 38 if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\ 39 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 40 psFree(config); \ 41 return NULL; \ 42 } \ 43 } \ 44 } 45 46 #define addWhereStrAlias(name,realname) \ 47 { \ 48 psString str = NULL; \ 49 bool status = false; \ 50 if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \ 51 if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #realname, 0, "==", str)) {\ 52 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 53 psFree(config); \ 54 return NULL; \ 55 } \ 56 } \ 57 } 58 59 #define addWhereS32(name) \ 60 { \ 61 psS32 s32 = 0; \ 62 bool status = false; \ 63 if ((s32= psMetadataLookupS32(&status, config->args, "-" #name))) { \ 64 if (!psMetadataAddS32(config->where, PS_LIST_TAIL, #name, 0, "==", s32)) { \ 65 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 66 psFree(config); \ 67 return NULL; \ 68 } \ 69 } \ 70 } 71 72 #define addWhereF32(name) \ 73 { \ 74 psF32 var = 0; \ 75 bool status = false; \ 76 if ((var = psMetadataLookupF32(&status, config->args, "-" #name))) { \ 77 if (!isnan(var)) { \ 78 if (!psMetadataAddF32(config->where, PS_LIST_TAIL, #name, 0, "==", var)) { \ 79 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 80 psFree(config); \ 81 return NULL; \ 82 } \ 83 } \ 84 } \ 85 } 86 87 #define addWhereF64(name) \ 88 { \ 89 psF64 var = 0; \ 90 bool status = false; \ 91 if ((var = psMetadataLookupF64(&status, config->args, "-" #name))) { \ 92 if (!isnan(var)) { \ 93 if (!psMetadataAddF64(config->where, PS_LIST_TAIL, #name, 0, "==", var)) { \ 94 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 95 psFree(config); \ 96 return NULL; \ 97 } \ 98 } \ 99 } \ 100 } 101 102 #define addWhereTimeStr(name) \ 103 { \ 104 psString str = NULL; \ 105 bool status = false; \ 106 if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \ 107 psTime *time = psTimeFromISO(str, PS_TIME_UTC); \ 108 if (!time) { \ 109 psError(PS_ERR_UNKNOWN, false, "failed to convert " #name " into a psTime object"); \ 110 psFree(config); \ 111 return NULL; \ 112 } \ 113 psMetadataItem *item = psMetadataLookup(config->args, "-" #name); \ 114 if (item) { \ 115 str = item->comment; \ 116 } else { \ 117 str = NULL; \ 118 } \ 119 if (!psMetadataAddTime(config->where, PS_LIST_TAIL, #name, 0, str, time)) {\ 120 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 121 psFree(config); \ 122 return NULL; \ 123 } \ 124 psFree(time); \ 125 } \ 126 } 127 33 128 #endif // DETSELECT_H -
trunk/ippTools/src/detselectConfig.c
r18172 r18322 47 47 psMetadata *searchArgs = psMetadataAlloc(); 48 48 psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-inst", 0, 49 "search by camera", NULL);49 "search by camera", NULL); 50 50 psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-telescope", 0, 51 "search by telescope", NULL);51 "search by telescope", NULL); 52 52 psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-det_type", 0, 53 "search by detrend type", NULL); 53 "search by detrend type", NULL); 54 psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-type", 0, 55 "search by detrend type (alias for -det_type)", NULL); 54 56 psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-filter", 0, 55 "search by filter", NULL);57 "search by filter", NULL); 56 58 psMetadataAddF32(searchArgs, PS_LIST_TAIL, "-airmass", 0, 57 "define airmass", NAN);59 "define airmass", NAN); 58 60 psMetadataAddF32(searchArgs, PS_LIST_TAIL, "-exp_time", 0, 59 "search by exposure time", NAN);61 "search by exposure time", NAN); 60 62 psMetadataAddF32(searchArgs, PS_LIST_TAIL, "-ccd_temp", 0, 61 "search by ccd tempature", NAN);63 "search by ccd tempature", NAN); 62 64 psMetadataAddF64(searchArgs, PS_LIST_TAIL, "-posang", 0, 63 "search by rotator position angle", NAN);65 "search by rotator position angle", NAN); 64 66 psMetadataAddTime(searchArgs, PS_LIST_TAIL, "-time", 0, 65 "define time for desired detrend data", NULL);67 "define time for desired detrend data", NULL); 66 68 psMetadataAddBool(searchArgs, PS_LIST_TAIL, "-simple", 0, 67 "use the simple output format", false);69 "use the simple output format", false); 68 70 psMetadataAddBool(searchArgs, PS_LIST_TAIL, "-unlimit", 0, 69 "list all possible detruns, not just the best match", false);71 "list all possible detruns, not just the best match", false); 70 72 71 73 // -select 72 74 psMetadata *selectArgs = psMetadataAlloc(); 73 75 psMetadataAddStr(selectArgs, PS_LIST_TAIL, "-det_id", 0, 74 "search by detrend ID", NULL);76 "search by detrend ID", NULL); 75 77 psMetadataAddS32(selectArgs, PS_LIST_TAIL, "-iteration", 0, 76 "search by iteration number", 0);78 "search by iteration number", 0); 77 79 psMetadataAddStr(selectArgs, PS_LIST_TAIL, "-class_id", 0, 78 "search by class ID", NULL);80 "search by class ID", NULL); 79 81 psMetadataAddBool(selectArgs, PS_LIST_TAIL, "-simple", 0, 80 "use the simple output format", false);82 "use the simple output format", false); 81 83 82 84 psMetadata *argSets = psMetadataAlloc(); … … 98 100 99 101 // setup search criterion 100 #define addWhereStr(name) \101 { \102 psString str = NULL; \103 bool status = false; \104 if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \105 if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\106 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \107 psFree(config); \108 return NULL; \109 } \110 } \111 }112 113 #define addWhereS32(name) \114 { \115 psS32 s32 = 0; \116 bool status = false; \117 if ((s32= psMetadataLookupS32(&status, config->args, "-" #name))) { \118 if (!psMetadataAddS32(config->where, PS_LIST_TAIL, #name, 0, "==", s32)) { \119 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \120 psFree(config); \121 return NULL; \122 } \123 } \124 }125 126 #define addWhereF32(name) \127 { \128 psF32 var = 0; \129 bool status = false; \130 if ((var = psMetadataLookupF32(&status, config->args, "-" #name))) { \131 if (!isnan(var)) { \132 if (!psMetadataAddF32(config->where, PS_LIST_TAIL, #name, 0, "==", var)) { \133 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \134 psFree(config); \135 return NULL; \136 } \137 } \138 } \139 }140 141 #define addWhereF64(name) \142 { \143 psF64 var = 0; \144 bool status = false; \145 if ((var = psMetadataLookupF64(&status, config->args, "-" #name))) { \146 if (!isnan(var)) { \147 if (!psMetadataAddF64(config->where, PS_LIST_TAIL, #name, 0, "==", var)) { \148 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \149 psFree(config); \150 return NULL; \151 } \152 } \153 } \154 }155 156 #define addWhereTimeStr(name) \157 { \158 psString str = NULL; \159 bool status = false; \160 if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \161 psTime *time = psTimeFromISO(str, PS_TIME_UTC); \162 if (!time) { \163 psError(PS_ERR_UNKNOWN, false, "failed to convert " #name " into a psTime object"); \164 psFree(config); \165 return NULL; \166 } \167 psMetadataItem *item = psMetadataLookup(config->args, "-" #name); \168 if (item) { \169 str = item->comment; \170 } else { \171 str = NULL; \172 } \173 if (!psMetadataAddTime(config->where, PS_LIST_TAIL, #name, 0, str, time)) {\174 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \175 psFree(config); \176 return NULL; \177 } \178 psFree(time); \179 } \180 }181 182 102 // generate SQL where clause 183 103 config->where = psMetadataAlloc(); … … 186 106 addWhereS32(iteration); 187 107 addWhereStr(exp_id); 188 // convert '-inst' to 'camera' 189 { 190 psString str = NULL; 191 bool status = false; 192 if ((str = psMetadataLookupStr(&status, config->args, "-inst"))) { 193 if (!psMetadataAddStr(config->where, PS_LIST_TAIL, "camera", 0, "==", str)) { 194 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 195 psFree(config); 196 return NULL; 197 } 198 } 199 } 108 addWhereStrAlias(inst,camera); 109 200 110 addWhereStr(telescope); 201 111 addWhereStr(det_type); 112 addWhereStrAlias(type,det_type); 113 202 114 addWhereStr(exp_type); 203 115 addWhereS32(imfiles); … … 205 117 addWhereStr(class_id); 206 118 addWhereStr(filter); 207 // addWhereF32(exp_time); 208 // addWhereF64(ccd_temp); 209 // addWhereF32(airmass); 210 // addWhereTimeStr(use_begin); 211 // addWhereTimeStr(use_end); 119 120 // addWhereF32(exp_time); 121 // addWhereF64(ccd_temp); 122 // addWhereF32(airmass); 123 // addWhereTimeStr(use_begin); 124 // addWhereTimeStr(use_end); 212 125 213 126 if (config->where->list->n < 1) {
Note:
See TracChangeset
for help on using the changeset viewer.
