Changeset 37390
- Timestamp:
- Sep 12, 2014, 11:07:45 AM (12 years ago)
- Location:
- branches/eam_branches/ipp-20140904/Ohana/src
- Files:
-
- 1 added
- 9 edited
- 1 moved
-
libautocode/Makefile.Targets (modified) (2 diffs)
-
libautocode/def/starpar-ps1-v5.d (added)
-
libautocode/def/starpar.d (moved) (moved from branches/eam_branches/ipp-20140904/Ohana/src/libautocode/def/stellarParams.d ) (2 diffs)
-
libdvo/include/dvo.h (modified) (3 diffs)
-
libdvo/include/ps1_v5_defs.h (modified) (1 diff)
-
libdvo/src/dvo_catalog.c (modified) (1 diff)
-
libdvo/src/dvo_catalog_create.c (modified) (1 diff)
-
libdvo/src/dvo_catalog_mef.c (modified) (7 diffs)
-
libdvo/src/dvo_catalog_split.c (modified) (15 diffs)
-
libdvo/src/dvo_convert.c (modified) (1 diff)
-
libdvo/src/dvo_convert_PS1_V5.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20140904/Ohana/src/libautocode/Makefile.Targets
r37386 r37390 45 45 $(ASRC)/lensobj.$(ARCH).o \ 46 46 $(ASRC)/lensobj-ps1-v5.$(ARCH).o \ 47 $(ASRC)/starpar.$(ARCH).o \ 48 $(ASRC)/starpar-ps1-v5.$(ARCH).o \ 47 49 $(ASRC)/missing.$(ARCH).o \ 48 50 $(ASRC)/photcode.$(ARCH).o \ … … 143 145 $(AINC)/lensobj.h \ 144 146 $(AINC)/lensobj-ps1-v5.h \ 147 $(AINC)/starpar.h \ 148 $(AINC)/starpar-ps1-v5.h \ 145 149 $(AINC)/missing.h \ 146 150 $(AINC)/photcode.h \ -
branches/eam_branches/ipp-20140904/Ohana/src/libautocode/def/starpar.d
r37389 r37390 1 STRUCT StarPar s1 STRUCT StarPar 2 2 EXTNAME DVO_STELLAR_PARAMS 3 3 TYPE BINTABLE … … 5 5 DESCRIPTION DVO Table of Stellar Properties 6 6 7 FIELD galLat, GAL_LAT, double, galactic latitude8 FIELD galLon, GAL_LON, double, galactic longitude9 FIELD MKtype, MK_TYPE, float, O0 = 0.0?10 FIELD Par, PARALLAX, float, 1/pc11 FIELD dPar, PARALLAX_ERR, float, 1/pc12 FIELD uRA, U_RA, model guess for proper motion13 FIELD uDEC, U_DEC, model guess for proper motion14 FIELD averef, AVE_REF, unsigned int, reference to average entry15 FIELD objID, OBJ_ID, unsigned int, unique ID for object in table16 FIELD catID, CAT_ID, unsigned int, unique ID for table in which object was first realized7 FIELD galLat, GAL_LAT, double, galactic latitude 8 FIELD galLon, GAL_LON, double, galactic longitude 9 FIELD MKtype, MK_TYPE, float, O0 = 0.0? 10 FIELD Par, PARALLAX, float, 1/pc 11 FIELD dPar, PARALLAX_ERR, float, 1/pc 12 FIELD uRA, U_RA, float, model guess for proper motion 13 FIELD uDEC, U_DEC, float, model guess for proper motion 14 FIELD averef, AVE_REF, unsigned int, reference to average entry 15 FIELD objID, OBJ_ID, unsigned int, unique ID for object in table 16 FIELD catID, CAT_ID, unsigned int, unique ID for table in which object was first realized 17 17 18 18 # this is the list of stellar parameters loaded from Greg Green's tables: -
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/include/dvo.h
r37389 r37390 54 54 55 55 /* catalog values to be loaded */ 56 # define LOAD_NONE 0x000 57 # define LOAD_AVES 0x001 58 # define LOAD_MEAS 0x002 59 # define LOAD_MISS 0x004 60 # define LOAD_SECF 0x008 61 # define SKIP_AVES 0x010 62 # define SKIP_MEAS 0x020 63 # define SKIP_MISS 0x040 64 # define SKIP_SECF 0x080 65 # define LOAD_LENSING 0x100 66 # define LOAD_LENSOBJ 0x200 67 # define SKIP_LENSING 0x400 68 # define SKIP_LENSOBJ 0x800 56 # define LOAD_NONE 0x0000 57 # define LOAD_AVES 0x0001 58 # define LOAD_MEAS 0x0002 59 # define LOAD_MISS 0x0004 60 # define LOAD_SECF 0x0008 61 # define SKIP_AVES 0x0010 62 # define SKIP_MEAS 0x0020 63 # define SKIP_MISS 0x0040 64 # define SKIP_SECF 0x0080 65 # define LOAD_LENSING 0x0100 66 # define LOAD_LENSOBJ 0x0200 67 # define SKIP_LENSING 0x0400 68 # define SKIP_LENSOBJ 0x0800 69 # define LOAD_STARPAR 0x1000 70 # define SKIP_STARPAR 0x2000 69 71 70 72 /* photometry code types */ … … 652 654 Lensing *lensing; 653 655 Lensobj *lensobj; 654 655 656 StarPar *starpar; 656 657 … … 1007 1008 void dvo_lensing_init (Lensing *lensing); 1008 1009 void dvo_lensobj_init (Lensobj *lensobj, int toZero); 1009 1010 1010 void dvo_starpar_init (StarPar *starpar); 1011 1011 -
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/include/ps1_v5_defs.h
r37035 r37390 13 13 Lensobj_PS1_V5 *LensobjInternalTo_PS1_V5 (Lensobj *in, off_t Nvalues); 14 14 15 StarPar *StarPar_PS1_V5_ToInternal (StarPar_PS1_V5 *in, off_t Nvalues); 16 StarPar_PS1_V5 *StarParInternalTo_PS1_V5 (StarPar *in, off_t Nvalues); 17 15 18 PhotCode *PhotCode_PS1_V5_To_Internal (PhotCode_PS1_V5 *in, off_t Nvalues); 16 19 PhotCode_PS1_V5 *PhotCode_Internal_To_PS1_V5 (PhotCode *in, off_t Nvalues); -
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dvo_catalog.c
r37389 r37390 437 437 438 438 // init all data, or just catalog data 439 void dvo_starpar s_init (StarPars *starpars) {440 starpar s->galLat = NAN;441 starpar s->galLon = NAN;442 starpar s->MKtype = NAN;443 starpar s->Par = NAN;444 starpar s->dPar = NAN;445 starpar s->uRA = NAN;446 starpar s->uDEC = NAN;447 starpar s->averef = -1;448 starpar s->objID = -1;449 starpar s->catID = -1;439 void dvo_starpar_init (StarPar *starpar) { 440 starpar->galLat = NAN; 441 starpar->galLon = NAN; 442 starpar->MKtype = NAN; 443 starpar->Par = NAN; 444 starpar->dPar = NAN; 445 starpar->uRA = NAN; 446 starpar->uDEC = NAN; 447 starpar->averef = -1; 448 starpar->objID = -1; 449 starpar->catID = -1; 450 450 } 451 451 -
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dvo_catalog_create.c
r37389 r37390 102 102 gfits_create_header (&catalog[0].starpar_catalog[0].header); 103 103 ALLOCATE (catalog[0].starpar_catalog[0].filename, char, length); 104 sprintf (catalog[0].starpar_catalog[0].filename, "%s/%s.cp y", path, root);104 sprintf (catalog[0].starpar_catalog[0].filename, "%s/%s.cpz", path, root); 105 105 file = filebasename (catalog[0].starpar_catalog[0].filename); 106 106 gfits_modify (&catalog[0].header, "STARPAR", "%s", 1, file); -
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dvo_catalog_mef.c
r37035 r37390 4 4 5 5 off_t Nbytes; 6 off_t Naverage;7 off_t Nmeasure;8 off_t Nmissing;9 off_t Nlensing;10 off_t Nlensobj;11 6 off_t Nitems, Nexpect; 12 7 int Nsecfilt; … … 18 13 19 14 ftable.header = &header; 20 21 /* get the components from the header */22 if (!gfits_scan (&catalog[0].header, "NSTARS", OFF_T_FMT, 1, &Naverage)) return (FALSE);23 if (!gfits_scan (&catalog[0].header, "NMEAS", OFF_T_FMT, 1, &Nmeasure)) return (FALSE);24 if (!gfits_scan (&catalog[0].header, "NMISS", OFF_T_FMT, 1, &Nmissing)) return (FALSE);25 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;26 if (!gfits_scan (&catalog[0].header, "NLENSING", OFF_T_FMT, 1, &Nlensing)) return (FALSE);27 if (!gfits_scan (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, &Nlensobj)) return (FALSE);28 15 29 16 /* the OBJID is a counter that uniquely defines an average entry and never changes. if … … 38 25 catalog[0].catID = 0; 39 26 } 27 28 // NSTARS, average, Naves_disk 29 30 # define GET_TABLE_SIZES(HFIELD, CFIELD, DFIELD, REQUIRED) \ 31 off_t N##CFIELD; \ 32 if (REQUIRED) { \ 33 if (!gfits_scan (&catalog[0].header, HFIELD, OFF_T_FMT, 1, &N##CFIELD)) return (FALSE); \ 34 } else { \ 35 if (!gfits_scan (&catalog[0].header, HFIELD, OFF_T_FMT, 1, &N##CFIELD)) N##CFIELD = 0; \ 36 } \ 37 /* save the current number so we can do partial updates */ \ 38 catalog[0].DFIELD = N##CFIELD; \ 39 /* default values, but we will assign these a valid value before we exit (even if empty) */ \ 40 catalog[0].CFIELD = NULL; 40 41 41 /* save the current number so we can do partial updates*/42 catalog[0].Naves_disk = Naverage;43 catalog[0].Nmeas_disk = Nmeasure;44 catalog[0].Nmiss_disk = Nmissing;45 catalog[0].Nsecf_disk = Naverage * Nsecfilt;46 catalog[0].Nlensing_disk = Nlensing;47 catalog[0].Nlensobj_disk = Nlensobj;42 /* get the components and sizes from the header */ 43 GET_TABLE_SIZES ("NSTARS", average, Naves_disk, TRUE); 44 GET_TABLE_SIZES ("NMEAS", measure, Nmeas_disk, TRUE); 45 GET_TABLE_SIZES ("NMISS", missing, Nmiss_disk, FALSE); 46 GET_TABLE_SIZES ("NLENSING", lensing, Nlensing_disk, FALSE); 47 GET_TABLE_SIZES ("NLENSOBJ", lensobj, Nlensobj_disk, FALSE); 48 GET_TABLE_SIZES ("NSTARPAR", starpar, Nstarpar_disk, FALSE); 48 49 49 50 /** Nsecfilt is unusual: it does not list the number of data items in the table 50 51 instead, the number of items is Nsecfilt * Naverage. **/ 52 53 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0; 51 54 catalog[0].Nsecfilt = Nsecfilt; 52 53 /* default values, but we will assign these a valid value before we exit (even if empty) */ 54 catalog[0].average = NULL; 55 catalog[0].measure = NULL; 56 catalog[0].missing = NULL; 55 catalog[0].Nsecf_disk = Naverage * Nsecfilt; 57 56 catalog[0].secfilt = NULL; 58 catalog[0].lensing = NULL;59 catalog[0].lensobj = NULL;60 61 /* validate table mode ?*/62 57 63 58 /*** Average Table ***/ … … 259 254 } 260 255 256 /* read StarPar table header */ 257 if (!gfits_fread_header (catalog[0].f, &header)) { 258 if (VERBOSE) fprintf (stderr, "can't read table starpar header"); 259 return (FALSE); 260 } 261 /* read StarPar table data */ 262 if (catalog[0].catflags & LOAD_STARPAR) { 263 if (!gfits_fread_ftable_data (catalog[0].f, &ftable, FALSE)) { 264 if (VERBOSE) fprintf (stderr, "can't read table starpar data"); 265 return (FALSE); 266 } 267 catalog[0].starpar = FtableToStarPar (&ftable, &catalog[0].Nstarpar, &catalog[0].catformat); 268 if (Nstarpar != catalog[0].Nstarpar_disk) { 269 fprintf (stderr, "Warning: mismatch between Nstarpar in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n", Nstarpar, catalog[0].Nstarpar_disk); 270 } 271 catalog[0].Nstarpar = catalog[0].Nstarpar_disk; 272 catalog[0].Nstarpar_off = 0; 273 } else { 274 Nbytes = gfits_data_size (&header); 275 fseeko (catalog[0].f, Nbytes, SEEK_CUR); 276 ALLOCATE (catalog[0].starpar, StarPar, 1); 277 catalog[0].Nstarpar = 0; 278 catalog[0].Nstarpar_off = catalog[0].Nstarpar_disk; 279 } 280 261 281 return (TRUE); 262 282 } … … 309 329 gfits_modify (&catalog[0].header, "NLENSING", OFF_T_FMT, 1, catalog[0].Nlensing); 310 330 gfits_modify (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, catalog[0].Nlensobj); 331 gfits_modify (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, catalog[0].Nstarpar); 311 332 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 312 333 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); … … 403 424 /* write out Lensobj table (convert to FITS table format) */ 404 425 LensobjToFtable (&ftable, catalog[0].lensobj, catalog[0].Nlensobj, catalog[0].catformat); 426 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 427 fprintf (stderr, "can't write table header"); 428 goto failure; 429 } 430 if (!gfits_fwrite_table (catalog[0].f, &ftable)) { 431 fprintf (stderr, "can't write table data"); 432 goto failure; 433 } 434 gfits_free_table (&ftable); 435 gfits_free_header (&header); 436 437 /* free temp storage */ 438 if (primary != NULL) { 439 free (primary); 440 free (secfilt); 441 } 442 return (TRUE); 443 444 /* write out StarPar table (convert to FITS table format) */ 445 StarParToFtable (&ftable, catalog[0].starpar, catalog[0].Nstarpar, catalog[0].catformat); 405 446 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 406 447 fprintf (stderr, "can't write table header"); … … 446 487 lensobj header 447 488 lensobj table 489 starpar header 490 starpar table 448 491 */ 449 492 -
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dvo_catalog_split.c
r37389 r37390 470 470 gfits_free_header (&header); 471 471 472 /*** Star par Table ***/472 /*** StarPar Table ***/ 473 473 if (!(catalog[0].catflags & SKIP_STARPAR)) { 474 474 // unless we specify 'skip', we still need to load the … … 477 477 return (FALSE); 478 478 } 479 // the Star par file need not exist, unless we expect data to exist479 // the StarPar file need not exist, unless we expect data to exist 480 480 if ((status == DVO_CAT_OPEN_EMPTY) && (catalog[0].Nstarpar_disk > 0)) { 481 481 return (FALSE); … … 483 483 } 484 484 if ((status != DVO_CAT_OPEN_EMPTY) && (catalog[0].catflags & LOAD_STARPAR)) { 485 // only read the Star par table if the file actually exists486 /* read Star par table data */485 // only read the StarPar table if the file actually exists 486 /* read StarPar table data */ 487 487 if (!gfits_fread_ftable_data (catalog[0].starpar_catalog[0].f, &ftable, FALSE)) { 488 488 if (VERBOSE) fprintf (stderr, "can't read table starpar data\n"); … … 490 490 } 491 491 /* convert data format to internal : returns number of row read in Nstarpar */ 492 catalog[0].starpar = FtableToStar par (&ftable, &Nstarpar, &catalog[0].catformat);492 catalog[0].starpar = FtableToStarPar (&ftable, &Nstarpar, &catalog[0].catformat); 493 493 if (Nstarpar != catalog[0].Nstarpar_disk) { 494 494 fprintf (stderr, "Warning: mismatch between Nstarpar in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n", Nstarpar, catalog[0].Nstarpar_disk); … … 504 504 } 505 505 gfits_create_header (&catalog[0].starpar_catalog[0].header); 506 ALLOCATE (catalog[0].starpar, Star par, 1);506 ALLOCATE (catalog[0].starpar, StarPar, 1); 507 507 catalog[0].Nstarpar = 0; 508 508 catalog[0].Nstarpar_off = catalog[0].Nstarpar_disk; … … 729 729 fseeko (subcat[0].f, Nbytes, SEEK_SET); 730 730 731 /* read Star par table header */731 /* read StarPar table header */ 732 732 if (!gfits_fread_header (subcat[0].f, &header)) { 733 733 if (VERBOSE) fprintf (stderr, "can't read table starpar header"); 734 734 return (FALSE); 735 735 } 736 /* read Star par table data : format is irrelevant here */736 /* read StarPar table data : format is irrelevant here */ 737 737 if (!gfits_fread_ftable_range (subcat[0].f, &ftable, start, Nrows)) { 738 738 if (VERBOSE) fprintf (stderr, "can't read table starpar data"); … … 741 741 742 742 /* convert data format to internal : returns number of row read in Nstarpar */ 743 catalog[0].starpar = FtableToStar par (&ftable, &Nstarpar, &catalog[0].catformat);743 catalog[0].starpar = FtableToStarPar (&ftable, &Nstarpar, &catalog[0].catformat); 744 744 if (Nstarpar != Nrows) { 745 745 // XXX this condition denotes the eof has been reached; not an error or a warning … … 977 977 } 978 978 979 /*** LensobjTable ***/979 /*** StarPar Table ***/ 980 980 if ((catalog[0].catflags & LOAD_STARPAR) && (catalog[0].starpar != NULL)) { 981 981 … … 990 990 991 991 // convert to external table format (note that the block above does not damage or free catalog.average) 992 if (!Star parToFtable (&ftable, &catalog[0].starpar[first], Nrows, catalog[0].catformat)) {993 fprintf (stderr, "trouble converting format\n"); 994 goto failure; 995 } 996 997 // write out Star par table992 if (!StarParToFtable (&ftable, &catalog[0].starpar[first], Nrows, catalog[0].catformat)) { 993 fprintf (stderr, "trouble converting format\n"); 994 goto failure; 995 } 996 997 // write out StarPar table 998 998 if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) { 999 fprintf (stderr, "trouble writing Star par table\n");999 fprintf (stderr, "trouble writing StarPar table\n"); 1000 1000 goto failure; 1001 1001 } … … 1064 1064 } 1065 1065 if (catalog[0].Nstarpar_off > 0) { 1066 fprintf (stderr, "ERROR: only partial catalog (Star par) was loaded\n");1066 fprintf (stderr, "ERROR: only partial catalog (StarPar) was loaded\n"); 1067 1067 goto failure; 1068 1068 } … … 1275 1275 } 1276 1276 1277 /*** Star par Table ***/1278 if ((catalog[0].catflags & LOAD_STARPAR) && (catalog[0]. lensobj!= NULL)) {1277 /*** StarPar Table ***/ 1278 if ((catalog[0].catflags & LOAD_STARPAR) && (catalog[0].starpar != NULL)) { 1279 1279 1280 1280 first = 0; // first row in memory to write 1281 start = catalog[0].N lensobj_off; // first disk row to write1282 Nrows = catalog[0].N lensobj- first;1283 1284 assert (Nrows >= 0); 1285 assert (first >= 0); 1286 assert (first <= catalog[0].N lensobj);1287 assert (catalog[0].N lensobj_disk >= catalog[0].Nlensobj_off);1281 start = catalog[0].Nstarpar_off; // first disk row to write 1282 Nrows = catalog[0].Nstarpar - first; 1283 1284 assert (Nrows >= 0); 1285 assert (first >= 0); 1286 assert (first <= catalog[0].Nstarpar); 1287 assert (catalog[0].Nstarpar_disk >= catalog[0].Nstarpar_off); 1288 1288 1289 1289 // convert to external table format 1290 if (! LensobjToFtable (&ftable, &catalog[0].lensobj[first], Nrows, catalog[0].catformat)) {1291 fprintf (stderr, "trouble converting format\n"); 1292 goto failure; 1293 } 1294 1295 // write out Lensobjtable1296 if (!dvo_catalog_save_subcat (catalog[0]. lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new)) {1297 fprintf (stderr, "trouble writing Lensobjtable\n");1290 if (!StarParToFtable (&ftable, &catalog[0].starpar[first], Nrows, catalog[0].catformat)) { 1291 fprintf (stderr, "trouble converting format\n"); 1292 goto failure; 1293 } 1294 1295 // write out StarPar table 1296 if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) { 1297 fprintf (stderr, "trouble writing StarPar table\n"); 1298 1298 goto failure; 1299 1299 } … … 1327 1327 SecFilt *primary, *secfilt; 1328 1328 int Nsecfilt; 1329 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new, Nlensing_disk_new, Nlensobj_disk_new, N lensobj_disk_new;1329 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new, Nlensing_disk_new, Nlensobj_disk_new, Nstarpar_disk_new; 1330 1330 off_t first, start, Nrows; 1331 1331 … … 1359 1359 Nlensing_disk_new = MAX (catalog[0].Nlensing_disk, catalog[0].Nlensing + catalog[0].Nlensing_off); 1360 1360 Nlensobj_disk_new = MAX (catalog[0].Nlensobj_disk, catalog[0].Nlensobj + catalog[0].Nlensobj_off); 1361 N lensobj_disk_new = MAX (catalog[0].Nlensobj_disk, catalog[0].Nlensobj + catalog[0].Nlensobj_off);1361 Nstarpar_disk_new = MAX (catalog[0].Nstarpar_disk, catalog[0].Nstarpar + catalog[0].Nstarpar_off); 1362 1362 1363 1363 /* make sure header is consistent with data */ … … 1368 1368 gfits_modify (&catalog[0].header, "NLENSING", OFF_T_FMT, 1, Nlensing_disk_new); 1369 1369 gfits_modify (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, Nlensobj_disk_new); 1370 gfits_modify (&catalog[0].header, "N LENSOBJ", OFF_T_FMT, 1, Nlensobj_disk_new);1370 gfits_modify (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, Nstarpar_disk_new); 1371 1371 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 1372 1372 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); … … 1545 1545 } 1546 1546 1547 /*** LensobjTable ***/1548 if (catalog[0]. lensobj!= NULL) {1549 1550 first = catalog[0].N lensobj_disk - catalog[0].Nlensobj_off; // first row in memory to write1551 start = catalog[0].N lensobj_disk; // first disk row to write1552 Nrows = catalog[0].N lensobj- first;1553 1554 assert (Nrows >= 0); 1555 assert (first >= 0); 1556 assert (first <= catalog[0].N lensobj);1557 assert (catalog[0].N lensobj_disk >= catalog[0].Nlensobj_off);1547 /*** StarPar Table ***/ 1548 if (catalog[0].starpar != NULL) { 1549 1550 first = catalog[0].Nstarpar_disk - catalog[0].Nstarpar_off; // first row in memory to write 1551 start = catalog[0].Nstarpar_disk; // first disk row to write 1552 Nrows = catalog[0].Nstarpar - first; 1553 1554 assert (Nrows >= 0); 1555 assert (first >= 0); 1556 assert (first <= catalog[0].Nstarpar); 1557 assert (catalog[0].Nstarpar_disk >= catalog[0].Nstarpar_off); 1558 1558 1559 1559 // convert to external table format 1560 // XXX does catalog. lensobjhave averef correctly set up?1561 if (! LensobjToFtable (&ftable, &catalog[0].lensobj[first], Nrows, catalog[0].catformat)) {1562 fprintf (stderr, "trouble converting format\n"); 1563 goto failure; 1564 } 1565 1566 // write out Lensobjtable1567 if (!dvo_catalog_save_subcat (catalog[0]. lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new)) {1568 fprintf (stderr, "trouble writing Lensobjtable\n");1560 // XXX does catalog.starpar have averef correctly set up? 1561 if (!StarParToFtable (&ftable, &catalog[0].starpar[first], Nrows, catalog[0].catformat)) { 1562 fprintf (stderr, "trouble converting format\n"); 1563 goto failure; 1564 } 1565 1566 // write out StarPar table 1567 if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) { 1568 fprintf (stderr, "trouble writing StarPar table\n"); 1569 1569 goto failure; 1570 1570 } -
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dvo_convert.c
r37377 r37390 585 585 default: 586 586 fprintf (stderr, "table format unknown (lensobj)\n"); 587 return (FALSE); 588 } 589 return (TRUE); 590 } 591 592 /*** StarPar / FTable conversion functions ***/ 593 594 StarPar *FtableToStarPar (FTable *ftable, off_t *Nstarpar, char *format) { 595 596 StarPar *starpar; 597 char extname[80]; 598 599 /* convert to the internal format */ 600 if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) { 601 fprintf (stderr, "EXTNAME missing for starpar table\n"); 602 return (FALSE); 603 } 604 605 # define CONVERT_FORMAT(NAME, FORMAT, TYPE) \ 606 if (!strcmp (extname, NAME)) { \ 607 StarPar_##TYPE *tmpStarPar; \ 608 tmpStarPar = gfits_table_get_StarPar_##TYPE (ftable, Nstarpar, NULL); \ 609 if (!tmpStarPar) { \ 610 fprintf (stderr, "ERROR: failed to read starpar\n"); \ 611 exit (2); \ 612 } \ 613 starpar = StarPar_##TYPE##_ToInternal (tmpStarPar, *Nstarpar); \ 614 free (tmpStarPar); \ 615 *format = DVO_FORMAT_##FORMAT; \ 616 return (starpar); } 617 618 if (!strcmp (extname, "DVO_STARPAR")) { 619 starpar = gfits_table_get_StarPar (ftable, Nstarpar, NULL); 620 if (!starpar) { 621 fprintf (stderr, "ERROR: failed to read starpar\n"); 622 exit (2); 623 } 624 *format = DVO_FORMAT_INTERNAL; 625 return (starpar); 626 } 627 628 // CONVERT_FORMAT ("DVO_STARPAR_PS1_REF", PS1_REF, PS1_REF); 629 // CONVERT_FORMAT ("DVO_STARPAR_ELIXIR", ELIXIR, Elixir); 630 // CONVERT_FORMAT ("DVO_STARPAR_LONEOS", LONEOS, Loneos); 631 // CONVERT_FORMAT ("DVO_STARPAR_PANSTARRS_DEV_0", PANSTARRS_DEV_0, Panstarrs_DEV_0); 632 // CONVERT_FORMAT ("DVO_STARPAR_PANSTARRS_DEV_1", PANSTARRS_DEV_1, Panstarrs_DEV_1); 633 // CONVERT_FORMAT ("DVO_STARPAR_PS1_DEV_1", PS1_DEV_1, PS1_DEV_1); 634 // CONVERT_FORMAT ("DVO_STARPAR_PS1_DEV_2", PS1_DEV_2, PS1_DEV_2); 635 // CONVERT_FORMAT ("DVO_STARPAR_PS1_V1", PS1_V1, PS1_V1); 636 // CONVERT_FORMAT ("DVO_STARPAR_PS1_V2", PS1_V2, PS1_V2); 637 // CONVERT_FORMAT ("DVO_STARPAR_PS1_V3", PS1_V3, PS1_V3); 638 // CONVERT_FORMAT ("DVO_STARPAR_PS1_V4", PS1_V4, PS1_V4); 639 CONVERT_FORMAT ("DVO_STARPAR_PS1_V5", PS1_V5, PS1_V5); 640 # undef CONVERT_FORMAT 641 642 fprintf (stderr, "table format unknown: %s\n", extname); 643 644 *Nstarpar = 0; 645 return (NULL); 646 } 647 648 // StarParToFtable needs the Average since old formats stored starpar.dR,dD only 649 int StarParToFtable (FTable *ftable, StarPar *starpar, off_t Nstarpar, char format) { 650 651 # define FORMAT_CASE(FORMAT, TYPE) \ 652 case DVO_FORMAT_##FORMAT: { \ 653 StarPar_##TYPE *tmpStarPar; \ 654 tmpStarPar = StarParInternalTo_##TYPE (starpar, Nstarpar); \ 655 gfits_table_set_StarPar_##TYPE (ftable, tmpStarPar, Nstarpar); \ 656 free (tmpStarPar); \ 657 break; } 658 659 /* convert from the internal format */ 660 switch (format) { 661 case DVO_FORMAT_INTERNAL: { 662 gfits_table_set_StarPar (ftable, starpar, Nstarpar); 663 break; } 664 665 // FORMAT_CASE (PS1_REF, PS1_REF); 666 // FORMAT_CASE (ELIXIR, Elixir); 667 // FORMAT_CASE (LONEOS, Loneos); 668 // FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0); 669 // FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1); 670 // FORMAT_CASE (PS1_DEV_1, PS1_DEV_1); 671 // FORMAT_CASE (PS1_DEV_2, PS1_DEV_2); 672 // FORMAT_CASE (PS1_V1, PS1_V1); 673 // FORMAT_CASE (PS1_V2, PS1_V2); 674 // FORMAT_CASE (PS1_V3, PS1_V3); 675 // FORMAT_CASE (PS1_V4, PS1_V4); 676 FORMAT_CASE (PS1_V5, PS1_V5); 677 # undef FORMAT_CASE 678 679 default: 680 fprintf (stderr, "table format unknown (starpar)\n"); 587 681 return (FALSE); 588 682 } -
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c
r37386 r37390 663 663 } 664 664 665 StarPar *StarPar_PS1_V5_ToInternal (StarPar_PS1_V5 *in, off_t Nvalues) { 666 667 off_t i; 668 StarPar *out; 669 670 ALLOCATE_ZERO (out, StarPar, Nvalues); 671 672 for (i = 0; i < Nvalues; i++) { 673 dvo_starpar_init (&out[i]); 674 675 out[i].galLat = in[i].galLat; 676 out[i].galLon = in[i].galLon; 677 678 out[i].MKtype = in[i].MKtype; 679 out[i].Par = in[i].Par ; 680 out[i].dPar = in[i].dPar ; 681 out[i].uRA = in[i].uRA ; 682 out[i].uDEC = in[i].uDEC ; 683 684 out[i].averef = in[i].averef; 685 out[i].objID = in[i].objID ; 686 out[i].catID = in[i].catID ; 687 } 688 return (out); 689 } 690 691 StarPar_PS1_V5 *StarParInternalTo_PS1_V5 (StarPar *in, off_t Nvalues) { 692 693 off_t i; 694 StarPar_PS1_V5 *out; 695 696 ALLOCATE_ZERO (out, StarPar_PS1_V5, Nvalues); 697 698 for (i = 0; i < Nvalues; i++) { 699 700 out[i].galLat = in[i].galLat; 701 out[i].galLon = in[i].galLon; 702 703 out[i].MKtype = in[i].MKtype; 704 out[i].Par = in[i].Par ; 705 out[i].dPar = in[i].dPar ; 706 out[i].uRA = in[i].uRA ; 707 out[i].uDEC = in[i].uDEC ; 708 709 out[i].averef = in[i].averef; 710 out[i].objID = in[i].objID ; 711 out[i].catID = in[i].catID ; 712 } 713 return (out); 714 } 715 665 716 # define RAW_IMAGE_NAME_LEN 117 666 717
Note:
See TracChangeset
for help on using the changeset viewer.
