Changeset 34209
- Timestamp:
- Jul 25, 2012, 8:16:31 AM (14 years ago)
- Location:
- branches/eam_branches/ipp-20120627/Ohana/src/addstar/src
- Files:
-
- 1 added
- 1 edited
-
BoundaryTreeIO.c (added)
-
findskycell.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/findskycell.c
r34206 r34209 211 211 MARKTIME("-- test %d pts: %f sec\n", Npts, dtime); 212 212 213 // save the tree 214 Header header, theader; 215 Matrix matrix; 216 FTable ftable; 217 218 gfits_init_header (&header); 219 header.extend = TRUE; 220 gfits_create_header (&header); 221 gfits_create_matrix (&header, &matrix); 222 223 ftable.header = &theader; 224 225 FILE *f = fopen (filename, "w"); 226 if (!f) { 227 fprintf (stderr, "ERROR: cannot open image subset file for output %s\n", filename); 228 return FALSE; 229 } 230 231 gfits_fwrite_header (f, &header); 232 gfits_fwrite_matrix (f, &matrix); 233 gfits_free_header (&header); 234 gfits_free_matrix (&matrix); 235 236 /*** MeasureTiny ***/ 237 { 238 gfits_create_table_header (&theader, "BINTABLE", "MEASURE_TINY"); 239 240 gfits_define_bintable_column (&theader, "E", "RA_OFF", "ra offset", "arcsec", 1.0, 0.0); 241 gfits_define_bintable_column (&theader, "E", "DEC_OFF", "dec offset", "arcsec", 1.0, 0.0); 242 gfits_define_bintable_column (&theader, "E", "MAG_SYS", "magnitude (sys)", NULL, 1.0, 0.0); 243 gfits_define_bintable_column (&theader, "E", "MAG_CAL", "magnitude (cal)", NULL, 1.0, 0.0); 244 gfits_define_bintable_column (&theader, "E", "MAG_ERR", "magnitude (err)", NULL, 1.0, 0.0); 245 gfits_define_bintable_column (&theader, "E", "AIRMASS", "airmass", NULL, 1.0, 0.0); 246 gfits_define_bintable_column (&theader, "E", "X_CCD", "ccd x coord", "pix", 1.0, 0.0); 247 gfits_define_bintable_column (&theader, "E", "Y_CCD", "ccd y coord", "pix", 1.0, 0.0); 248 gfits_define_bintable_column (&theader, "E", "EXPTIME", "-2.5 * log (exposure time)", "sec", 1.0, 0.0); 249 gfits_define_bintable_column (&theader, "J", "TIME", "time of exp", "sec", 1.0, 1.0*0x8000); 250 gfits_define_bintable_column (&theader, "J", "AVE_REF", "pointer to average table", NULL, 1.0, 1.0*0x8000); 251 gfits_define_bintable_column (&theader, "J", "IMAGE_ID", "image", NULL, 1.0, 1.0*0x8000); 252 gfits_define_bintable_column (&theader, "J", "DB_FLAGS", "flags", NULL, 1.0, 1.0*0x8000); 253 gfits_define_bintable_column (&theader, "J", "PHOT_FLAGS", "photflags", NULL, 1.0, 1.0*0x8000); 254 gfits_define_bintable_column (&theader, "J", "CAT_ID", "catalog", NULL, 1.0, 1.0*0x8000); 255 gfits_define_bintable_column (&theader, "I", "PHOTCODE", "photcode", NULL, 1.0, 1.0*0x80); 256 257 // generate the output array that carries the data 258 gfits_create_table (&theader, &ftable); 259 260 // create intermediate storage arrays 261 float *dR ; ALLOCATE (dR , float, catalog->Nmeasure); 262 float *dD ; ALLOCATE (dD , float, catalog->Nmeasure); 263 float *M ; ALLOCATE (M , float, catalog->Nmeasure); 264 float *Mcal ; ALLOCATE (Mcal , float, catalog->Nmeasure); 265 float *dM ; ALLOCATE (dM , float, catalog->Nmeasure); 266 float *airmass ; ALLOCATE (airmass , float, catalog->Nmeasure); 267 float *Xccd ; ALLOCATE (Xccd , float, catalog->Nmeasure); 268 float *Yccd ; ALLOCATE (Yccd , float, catalog->Nmeasure); 269 float *dt ; ALLOCATE (dt , float, catalog->Nmeasure); 270 int *t ; ALLOCATE (t , int , catalog->Nmeasure); 271 int *averef ; ALLOCATE (averef , int , catalog->Nmeasure); 272 int *imageID ; ALLOCATE (imageID , int , catalog->Nmeasure); 273 int *dbFlags ; ALLOCATE (dbFlags , int , catalog->Nmeasure); 274 int *photFlags ; ALLOCATE (photFlags, int , catalog->Nmeasure); 275 int *catID ; ALLOCATE (catID , int , catalog->Nmeasure); 276 short *photcode ; ALLOCATE (photcode , short, catalog->Nmeasure); 277 278 // assign the storage arrays 279 MeasureTiny *measure = catalog->measure; 280 for (i = 0; i < catalog->Nmeasure; i++) { 281 dR[i] = measure[i].dR ; 282 dD[i] = measure[i].dD ; 283 M[i] = measure[i].M ; 284 Mcal[i] = measure[i].Mcal ; 285 dM[i] = measure[i].dM ; 286 airmass[i] = measure[i].airmass ; 287 Xccd[i] = measure[i].Xccd ; 288 Yccd[i] = measure[i].Yccd ; 289 dt[i] = measure[i].dt ; 290 t[i] = measure[i].t ; 291 averef[i] = measure[i].averef ; 292 catID[i] = measure[i].catID ; 293 imageID[i] = measure[i].imageID ; 294 dbFlags[i] = measure[i].dbFlags ; 295 photFlags[i]= measure[i].photFlags; 296 photcode[i] = measure[i].photcode ; 297 } 298 299 header.buffer = NULL; 300 matrix.buffer = NULL; 301 ftable.buffer = NULL; 302 theader.buffer = NULL; 303 213 BoundaryTreeSave (treefile, &tree); 304 214 305 215 return TRUE; 306 216 } 307 308 217 309 218 // the boundary tree...
Note:
See TracChangeset
for help on using the changeset viewer.
