Changeset 18322 for trunk/ippTools/src/detselectConfig.c
- Timestamp:
- Jun 25, 2008, 2:21:25 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/detselectConfig.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
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.
