Changeset 33107
- Timestamp:
- Jan 16, 2012, 2:56:58 PM (15 years ago)
- Location:
- branches/eam_branches/ipp-20111122/Ohana/src/addstar
- Files:
-
- 2 edited
-
Makefile (modified) (2 diffs)
-
src/loadwise_star_full.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20111122/Ohana/src/addstar/Makefile
r32994 r33107 30 30 31 31 all: addstar sedstar load2mass skycells mkcmf loadwise loadsupercos 32 33 INSTALL = addstar sedstar load2mass skycells mkcmf loadwise loadsupercos 32 34 33 35 # I need to fix the client/server version of addstar now that I have dropped Stars … … 294 296 $(BIN)/mkcmf.$(ARCH) : $(MKCMF) 295 297 296 INSTALL = addstar sedstar load2mass skycells mkcmf297 298 298 # I need to fix the client/server version of addstar now that I have dropped Stars 299 299 # as an autocode type and have converted to carrying average and measure -
branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/loadwise_star_full.c
r33106 r33107 2 2 # include "WISE.h" 3 3 4 // XXX check to see if desired output format is PS1_V1 or later? (use 16bit version if not?) 4 int setWISE_ph_qual (Stars *star, char qual); 5 int setWISE_var_flag (Stars *star, char qual); 6 int setWISE_ext_flag (Stars **star, char *ptr); 7 int setWISE_cc_flag (Stars *star, char qual); 8 int setWISE_sat_flag (Stars *star, char *ptr); 9 int setWISE_blend_flag (Stars **star, char *ptr); 5 10 6 11 // fill in the data for a WISE quad star. takes a pointer to the start of the line the … … 8 13 int loadwise_star_full (Stars **star, char *line, int Nmax) { 9 14 15 int i; 10 16 char *ptr; 11 double jd;12 17 13 18 if (line == NULL) Shutdown ("format error in WISE"); … … 88 93 } 89 94 90 91 // ptr = nextWISEfield (ptr); // x_scan 92 // star[0][0].measure.Xccd = strtod (ptr, NULL); 93 // star[2][0].measure.Xccd = star[1][0].measure.Xccd = star[0][0].measure.Xccd; 94 // ptr = nextWISEfield (ptr); // jdate (julian date) 95 96 jd = 2455263.0; // NOTE : WISE prelim release does not contain per-detection time info. 95 double jd = 2455263.0; // NOTE : WISE prelim release does not contain per-detection time info. 97 96 // the release is based on data taken in the period 14 January 2010 to 29 April 2010 98 97 star[0][0].measure.t = ohana_jd_to_sec (jd); … … 100 99 star[2][0].measure.t = star[0][0].measure.t; 101 100 star[3][0].measure.t = star[0][0].measure.t; 102 103 // ptr = nextWISEfield (ptr); // j_psfchi104 // star[0][0].measure.psfChisq = strtod (ptr, NULL);105 // ptr = nextWISEfield (ptr); // h_psfchi106 // star[1][0].measure.psfChisq = strtod (ptr, NULL);107 // ptr = nextWISEfield (ptr); // k_psfchi108 // star[2][0].measure.psfChisq = strtod (ptr, NULL);109 //110 // ptr = nextWISEfield (ptr); // j_m_stdap111 // star[0][0].measure.Map = strtod (ptr, NULL);112 // ptr = nextWISEfield (ptr); // j_msig_stdap (skip?)113 //114 // ptr = nextWISEfield (ptr); // h_m_stdap115 // star[1][0].measure.Map = strtod (ptr, NULL);116 // ptr = nextWISEfield (ptr); // h_msig_stdap (skip?)117 //118 // ptr = nextWISEfield (ptr); // k_m_stdap119 // star[2][0].measure.Map = strtod (ptr, NULL);120 // ptr = nextWISEfield (ptr); // k_msig_stdap (skip?)121 //122 // ptr = nextWISEfield (ptr); // dist_edge_ns (skip)123 // ptr = nextWISEfield (ptr); // dist_edge_ew (skip)124 // ptr = nextWISEfield (ptr); // dist_edge_flg (skip)125 //126 // ptr = nextWISEfield (ptr); // dup_src (one flag for all filters)127 // setWISE_dup_flag (star[0], ptr[0]);128 // setWISE_dup_flag (star[1], ptr[0]);129 // setWISE_dup_flag (star[2], ptr[0]);130 //131 // ptr = nextWISEfield (ptr); // use_src (one flag for all filters)132 // setWISE_use_flag (star[0], ptr[0]);133 // setWISE_use_flag (star[1], ptr[0]);134 // setWISE_use_flag (star[2], ptr[0]);135 101 136 102 star[0][0].measure.photcode = WISE_W1; … … 166 132 } 167 133 134 # define FLAG_PH_A 0x00000001 // quality flag 'A' 135 # define FLAG_PH_B 0x00000002 // quality flag 'B' 136 # define FLAG_PH_C 0x00000004 // quality flag 'C' 137 # define FLAG_PH_U 0x00000008 // quality flag 'U' 138 # define FLAG_PH_X 0x00000010 // quality flag 'X' 139 140 # define FLAG_SATURATED_PIX 0x00000100 // sat > 0.0 141 142 # define FLAG_CC_PERSIST 0x00010000 // 'p' or 'P' 143 # define FLAG_CC_HALO 0x00020000 // 'h' or 'H' 144 # define FLAG_CC_GHOST 0x00020000 // 'o' or 'O' (note overloading) 145 # define FLAG_CC_SPIKE 0x00040000 // 'd' or 'D' 146 # define FLAG_CC_SPURIOUS 0x00080000 // Upper Case letters 147 148 # define FLAG_BLEND_ACTIVE 0x00100000 // nb > 1, na == 0 149 # define FLAG_BLEND_PASSIVE 0x00200000 // nb > 1, na == 1 150 151 # define FLAG_EXTENDED 0x01000000 // ext == 1 152 153 # define FLAG_VARIABLE_LEVEL1 0x10000000 // var_flg == 1 to 4 154 # define FLAG_VARIABLE_LEVEL2 0x20000000 // var_flg == 5 to 7 155 # define FLAG_VARIABLE_LEVEL3 0x40000000 // var_flg == 8 or 9 156 168 157 int setWISE_blend_flag (Stars **star, char *ptr) { 169 158 … … 175 164 176 165 if (na == 0) { 177 star[0][0].measure.photFlags |= 0x00100000;178 star[1][0].measure.photFlags |= 0x00100000;179 star[2][0].measure.photFlags |= 0x00100000;180 star[3][0].measure.photFlags |= 0x00100000;166 star[0][0].measure.photFlags |= FLAG_BLEND_ACTIVE; 167 star[1][0].measure.photFlags |= FLAG_BLEND_ACTIVE; 168 star[2][0].measure.photFlags |= FLAG_BLEND_ACTIVE; 169 star[3][0].measure.photFlags |= FLAG_BLEND_ACTIVE; 181 170 } else { 182 star[0][0].measure.photFlags |= 0x00200000; 183 star[1][0].measure.photFlags |= 0x00200000; 184 star[2][0].measure.photFlags |= 0x00200000; 185 star[3][0].measure.photFlags |= 0x00200000; 186 } 187 return TRUE; 188 } 189 190 int setWISE_ext_flag (Stars **star, char *ptr) { 191 192 int ext = atoi (ptr); 193 if (ext == 1) { 194 star[0][0].measure.photFlags |= 0x01000000; 195 star[1][0].measure.photFlags |= 0x01000000; 196 star[2][0].measure.photFlags |= 0x01000000; 197 star[3][0].measure.photFlags |= 0x01000000; 171 star[0][0].measure.photFlags |= FLAG_BLEND_PASSIVE; 172 star[1][0].measure.photFlags |= FLAG_BLEND_PASSIVE; 173 star[2][0].measure.photFlags |= FLAG_BLEND_PASSIVE; 174 star[3][0].measure.photFlags |= FLAG_BLEND_PASSIVE; 198 175 } 199 176 return TRUE; … … 204 181 float sat = strtod (ptr, NULL); 205 182 if (sat > 0.0) { 206 star[0].measure.photFlags |= 0x00000100; 207 } 208 return TRUE; 209 } 210 211 int setWISE_var_flag (Stars *star, char qual) { 212 213 int value = qual = '0'; 214 assert (value >= 0); 215 assert (value <= 9); 216 if (value == 0) return TRUE; 217 if (value < 5) { 218 star[0].measure.photFlags |= 0x10000000; 219 return TRUE; 220 } 221 if (value < 8) { 222 star[0].measure.photFlags |= 0x20000000; 223 return TRUE; 224 } 225 star[0].measure.photFlags |= 0x40000000; 183 star[0].measure.photFlags |= FLAG_SATURATED_PIX; 184 } 226 185 return TRUE; 227 186 } … … 230 189 231 190 switch (qual) { 232 case 'p': star[0].measure.photFlags |= 0x00010000; break; 233 case 'P': star[0].measure.photFlags |= 0x00010000; break; 234 case 'h': star[0].measure.photFlags |= 0x00020000; break; 235 case 'H': star[0].measure.photFlags |= 0x00020000; break; 236 case 'd': star[0].measure.photFlags |= 0x00040000; break; 237 case 'D': star[0].measure.photFlags |= 0x00040000; break; 238 case 'o': star[0].measure.photFlags |= 0x00020000; break; 239 case 'O': star[0].measure.photFlags |= 0x00020000; break; 191 case 'p': star[0].measure.photFlags |= FLAG_CC_PERSIST; break; 192 case 'h': star[0].measure.photFlags |= FLAG_CC_HALO; break; 193 case 'd': star[0].measure.photFlags |= FLAG_CC_SPIKE; break; 194 case 'o': star[0].measure.photFlags |= FLAG_CC_GHOST; break; 195 196 case 'P': star[0].measure.photFlags |= FLAG_CC_PERSIST | FLAG_CC_SPURIOUS; break; 197 case 'H': star[0].measure.photFlags |= FLAG_CC_HALO | FLAG_CC_SPURIOUS; break; 198 case 'D': star[0].measure.photFlags |= FLAG_CC_SPIKE | FLAG_CC_SPURIOUS; break; 199 case 'O': star[0].measure.photFlags |= FLAG_CC_GHOST | FLAG_CC_SPURIOUS; break; 200 240 201 case '0': break; 241 202 default: … … 246 207 } 247 208 209 int setWISE_ext_flag (Stars **star, char *ptr) { 210 211 int ext = atoi (ptr); 212 if (ext == 1) { 213 star[0][0].measure.photFlags |= FLAG_EXTENDED; 214 star[1][0].measure.photFlags |= FLAG_EXTENDED; 215 star[2][0].measure.photFlags |= FLAG_EXTENDED; 216 star[3][0].measure.photFlags |= FLAG_EXTENDED; 217 } 218 return TRUE; 219 } 220 221 int setWISE_var_flag (Stars *star, char qual) { 222 223 int value = qual - '0'; 224 assert (value >= 0); 225 assert (value <= 9); 226 if (value == 0) return TRUE; 227 if (value < 5) { 228 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL1; 229 return TRUE; 230 } 231 if (value < 8) { 232 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL2; 233 return TRUE; 234 } 235 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3; 236 return TRUE; 237 } 238 248 239 int setWISE_ph_qual (Stars *star, char qual) { 249 240 250 241 switch (qual) { 251 case 'A': star[0].measure.photFlags |= 0x00000001; break; // was: 0x0004252 case 'B': star[0].measure.photFlags |= 0x00000002; break; // was: 0x0005253 case 'C': star[0].measure.photFlags |= 0x00000004; break; // was: 0x0006254 case 'U': star[0].measure.photFlags |= 0x00000040; break; // was: 0x0001255 case 'X': star[0].measure.photFlags |= 0x00000080; break; // was: 0x0000242 case 'A': star[0].measure.photFlags |= FLAG_PH_A; break; 243 case 'B': star[0].measure.photFlags |= FLAG_PH_B; break; 244 case 'C': star[0].measure.photFlags |= FLAG_PH_C; break; 245 case 'U': star[0].measure.photFlags |= FLAG_PH_U; break; 246 case 'X': star[0].measure.photFlags |= FLAG_PH_X; break; 256 247 default: 257 248 fprintf (stderr, "error!\n"); … … 261 252 } 262 253 263 int setWISE_rd_flag (Stars *star, char qual) { 264 265 switch (qual) { 266 case '0': star[0].measure.photFlags |= 0x00000100; break; // was: 0x0000 267 case '1': star[0].measure.photFlags |= 0x00000200; break; // was: 0x0010 268 case '2': star[0].measure.photFlags |= 0x00000400; break; // was: 0x0020 269 case '3': star[0].measure.photFlags |= 0x00000800; break; // was: 0x0030 270 case '4': star[0].measure.photFlags |= 0x00001000; break; // was: 0x0040 271 case '6': star[0].measure.photFlags |= 0x00002000; break; // was: 0x0050 272 case '9': star[0].measure.photFlags |= 0x00004000; break; // was: 0x0060 273 default: 274 fprintf (stderr, "error!\n"); 275 exit (2); 276 } 277 return (TRUE); 278 } 279 280 int setWISE_bl_flag (Stars *star, char qual) { 281 282 switch (qual) { 283 case '0': star[0].measure.photFlags &= ~0x00300000; break; // was: ~0x0008 284 case '1': star[0].measure.photFlags |= 0x00100000; break; // was: ~0x0008 285 default: star[0].measure.photFlags |= 0x00200000; break; // was: 0x0008 286 } 287 return (TRUE); 288 } 289 290 int setWISE_gal_flag (Stars *star, char qual) { 291 292 switch (qual) { 293 case '0': star[0].measure.photFlags &= ~0x00c00000; break; // was: ~0x0080 294 case '1': star[0].measure.photFlags |= 0x00400000; break; // was: ~0x0080 295 default: star[0].measure.photFlags |= 0x00800000; // was: 0x0080 296 star[0].measure.extNsigma = 100.0; 297 break; 298 } 299 return (TRUE); 300 } 301 302 int setWISE_mp_flag (Stars *star, char qual) { 303 304 switch (qual) { 305 case '0': star[0].measure.photFlags &= ~0x03000000; break; // was: ~0x0800 306 case '1': star[0].measure.photFlags |= 0x01000000; break; // was: ~0x0800 307 default: star[0].measure.photFlags |= 0x02000000; break; // was: 0x0800 308 } 309 return (TRUE); 310 } 311 312 int setWISE_dup_flag (Stars *star, char qual) { 313 314 switch (qual) { 315 case '0': star[0].measure.photFlags &= ~0x0c000000; break; // was: ~0x1000 316 case '1': star[0].measure.photFlags |= 0x04000000; break; // was: ~0x1000 317 default: star[0].measure.photFlags |= 0x08000000; break; // was: 0x1000 318 } 319 return (TRUE); 320 } 321 322 int setWISE_use_flag (Stars *star, char qual) { 323 324 switch (qual) { 325 case '0': star[0].measure.photFlags &= ~0x10000000; break; // was: ~0x2000 326 case '1': star[0].measure.photFlags |= 0x10000000; break; // was: 0x2000 327 default: abort(); 328 } 329 return (TRUE); 330 } 331 332 // unused photFlags: 333 // 0x0000.8000 334 // 0x0004.0000 335 // 0x0008.0000 336 // 0x2000.0000 337 // 0x4000.0000 338 // 0x8000.0000 254 /* unused photFlag bits: 255 256 0x0000.0020 257 0x0000.0040 258 0x0000.0080 259 260 0x0000.0200 261 0x0000.0400 262 0x0000.0800 263 264 0x0000.1000 265 0x0000.2000 266 0x0000.4000 267 0x0000.8000 268 269 0x0040.0000 270 0x0080.0000 271 272 0x0200.0000 273 0x0400.0000 274 0x0800.0000 275 276 0x8000.0000 277 278 */
Note:
See TracChangeset
for help on using the changeset viewer.
