Changeset 39457 for trunk/Ohana/src/libdvo
- Timestamp:
- Mar 11, 2016, 10:23:42 PM (10 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 32 edited
-
. (modified) (1 prop)
-
src/libdvo/include/dvo_util.h (modified) (2 diffs)
-
src/libdvo/include/dvodb.h (modified) (1 diff)
-
src/libdvo/include/libdvo_astro.h (modified) (1 diff)
-
src/libdvo/src/AstromOffsetMapIO.c (modified) (7 diffs)
-
src/libdvo/src/AstromOffsetMapUtils.c (modified) (2 diffs)
-
src/libdvo/src/HostTable.c (modified) (2 diffs)
-
src/libdvo/src/ImageOps.c (modified) (1 diff)
-
src/libdvo/src/RegionHostTable.c (modified) (3 diffs)
-
src/libdvo/src/dbExtractImages.c (modified) (1 diff)
-
src/libdvo/src/db_utils.c (modified) (1 diff)
-
src/libdvo/src/dvo_catalog_chipcoords.c (modified) (1 diff)
-
src/libdvo/src/dvo_catalog_mef.c (modified) (1 diff)
-
src/libdvo/src/dvo_catalog_raw.c (modified) (1 diff)
-
src/libdvo/src/dvo_convert.c (modified) (6 diffs)
-
src/libdvo/src/dvo_convert_PS1_DEV_1.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_PS1_DEV_2.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_PS1_REF.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_PS1_SIM.c (modified) (4 diffs)
-
src/libdvo/src/dvo_convert_PS1_V1.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_PS1_V2.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_PS1_V3.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_PS1_V4.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_PS1_V5.c (modified) (5 diffs)
-
src/libdvo/src/dvo_convert_panstarrs_DEV_0.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_panstarrs_DEV_1.c (modified) (2 diffs)
-
src/libdvo/src/dvo_photcode_ops.c (modified) (22 diffs)
-
src/libdvo/src/dvo_tiny_values.c (modified) (1 diff)
-
src/libdvo/src/dvo_util.c (modified) (2 diffs)
-
src/libdvo/src/dvosorts.c (modified) (1 diff)
-
src/libdvo/src/match_image.c (modified) (2 diffs)
-
src/libdvo/src/mosaic_astrom.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana
-
Property svn:mergeinfo
set to
/branches/eam_branches/ohana.20160226 merged eligible
-
Property svn:mergeinfo
set to
-
trunk/Ohana/src/libdvo/include/dvo_util.h
r27435 r39457 61 61 // There is no need to release memory pointed to by return value. 62 62 // It will be freed when dvoConfigFree() is invoked. 63 Image *dvoImageByExternID(dvoConfig *dvoConfig, int sourceID,int externID);63 Image *dvoImageByExternID(dvoConfig *dvoConfig, unsigned short sourceID, unsigned int externID); 64 64 65 65 // Loads the sky table for the database. … … 72 72 // return a list of detections from a particular image id 73 73 // Use dvoFree() to free the memory pointed to by results 74 off_t dvoGetDetections(SkyList *skylist, int imageID, dvoDetection **results,int *pMaxDetID);74 off_t dvoGetDetections(SkyList *skylist, unsigned int imageID, dvoDetection **results, unsigned int *pMaxDetID); 75 75 76 76 // free memory returned by various dvo util functions -
trunk/Ohana/src/libdvo/include/dvodb.h
r39308 r39457 490 490 double TimeValue (time_t time, time_t TimeReference, int TimeFormat); 491 491 492 void image_subset PROTO((Image *image, off_t Nimage, off_t **Subset, off_t *Nsubset, SkyRegionSelection *selection, unsigned long inttzero, double trange, int TimeSelect));493 off_t match_image_subset PROTO((Image *image, off_t *subset, off_t Nsubset, unsigned intT, short int S));492 void image_subset PROTO((Image *image, off_t Nimage, off_t **Subset, off_t *Nsubset, SkyRegionSelection *selection, e_time tzero, double trange, int TimeSelect)); 493 off_t match_image_subset PROTO((Image *image, off_t *subset, off_t Nsubset, e_time T, short int S)); 494 494 495 495 // dvo DB field functions -
trunk/Ohana/src/libdvo/include/libdvo_astro.h
r39245 r39457 67 67 int NMAP; 68 68 AstromOffsetMap **map; 69 int *imageIDtoTableSeq;70 int MaxImageID;71 int MaxTableID;69 int *imageIDtoTableSeq; 70 unsigned int MaxImageID; 71 unsigned int MaxTableID; 72 72 } AstromOffsetTable; 73 73 -
trunk/Ohana/src/libdvo/src/AstromOffsetMapIO.c
r38986 r39457 77 77 } 78 78 AstromOffsetTableSetIDs (table); 79 gfits_free_header (ftable.header); 79 80 gfits_free_header (&theader); 80 81 gfits_free_table (&ftable); 81 82 } else { … … 98 99 // Convert the disk array of maps to then internal format in a rich structure: 99 100 table = AstromOffsetMapToTable (map_disk, Nmap); 101 102 gfits_free_header (&theader); 100 103 gfits_free_table (&ftable); 101 104 } 102 105 103 gfits_free_header (& theader);106 gfits_free_header (&header); 104 107 gfits_free_matrix (&matrix); 108 fclose (f); 105 109 106 110 return (table); … … 130 134 ftable.header = &theader; 131 135 gfits_table_set_AstromOffsetMap_Disk_6x6 (&ftable, map_disk, Nmap, TRUE); 136 FREE (map_disk); 132 137 133 138 f = fopen (filename, "w"); … … 143 148 fclose (f); 144 149 150 gfits_free_header (&header); 151 gfits_free_matrix (&matrix); 152 gfits_free_header (&theader); 153 gfits_free_table (&ftable); 154 145 155 return (TRUE); 146 156 } … … 148 158 AstromOffsetTable *AstromOffsetMapToTable(AstromOffsetMap_Disk_6x6 *map_disk, off_t Nmap) { 149 159 150 int i, j, k; 160 unsigned int i; 161 int j, k; 151 162 152 163 AstromOffsetTable *table = NULL; … … 157 168 158 169 // find the max value of imageID 159 int MaxTableID = 0;160 int MaxImageID = 0;170 unsigned int MaxTableID = 0; 171 unsigned int MaxImageID = 0; 161 172 for (i = 0; i < Nmap; i++) { 162 MaxTableID = MAX( map_disk[i].tableID, MaxTableID);163 MaxImageID = MAX( map_disk[i].imageID, MaxImageID);173 MaxTableID = MAX(MaxTableID, map_disk[i].tableID); 174 MaxImageID = MAX(MaxImageID, map_disk[i].imageID); 164 175 } 165 176 table->MaxTableID = MaxTableID; … … 312 323 int AstromOffsetTableSetIDs (AstromOffsetTable *table) { 313 324 314 int i;315 316 325 // find the max value of imageID 317 int MaxTableID = 0; 318 int MaxImageID = 0; 319 for (i = 0; i < table->Nmap; i++) { 320 MaxTableID = MAX(table->map[i][0].tableID, MaxTableID); 321 MaxImageID = MAX(table->map[i][0].imageID, MaxImageID); 322 } 323 table->MaxTableID = MaxTableID; 324 table->MaxImageID = MaxImageID; 326 unsigned int MaxTableID = 0; 327 unsigned int MaxImageID = 0; 328 { 329 int j; 330 for (j = 0; j < table->Nmap; j++) { 331 MaxTableID = MAX(MaxTableID, table->map[j][0].tableID); 332 MaxImageID = MAX(MaxImageID, table->map[j][0].imageID); 333 } 334 table->MaxTableID = MaxTableID; 335 table->MaxImageID = MaxImageID; 336 } 325 337 326 338 // generate the index and init values to -1 327 ALLOCATE (table->imageIDtoTableSeq, int, MaxImageID + 1); 328 for (i = 0; i <= MaxImageID; i++) { 329 table->imageIDtoTableSeq[i] = -1; 339 { 340 unsigned int i; 341 ALLOCATE (table->imageIDtoTableSeq, int, MaxImageID + 1); 342 for (i = 0; i <= MaxImageID; i++) { 343 table->imageIDtoTableSeq[i] = -1; 344 } 330 345 } 331 346 332 347 // assign the ID values 333 for (i = 0; i < table->Nmap; i++) { 334 int ImageID = table->map[i][0].imageID; 335 myAssert (table->imageIDtoTableSeq[ImageID] == -1, "oops, duplicate image IDs"); 336 table->imageIDtoTableSeq[ImageID] = i; 348 { 349 int j; 350 for (j = 0; j < table->Nmap; j++) { 351 int ImageID = table->map[j][0].imageID; 352 myAssert (table->imageIDtoTableSeq[ImageID] == -1, "oops, duplicate image IDs"); 353 table->imageIDtoTableSeq[ImageID] = j; 354 } 337 355 } 338 356 return TRUE; -
trunk/Ohana/src/libdvo/src/AstromOffsetMapUtils.c
r38986 r39457 11 11 off_t i; 12 12 for (i = 0; i < Nimages; i++) { 13 int imageID = images[i].imageID; 14 if (imageID < 0) continue; 13 // if (images[i].imageID < 0) continue; 14 15 unsigned int imageID = images[i].imageID; 15 16 if (imageID > table->MaxImageID) continue; 16 17 … … 126 127 tgt->keep = src->keep; 127 128 128 int Nx = src-> dX;129 int Ny = src-> dY;129 int Nx = src->Nx; 130 int Ny = src->Ny; 130 131 131 132 int j, k; -
trunk/Ohana/src/libdvo/src/HostTable.c
r39395 r39457 27 27 int i; 28 28 for (i = 0; i < Nhosts; i++) { 29 free (hosts[i].hostname); 30 free (hosts[i].pathname); 29 FREE (hosts[i].hostname); 30 FREE (hosts[i].pathname); 31 FREE (hosts[i].results); 31 32 FreeIOBuffer (&hosts[i].stdout); 32 33 FreeIOBuffer (&hosts[i].stderr); … … 43 44 } 44 45 if (table->index) free (table->index); 46 45 47 free (table); 46 48 return; -
trunk/Ohana/src/libdvo/src/ImageOps.c
r39347 r39457 5 5 void image_subset (Image *image, off_t Nimage, off_t **Subset, off_t *Nsubset, 6 6 SkyRegionSelection *selection, 7 unsigned long inttzero, double trange, int TimeSelect)7 e_time tzero, double trange, int TimeSelect) 8 8 { 9 9 -
trunk/Ohana/src/libdvo/src/RegionHostTable.c
r39395 r39457 42 42 for (i = 0; i < Nhosts; i++) { 43 43 free (hosts[i].hostname); 44 FreeIOBuffer (&hosts[i].stdout); 45 FreeIOBuffer (&hosts[i].stderr); 46 FREE (hosts[i].image); 47 FREE (hosts[i].imseq); 48 FREE (hosts[i].neighbors); 49 if (hosts[i].astromTable) { 50 FREE (hosts[i].astromTable->map); 51 FREE (hosts[i].astromTable->imageIDtoTableSeq); 52 FREE (hosts[i].astromTable); 53 } 54 // do NOT use AstromOffsetTableFree : an astromTable is 55 // only set here by relastro:assign_images, and it uses 56 // AstromOffsetTableAddMapFromImage to assign pointers, not copies 57 // AstromOffsetTableFree(hosts[i].astromTable); 44 58 } 45 59 free (hosts); … … 55 69 if (table->index) free (table->index); 56 70 free (table); 71 57 72 return; 58 73 } … … 83 98 RegionHostInfo *hosts = NULL; 84 99 ALLOCATE (hosts, RegionHostInfo, NHOSTS); 85 InitRegionHosts (hosts, Nhosts, NHOSTS);100 InitRegionHosts (hosts, 0, NHOSTS); 86 101 87 102 int maxID = 0; -
trunk/Ohana/src/libdvo/src/dbExtractImages.c
r39308 r39457 55 55 /* return image.field based on the selection */ 56 56 dbValue dbExtractImages (Image *image, off_t Nimage, off_t N, dbField *field) { 57 OHANA_UNUSED_PARAM(Nimage); // XXX: not sure why this is supplied 57 58 58 59 double x, y; -
trunk/Ohana/src/libdvo/src/db_utils.c
r31636 r39457 10 10 // by default, no graphdata 11 11 int GetGraphdata(Graphdata *graph, int *kapa, char *name) { 12 OHANA_UNUSED_PARAM(graph); 13 OHANA_UNUSED_PARAM(kapa); 14 OHANA_UNUSED_PARAM(name); 12 15 return FALSE; 13 16 } -
trunk/Ohana/src/libdvo/src/dvo_catalog_chipcoords.c
r37035 r39457 1 1 # include <dvo.h> 2 2 3 int dvo_match_image (Image *image, int Nimage, unsignedint T, short int S) {3 int dvo_match_image (Image *image, int Nimage, int T, short int S) { 4 4 5 5 int N, Nlo, Nhi, N1, N2; -
trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c
r38441 r39457 17 17 it is not defined for a legacy database, we can generate them using the existing index values. 18 18 If it is missing, give a warning and recommend the user upgrade the DB */ 19 if (!gfits_scan (&catalog[0].header, "OBJID", "% d", 1, &catalog[0].objID)) {19 if (!gfits_scan (&catalog[0].header, "OBJID", "%u", 1, &catalog[0].objID)) { 20 20 if (VERBOSE) fprintf (stderr, "WARNING: OBJID is not set for %s: upgrade for full feature set\n", catalog[0].filename); 21 21 catalog[0].objID = 0; 22 22 } 23 if (!gfits_scan (&catalog[0].header, "CATID", "% d", 1, &catalog[0].catID)) {23 if (!gfits_scan (&catalog[0].header, "CATID", "%u", 1, &catalog[0].catID)) { 24 24 if (VERBOSE) fprintf (stderr, "WARNING: CATID is not set for %s: upgrade for full feature set\n", catalog[0].filename); 25 25 catalog[0].catID = 0; -
trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
r38441 r39457 29 29 it is not defined for a legacy database, we can generate them using the existing index values. 30 30 If it is missing, give a warning and recommend the user upgrade the DB */ 31 if (!gfits_scan (&catalog[0].header, "OBJID", "% d", 1, &catalog[0].objID)) {31 if (!gfits_scan (&catalog[0].header, "OBJID", "%u", 1, &catalog[0].objID)) { 32 32 if (VERBOSE) fprintf (stderr, "WARNING: OBJID is not set for this database: upgrade for full feature set\n"); 33 33 catalog[0].objID = 0; 34 34 } 35 if (!gfits_scan (&catalog[0].header, "CATID", "% d", 1, &catalog[0].catID)) {35 if (!gfits_scan (&catalog[0].header, "CATID", "%u", 1, &catalog[0].catID)) { 36 36 if (VERBOSE) fprintf (stderr, "WARNING: CATID is not set for this database: upgrade for full feature set\n"); 37 37 catalog[0].catID = 0; -
trunk/Ohana/src/libdvo/src/dvo_convert.c
r38986 r39457 320 320 321 321 Missing *FtableToMissing (FTable *ftable, Average *average, off_t *Nmissing, DVOCatFormat *format, char nativeBytes) { 322 OHANA_UNUSED_PARAM(average); 322 323 323 324 Missing *missing; … … 397 398 398 399 SecFilt *FtableToSecFilt (FTable *ftable, Average *average, off_t *Nsecfilt, DVOCatFormat *format, char nativeBytes) { 400 OHANA_UNUSED_PARAM(average); 399 401 400 402 SecFilt *secfilt; … … 509 511 510 512 Lensing *FtableToLensing (FTable *ftable, Average *average, off_t *Nlensing, DVOCatFormat *format, char nativeBytes) { 513 OHANA_UNUSED_PARAM(average); 511 514 512 515 Lensing *lensing; … … 652 655 653 656 Lensobj *FtableToLensobj (FTable *ftable, Average *average, off_t *Nlensobj, DVOCatFormat *format, char nativeBytes) { 657 OHANA_UNUSED_PARAM(average); 654 658 655 659 Lensobj *lensobj; … … 769 773 770 774 StarPar *FtableToStarPar (FTable *ftable, Average *average, off_t *Nstarpar, DVOCatFormat *format, char nativeBytes) { 775 OHANA_UNUSED_PARAM(average); 771 776 772 777 StarPar *starpar; … … 874 879 875 880 GalPhot *FtableToGalPhot (FTable *ftable, Average *average, off_t *Ngalphot, DVOCatFormat *format, char nativeBytes) { 881 OHANA_UNUSED_PARAM(average); 876 882 877 883 GalPhot *galphot; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c
r38462 r39457 100 100 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 101 101 Average *Average_PS1_DEV_1_ToInternal (Average_PS1_DEV_1 *in, off_t Nvalues, SecFilt **primary) { 102 OHANA_UNUSED_PARAM(primary); 102 103 103 104 off_t i; … … 138 139 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 139 140 Average_PS1_DEV_1 *AverageInternalTo_PS1_DEV_1 (Average *in, off_t Nvalues, SecFilt *primary) { 141 OHANA_UNUSED_PARAM(primary); 140 142 141 143 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_2.c
r38462 r39457 97 97 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 98 98 Average *Average_PS1_DEV_2_ToInternal (Average_PS1_DEV_2 *in, off_t Nvalues, SecFilt **primary) { 99 OHANA_UNUSED_PARAM(primary); 99 100 100 101 off_t i; … … 133 134 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 134 135 Average_PS1_DEV_2 *AverageInternalTo_PS1_DEV_2 (Average *in, off_t Nvalues, SecFilt *primary) { 136 OHANA_UNUSED_PARAM(primary); 135 137 136 138 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_REF.c
r38462 r39457 55 55 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 56 56 Average *Average_PS1_REF_ToInternal (Average_PS1_REF *in, off_t Nvalues, SecFilt **primary) { 57 OHANA_UNUSED_PARAM(primary); 57 58 58 59 off_t i; … … 80 81 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 81 82 Average_PS1_REF *AverageInternalTo_PS1_REF (Average *in, off_t Nvalues, SecFilt *primary) { 83 OHANA_UNUSED_PARAM(primary); 82 84 83 85 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_SIM.c
r39262 r39457 4 4 5 5 Measure *Measure_PS1_SIM_ToInternal (Average *ave, Measure_PS1_SIM *in, off_t Nvalues) { 6 OHANA_UNUSED_PARAM(ave); 6 7 7 8 off_t i; … … 51 52 52 53 Measure_PS1_SIM *MeasureInternalTo_PS1_SIM (Average *ave, Measure *in, off_t Nvalues) { 54 OHANA_UNUSED_PARAM(ave); 53 55 54 56 off_t i; … … 97 99 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 98 100 Average *Average_PS1_SIM_ToInternal (Average_PS1_SIM *in, off_t Nvalues, SecFilt **primary) { 101 OHANA_UNUSED_PARAM(primary); 99 102 100 103 off_t i; … … 143 146 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 144 147 Average_PS1_SIM *AverageInternalTo_PS1_SIM (Average *in, off_t Nvalues, SecFilt *primary) { 148 OHANA_UNUSED_PARAM(primary); 145 149 146 150 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V1.c
r38462 r39457 115 115 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 116 116 Average *Average_PS1_V1_ToInternal (Average_PS1_V1 *in, off_t Nvalues, SecFilt **primary) { 117 OHANA_UNUSED_PARAM(primary); 117 118 118 119 off_t i; … … 152 153 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 153 154 Average_PS1_V1 *AverageInternalTo_PS1_V1 (Average *in, off_t Nvalues, SecFilt *primary) { 155 OHANA_UNUSED_PARAM(primary); 154 156 155 157 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V2.c
r38462 r39457 116 116 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 117 117 Average *Average_PS1_V2_ToInternal (Average_PS1_V2 *in, off_t Nvalues, SecFilt **primary) { 118 OHANA_UNUSED_PARAM(primary); 118 119 119 120 off_t i; … … 157 158 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 158 159 Average_PS1_V2 *AverageInternalTo_PS1_V2 (Average *in, off_t Nvalues, SecFilt *primary) { 160 OHANA_UNUSED_PARAM(primary); 159 161 160 162 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V3.c
r38462 r39457 116 116 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 117 117 Average *Average_PS1_V3_ToInternal (Average_PS1_V3 *in, off_t Nvalues, SecFilt **primary) { 118 OHANA_UNUSED_PARAM(primary); 118 119 119 120 off_t i; … … 159 160 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 160 161 Average_PS1_V3 *AverageInternalTo_PS1_V3 (Average *in, off_t Nvalues, SecFilt *primary) { 162 OHANA_UNUSED_PARAM(primary); 161 163 162 164 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V4.c
r38462 r39457 134 134 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 135 135 Average *Average_PS1_V4_ToInternal (Average_PS1_V4 *in, off_t Nvalues, SecFilt **primary) { 136 OHANA_UNUSED_PARAM(primary); 136 137 137 138 off_t i; … … 180 181 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 181 182 Average_PS1_V4 *AverageInternalTo_PS1_V4 (Average *in, off_t Nvalues, SecFilt *primary) { 183 OHANA_UNUSED_PARAM(primary); 182 184 183 185 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c
r39262 r39457 4 4 5 5 Measure *Measure_PS1_V5_ToInternal (Average *ave, Measure_PS1_V5 *in, off_t Nvalues) { 6 OHANA_UNUSED_PARAM(ave); 6 7 7 8 off_t i; … … 79 80 80 81 Measure_PS1_V5 *MeasureInternalTo_PS1_V5 (Average *ave, Measure *in, off_t Nvalues) { 82 OHANA_UNUSED_PARAM(ave); 81 83 82 84 off_t i; … … 153 155 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 154 156 Average *Average_PS1_V5_ToInternal (Average_PS1_V5 *in, off_t Nvalues, SecFilt **primary) { 157 OHANA_UNUSED_PARAM(primary); 155 158 156 159 off_t i; … … 225 228 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 226 229 Average_PS1_V5 *AverageInternalTo_PS1_V5 (Average *in, off_t Nvalues, SecFilt *primary) { 230 OHANA_UNUSED_PARAM(primary); 227 231 228 232 off_t i; … … 1640 1644 1641 1645 Measure *Measure_PS1_V5alt_ToInternal (Average *ave, Measure_PS1_V5alt *in, off_t Nvalues) { 1646 OHANA_UNUSED_PARAM(ave); 1642 1647 1643 1648 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c
r38462 r39457 106 106 // 'primary is needed to conform with the API for Loneos and Elixir, but is not used 107 107 Average *Average_Panstarrs_DEV_0_ToInternal (Average_Panstarrs_DEV_0 *in, off_t Nvalues, SecFilt **primary) { 108 OHANA_UNUSED_PARAM(primary); 108 109 109 110 off_t i; … … 143 144 // 'primary is needed to conform with the API for Loneos and Elixir, but is not used 144 145 Average_Panstarrs_DEV_0 *AverageInternalTo_Panstarrs_DEV_0 (Average *in, off_t Nvalues, SecFilt *primary) { 146 OHANA_UNUSED_PARAM(primary); 145 147 146 148 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c
r38462 r39457 106 106 // 'primary is needed to conform with the API for Loneos and Elixir, but is not used 107 107 Average *Average_Panstarrs_DEV_1_ToInternal (Average_Panstarrs_DEV_1 *in, off_t Nvalues, SecFilt **primary) { 108 OHANA_UNUSED_PARAM(primary); 108 109 109 110 off_t i; … … 143 144 // 'primary is needed to conform with the API for Loneos and Elixir, but is not used 144 145 Average_Panstarrs_DEV_1 *AverageInternalTo_Panstarrs_DEV_1 (Average *in, off_t Nvalues, SecFilt *primary) { 146 OHANA_UNUSED_PARAM(primary); 145 147 146 148 off_t i; -
trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c
r39277 r39457 467 467 /***/ 468 468 float PhotAve (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source) { 469 OHANA_UNUSED_PARAM(average); 469 470 470 471 if (code == NULL) return NAN; … … 572 573 573 574 float PhotCalErr (Measure *measure, dvoMagClassType class) { 575 OHANA_UNUSED_PARAM(class); 574 576 575 577 float dMcal = measure[0].dMcal; … … 578 580 579 581 float PhotAveErr (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source) { 582 OHANA_UNUSED_PARAM(average); 580 583 581 584 if (code == NULL) return NAN; … … 640 643 641 644 float PhotZeroPoint (Measure *measure, Average *average, SecFilt *secfilt) { 645 OHANA_UNUSED_PARAM(average); 646 OHANA_UNUSED_PARAM(secfilt); 642 647 643 648 int Np; … … 710 715 711 716 float PhotMstdev (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source) { 717 OHANA_UNUSED_PARAM(average); 712 718 713 719 if (code == NULL) return NAN; … … 757 763 // return the number of detections in this filter (gpc1) 758 764 int PhotNcode (PhotCode *code, Average *average, SecFilt *secfilt) { 765 OHANA_UNUSED_PARAM(average); 759 766 760 767 if (code == NULL) return 0; … … 768 775 // return the number of detections in this filter (gpc1) 769 776 int PhotSecfiltFlags (PhotCode *code, Average *average, SecFilt *secfilt) { 777 OHANA_UNUSED_PARAM(average); 770 778 771 779 if (code == NULL) return 0; … … 778 786 779 787 int PhotNphot (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source) { 788 OHANA_UNUSED_PARAM(average); 780 789 781 790 if (code == NULL) return 0; … … 824 833 825 834 float PhotAveFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt) { 835 OHANA_UNUSED_PARAM(average); 826 836 827 837 int Ns; … … 836 846 837 847 float PhotAvedFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt) { 848 OHANA_UNUSED_PARAM(average); 838 849 839 850 int Ns; … … 848 859 849 860 float PhotAveFluxKron (PhotCode *code, Average *average, SecFilt *secfilt) { 861 OHANA_UNUSED_PARAM(average); 850 862 851 863 int Ns; … … 860 872 861 873 float PhotAvedFluxKron (PhotCode *code, Average *average, SecFilt *secfilt) { 874 OHANA_UNUSED_PARAM(average); 862 875 863 876 int Ns; … … 872 885 873 886 float PhotMmin (PhotCode *code, Average *average, SecFilt *secfilt) { 887 OHANA_UNUSED_PARAM(average); 874 888 875 889 int Ns; … … 884 898 885 899 float PhotMmax (PhotCode *code, Average *average, SecFilt *secfilt) { 900 OHANA_UNUSED_PARAM(average); 886 901 887 902 int Ns; … … 896 911 897 912 float PhotUCdist (PhotCode *code, Average *average, SecFilt *secfilt) { 913 OHANA_UNUSED_PARAM(average); 898 914 899 915 int Ns; … … 921 937 // Xm is now (2014.07.03) stored as the chisq except in dvo formats which use as short 922 938 float PhotXm (PhotCode *code, Average *average, SecFilt *secfilt) { 939 OHANA_UNUSED_PARAM(average); 923 940 924 941 int Ns; … … 1188 1205 /***/ 1189 1206 float PhotFluxAve (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source) { 1207 OHANA_UNUSED_PARAM(average); 1190 1208 1191 1209 if (code == NULL) return NAN; … … 1248 1266 1249 1267 float PhotFluxAveErr (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source) { 1268 OHANA_UNUSED_PARAM(average); 1250 1269 1251 1270 if (code == NULL) return NAN; … … 1610 1629 /***/ 1611 1630 float PhotAveTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source) { 1631 OHANA_UNUSED_PARAM(average); 1612 1632 1613 1633 if (code == NULL) return NAN; … … 1746 1766 1747 1767 float PhotdMTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt) { 1768 OHANA_UNUSED_PARAM(average); 1748 1769 1749 1770 int Ns; … … 1759 1780 // Xm is now (2014.07.03) stored as the chisq except in dvo formats which use as short 1760 1781 float PhotXmTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt) { 1782 OHANA_UNUSED_PARAM(average); 1761 1783 1762 1784 int Ns; … … 1853 1875 } 1854 1876 1855 LENSFIELD(X11_sm_obj) ;1856 LENSFIELD(X12_sm_obj) ;1857 LENSFIELD(X22_sm_obj) ;1858 LENSFIELD(E1_sm_obj) ;1859 LENSFIELD(E2_sm_obj) ;1860 1861 LENSFIELD(X11_sh_obj) ;1862 LENSFIELD(X12_sh_obj) ;1863 LENSFIELD(X22_sh_obj) ;1864 LENSFIELD(E1_sh_obj) ;1865 LENSFIELD(E2_sh_obj) ;1866 1867 LENSFIELD(X11_sm_psf) ;1868 LENSFIELD(X12_sm_psf) ;1869 LENSFIELD(X22_sm_psf) ;1870 LENSFIELD(E1_sm_psf) ;1871 LENSFIELD(E2_sm_psf) ;1872 1873 LENSFIELD(X11_sh_psf) ;1874 LENSFIELD(X12_sh_psf) ;1875 LENSFIELD(X22_sh_psf) ;1876 LENSFIELD(E1_sh_psf) ;1877 LENSFIELD(E2_sh_psf) ;1878 1879 LENSFIELD( F_ApR5) ;1880 LENSFIELD(dF_ApR5) ;1881 LENSFIELD(sF_ApR5) ;1882 LENSFIELD(fF_ApR5) ;1883 1884 LENSFIELD( F_ApR6) ;1885 LENSFIELD(dF_ApR6) ;1886 LENSFIELD(sF_ApR6) ;1887 LENSFIELD(fF_ApR6) ;1888 1889 LENSFIELD( F_ApR7) ;1890 LENSFIELD(dF_ApR7) ;1891 LENSFIELD(sF_ApR7) ;1892 LENSFIELD(fF_ApR7) ;1893 1894 LENSFIELD(E1) ;1895 LENSFIELD(E2) ;1877 LENSFIELD(X11_sm_obj) 1878 LENSFIELD(X12_sm_obj) 1879 LENSFIELD(X22_sm_obj) 1880 LENSFIELD(E1_sm_obj) 1881 LENSFIELD(E2_sm_obj) 1882 1883 LENSFIELD(X11_sh_obj) 1884 LENSFIELD(X12_sh_obj) 1885 LENSFIELD(X22_sh_obj) 1886 LENSFIELD(E1_sh_obj) 1887 LENSFIELD(E2_sh_obj) 1888 1889 LENSFIELD(X11_sm_psf) 1890 LENSFIELD(X12_sm_psf) 1891 LENSFIELD(X22_sm_psf) 1892 LENSFIELD(E1_sm_psf) 1893 LENSFIELD(E2_sm_psf) 1894 1895 LENSFIELD(X11_sh_psf) 1896 LENSFIELD(X12_sh_psf) 1897 LENSFIELD(X22_sh_psf) 1898 LENSFIELD(E1_sh_psf) 1899 LENSFIELD(E2_sh_psf) 1900 1901 LENSFIELD( F_ApR5) 1902 LENSFIELD(dF_ApR5) 1903 LENSFIELD(sF_ApR5) 1904 LENSFIELD(fF_ApR5) 1905 1906 LENSFIELD( F_ApR6) 1907 LENSFIELD(dF_ApR6) 1908 LENSFIELD(sF_ApR6) 1909 LENSFIELD(fF_ApR6) 1910 1911 LENSFIELD( F_ApR7) 1912 LENSFIELD(dF_ApR7) 1913 LENSFIELD(sF_ApR7) 1914 LENSFIELD(fF_ApR7) 1915 1916 LENSFIELD(E1) 1917 LENSFIELD(E2) 1896 1918 1897 1919 # if (1) -
trunk/Ohana/src/libdvo/src/dvo_tiny_values.c
r39380 r39457 78 78 int free_tiny_values (Catalog *catalog) { 79 79 80 if (catalog[0].averageT) free (catalog[0].averageT); 81 if (catalog[0].measureT) free (catalog[0].measureT); 80 if (catalog[0].averageT) { 81 free (catalog[0].averageT); 82 catalog[0].averageT = NULL; 83 } 84 if (catalog[0].measureT) { 85 free (catalog[0].measureT); 86 catalog[0].measureT = NULL; 87 } 82 88 return (TRUE); 83 89 } -
trunk/Ohana/src/libdvo/src/dvo_util.c
r38553 r39457 1 #include <dvo_util.h> 2 1 3 // dvo_util.c 2 4 // This file contains a set of functions that provide simple read-only access to a dvo database 3 5 // 4 #include <dvo_util.h> 5 6 void dvoFree(void *ptr) 7 { 8 if (ptr) { 9 FREE(ptr); 10 } 11 } 12 13 dvoConfig * dvoConfigAlloc() 14 { 15 dvoConfig *config; 16 17 ALLOCATE(config, dvoConfig, 1); 18 19 memset(config, 0, sizeof(dvoConfig)); 20 return config; 21 } 22 23 void dvoConfigFree(dvoConfig *dvoConfig) 24 { 25 if (dvoConfig) { 26 if (dvoConfig->skyTable) { 27 SkyTableFree(dvoConfig->skyTable); 28 } 29 if (dvoConfig->images) { 30 gfits_db_free(&dvoConfig->imageDB); 31 } 32 FREE(dvoConfig); 33 } 34 } 35 36 dvoConfig *dvoConfigRead(int *argc, char **argv) 37 { 38 dvoConfig *dvoConfig = dvoConfigAlloc(); 39 char MasterPhotcodeFile[256]; 40 41 char *file = SelectConfigFile(argc, argv, "ptolemy"); 42 char *configData = LoadConfigFile(file); 43 if (!configData) { 44 fprintf(stderr, "ERROR: can't find configuration file %s\n", file); 45 if (file) { 46 FREE(file); 47 } 48 exit(3); 49 } 50 FREE (file); 51 file = NULL; 52 53 ScanConfig (configData, "GSCFILE", "%s", 0, dvoConfig->gscfile); 54 ScanConfig (configData, "CATDIR", "%s", 0, dvoConfig->catdir); 55 ScanConfig (configData, "CATMODE", "%s", 0, dvoConfig->catmode); 56 ScanConfig (configData, "CATFORMAT", "%s", 0, dvoConfig->catformat); 57 ScanConfig (configData, "PHOTCODE_FILE", "%s", 0, MasterPhotcodeFile); 58 if (!ScanConfig (configData, "SKY_DEPTH", "%d", 0, &dvoConfig->skyDepth)) { 59 dvoConfig->skyDepth = 2; 60 } 61 if (!ScanConfig (configData, "SKY_TABLE", "%s", 0, dvoConfig->skyTableFile)) { 62 dvoConfig->skyTableFile[0] = 0; 63 } 64 65 snprintf (dvoConfig->photcodeFile, 256, "%s/Photcodes.dat", dvoConfig->catdir); 66 if (!LoadPhotcodes (dvoConfig->photcodeFile, MasterPhotcodeFile, FALSE)) { 67 fprintf (stderr, "error loading photcode table %s or master file %s\n", 68 dvoConfig->photcodeFile, MasterPhotcodeFile); 69 exit (1); 70 } 71 72 double zero_point; 73 ScanConfig (configData, "ZERO_PT", "%lf", 0, &zero_point); 74 SetZeroPoint (zero_point); 6 7 void dvoFree(void *ptr) { 8 if (ptr) { 9 FREE(ptr); 10 } 11 } 12 13 dvoConfig *dvoConfigAlloc() { 14 dvoConfig *config; 15 16 ALLOCATE(config, dvoConfig, 1); 17 18 memset(config, 0, sizeof(dvoConfig)); 19 return config; 20 } 21 22 void dvoConfigFree(dvoConfig *dvoConfig) { 23 if (dvoConfig) { 24 if (dvoConfig->skyTable) { 25 SkyTableFree(dvoConfig->skyTable); 26 } 27 if (dvoConfig->images) { 28 gfits_db_free(&dvoConfig->imageDB); 29 } 30 FREE(dvoConfig); 31 } 32 } 33 34 dvoConfig *dvoConfigRead(int *argc, char **argv) { 35 dvoConfig *dvoConfig = dvoConfigAlloc(); 36 char MasterPhotcodeFile[256]; 37 38 char *file = SelectConfigFile(argc, argv, "ptolemy"); 39 char *configData = LoadConfigFile(file); 40 if (!configData) { 41 fprintf(stderr, "ERROR: can't find configuration file %s\n", file); 42 if (file) { 43 FREE(file); 44 } 45 exit(3); 46 } 47 FREE (file); 48 file = NULL; 49 50 ScanConfig (configData, "GSCFILE", "%s", 0, dvoConfig->gscfile); 51 ScanConfig (configData, "CATDIR", "%s", 0, dvoConfig->catdir); 52 ScanConfig (configData, "CATMODE", "%s", 0, dvoConfig->catmode); 53 ScanConfig (configData, "CATFORMAT", "%s", 0, dvoConfig->catformat); 54 ScanConfig (configData, "PHOTCODE_FILE", "%s", 0, MasterPhotcodeFile); 55 if (!ScanConfig (configData, "SKY_DEPTH", "%d", 0, &dvoConfig->skyDepth)) { 56 dvoConfig->skyDepth = 2; 57 } 58 if (!ScanConfig (configData, "SKY_TABLE", "%s", 0, dvoConfig->skyTableFile)) { 59 dvoConfig->skyTableFile[0] = 0; 60 } 61 62 snprintf (dvoConfig->photcodeFile, 256, "%s/Photcodes.dat", dvoConfig->catdir); 63 if (!LoadPhotcodes (dvoConfig->photcodeFile, MasterPhotcodeFile, FALSE)) { 64 fprintf (stderr, "error loading photcode table %s or master file %s\n", 65 dvoConfig->photcodeFile, MasterPhotcodeFile); 66 exit (1); 67 } 68 69 double zero_point; 70 ScanConfig (configData, "ZERO_PT", "%lf", 0, &zero_point); 71 SetZeroPoint (zero_point); 75 72 76 73 #if (DVO_UTIL_READ_CAMERA_CONFIG) 77 // at one point I thought reading the camera configuration might be useful78 // but we didn't need it79 if (!ScanConfig (configData, "CAMERA_CONFIG", "%s", 0, dvoConfig->cameraConfig)) {80 fprintf (stderr, "can't find CAMERA_CONFIG in configuration\n");81 exit (3);82 }83 char * cameraConfigData = LoadConfigFile(dvoConfig->cameraConfig);84 if (!cameraConfigData) {85 fprintf (stderr, "failed to load %s\n", dvoConfig->cameraConfig);86 exit (3);87 }88 89 ScanConfig (cameraConfigData, "NCCD", "%d", 1, &dvoConfig->nCCD);74 // at one point I thought reading the camera configuration might be useful 75 // but we didn't need it 76 if (!ScanConfig (configData, "CAMERA_CONFIG", "%s", 0, dvoConfig->cameraConfig)) { 77 fprintf (stderr, "can't find CAMERA_CONFIG in configuration\n"); 78 exit (3); 79 } 80 char * cameraConfigData = LoadConfigFile(dvoConfig->cameraConfig); 81 if (!cameraConfigData) { 82 fprintf (stderr, "failed to load %s\n", dvoConfig->cameraConfig); 83 exit (3); 84 } 85 86 ScanConfig (cameraConfigData, "NCCD", "%d", 1, &dvoConfig->nCCD); 90 87 #endif 91 88 92 return (dvoConfig); 93 } 94 95 int dvoLoadImages(dvoConfig *dvoConfig) 96 { 97 if (dvoConfig->images) { 98 return TRUE; 99 } 100 101 char filename[256]; 89 return (dvoConfig); 90 } 91 92 int dvoLoadImages(dvoConfig *dvoConfig) { 93 if (dvoConfig->images) { 94 return TRUE; 95 } 96 97 char filename[256]; 102 98 103 snprintf (filename, 256, "%s/Images.dat", dvoConfig->catdir); 104 105 gfits_db_init (&dvoConfig->imageDB); 106 dvoConfig->imageDB.lockstate = LCK_SOFT; 107 dvoConfig->imageDB.timeout = 120.0; 108 109 if (!gfits_db_lock (&dvoConfig->imageDB, filename)) { 110 fprintf (stderr, "error opening image catalog %s (1)\n", filename); 111 return (FALSE); 112 } 113 114 if (dvoConfig->imageDB.dbstate == LCK_EMPTY) { 115 fprintf (stderr, "note: image catalog is empty\n"); 116 ALLOCATE (dvoConfig->images, Image, 1); 117 dvoConfig->nImages = 1; 118 return (TRUE); 119 } 120 121 int status = dvo_image_load (&dvoConfig->imageDB, TRUE, FALSE); 122 gfits_db_close (&dvoConfig->imageDB); 123 124 if (!status) { 125 fprintf (stderr, "problem loading image database table\n"); 126 return (FALSE); 127 } 128 129 dvoConfig->images = gfits_table_get_Image (&dvoConfig->imageDB.ftable, &dvoConfig->nImages, &dvoConfig->imageDB.scaledValue, &dvoConfig->imageDB.nativeOrder); 130 if (!dvoConfig->images) { 131 fprintf (stderr, "problem loading images\n"); 132 return (FALSE); 133 } 134 99 snprintf (filename, 256, "%s/Images.dat", dvoConfig->catdir); 100 101 gfits_db_init (&dvoConfig->imageDB); 102 dvoConfig->imageDB.lockstate = LCK_SOFT; 103 dvoConfig->imageDB.timeout = 120.0; 104 105 if (!gfits_db_lock (&dvoConfig->imageDB, filename)) { 106 fprintf (stderr, "error opening image catalog %s (1)\n", filename); 107 return (FALSE); 108 } 109 110 if (dvoConfig->imageDB.dbstate == LCK_EMPTY) { 111 fprintf (stderr, "note: image catalog is empty\n"); 112 ALLOCATE (dvoConfig->images, Image, 1); 113 dvoConfig->nImages = 1; 135 114 return (TRUE); 136 } 137 Image *dvoImageByExternID(dvoConfig *dvoConfig, int sourceID, int externID) 138 { 139 int i; 115 } 116 117 int status = dvo_image_load (&dvoConfig->imageDB, TRUE, FALSE); 118 gfits_db_close (&dvoConfig->imageDB); 119 120 if (!status) { 121 fprintf (stderr, "problem loading image database table\n"); 122 return (FALSE); 123 } 124 125 dvoConfig->images = gfits_table_get_Image (&dvoConfig->imageDB.ftable, &dvoConfig->nImages, &dvoConfig->imageDB.scaledValue, &dvoConfig->imageDB.nativeOrder); 126 if (!dvoConfig->images) { 127 fprintf (stderr, "problem loading images\n"); 128 return (FALSE); 129 } 130 131 return (TRUE); 132 } 133 134 Image *dvoImageByExternID(dvoConfig *dvoConfig, unsigned short sourceID, unsigned int externID) { 135 136 unsigned int i; 140 137 141 if (!dvoLoadImages(dvoConfig)) return NULL; 142 143 for (i=0; i<dvoConfig->nImages; i++) { 144 Image *image = dvoConfig->images + i; 145 if ((image->externID == externID) && (image->sourceID == sourceID)) { 146 BuildChipMatch(dvoConfig->images, dvoConfig->nImages); 147 return image; 148 } 149 } 150 fprintf(stderr, "can't find image for %d %d\n", sourceID, externID); 151 return NULL; 152 } 153 154 SkyTable *dvoLoadSkyTable(dvoConfig *dvoConfig) 155 { 156 if (!dvoConfig->skyTable) { 157 char *skyfile = ""; 158 dvoConfig->skyTable = SkyTableLoadOptimal(dvoConfig->catdir, skyfile, dvoConfig->gscfile, 159 FALSE, dvoConfig->skyDepth, 0); 160 } 161 162 if (dvoConfig->skyTable == NULL) { 163 fprintf(stderr, "failed to load SkyTable\n"); 164 return NULL; 165 } 166 167 SkyTableSetFilenames(dvoConfig->skyTable, dvoConfig->catdir, "cpt"); 168 169 return dvoConfig->skyTable; 170 } 171 172 SkyList *dvoSkyListByExternID(dvoConfig *dvoConfig, int sourceID, int externID, Image **ppImage) 173 { 174 Image *image = dvoImageByExternID(dvoConfig, sourceID, externID); 175 if (image == NULL) { 176 // fprintf(stderr, "can't find image for %d %d\n", sourceID, externID); 177 return NULL; 178 } 179 180 if (dvoLoadSkyTable(dvoConfig) == NULL) { 181 fprintf(stderr, "failed to load Sky table\n"); 182 return NULL; 183 } 184 SkyList *skylist = SkyListByImage(dvoConfig->skyTable, -1, image); 185 if (!skylist->Nregions) { 186 fprintf(stderr, "failed to find SkyList for image %d %d\n", sourceID, externID); 187 return NULL; 188 } 189 190 *ppImage = image; 191 192 return skylist; 193 } 194 195 off_t dvoGetDetections(SkyList *skylist, int imageID, dvoDetection **results, int *pMaxDetID) 196 { 138 if (!dvoLoadImages(dvoConfig)) return NULL; 139 140 for (i = 0; i < dvoConfig->nImages; i++) { 141 Image *image = dvoConfig->images + i; 142 if ((image->externID == externID) && (image->sourceID == sourceID)) { 143 BuildChipMatch(dvoConfig->images, dvoConfig->nImages); 144 return image; 145 } 146 } 147 fprintf(stderr, "can't find image for %d %d\n", sourceID, externID); 148 return NULL; 149 } 150 151 SkyTable *dvoLoadSkyTable(dvoConfig *dvoConfig) { 152 if (!dvoConfig->skyTable) { 153 char *skyfile = ""; 154 dvoConfig->skyTable = SkyTableLoadOptimal(dvoConfig->catdir, skyfile, dvoConfig->gscfile, 155 FALSE, dvoConfig->skyDepth, 0); 156 } 157 158 if (dvoConfig->skyTable == NULL) { 159 fprintf(stderr, "failed to load SkyTable\n"); 160 return NULL; 161 } 162 163 SkyTableSetFilenames(dvoConfig->skyTable, dvoConfig->catdir, "cpt"); 164 165 return dvoConfig->skyTable; 166 } 167 168 SkyList *dvoSkyListByExternID(dvoConfig *dvoConfig, int sourceID, int externID, Image **ppImage) { 169 Image *image = dvoImageByExternID(dvoConfig, sourceID, externID); 170 if (image == NULL) { 171 // fprintf(stderr, "can't find image for %d %d\n", sourceID, externID); 172 return NULL; 173 } 174 175 if (dvoLoadSkyTable(dvoConfig) == NULL) { 176 fprintf(stderr, "failed to load Sky table\n"); 177 return NULL; 178 } 179 SkyList *skylist = SkyListByImage(dvoConfig->skyTable, -1, image); 180 if (!skylist->Nregions) { 181 fprintf(stderr, "failed to find SkyList for image %d %d\n", sourceID, externID); 182 return NULL; 183 } 184 185 *ppImage = image; 186 187 return skylist; 188 } 189 190 off_t dvoGetDetections(SkyList *skylist, unsigned int imageID, dvoDetection **results, unsigned int *pMaxDetID) { 197 191 int GetMeasures = 1; 198 192 int reg; … … 204 198 *pMaxDetID = -1; 205 199 for (reg=0; reg< skylist->Nregions; reg++) { 206 /* lock, load, unlock catalog */ 207 Catalog catalog; 208 209 dvo_catalog_init (&catalog, TRUE); 210 catalog.filename = skylist->filename[reg]; 211 catalog.catflags = GetMeasures ? DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_SECFILT : DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT; 212 catalog.Nsecfilt = 0; 213 214 // an error exit status here is a significant error 215 if (!dvo_catalog_open (&catalog, NULL, FALSE, "r")) { 216 fprintf (stderr, "ERROR: failure to open catalog file %s\n", catalog.filename); 217 exit (2); 200 /* lock, load, unlock catalog */ 201 Catalog catalog; 202 203 dvo_catalog_init (&catalog, TRUE); 204 catalog.filename = skylist->filename[reg]; 205 catalog.catflags = GetMeasures ? DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_SECFILT : DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT; 206 catalog.Nsecfilt = 0; 207 208 // an error exit status here is a significant error 209 if (!dvo_catalog_open (&catalog, NULL, FALSE, "r")) { 210 fprintf (stderr, "ERROR: failure to open catalog file %s\n", catalog.filename); 211 exit (2); 212 } 213 dvo_catalog_unlock (&catalog); 214 215 off_t Nmeasure = catalog.Nmeasure; 216 217 off_t i; 218 for (i=0; i< Nmeasure; i++) { 219 Measure *m = catalog.measure + i; 220 if (m->imageID != imageID) { 221 continue; 218 222 } 219 dvo_catalog_unlock (&catalog); 220 221 off_t Nmeasure = catalog.Nmeasure; 222 223 off_t i; 224 for (i=0; i< Nmeasure; i++) { 225 Measure *m = catalog.measure + i; 226 if (m->imageID != imageID) { 227 continue; 228 } 229 Average *a = catalog.average + m->averef; 223 Average *a = catalog.average + m->averef; 230 224 231 dvoDetection *det = detections + Ndetect;232 233 det->valid = 1;234 det->ave = *a;235 det->meas = *m;225 dvoDetection *det = detections + Ndetect; 226 227 det->valid = 1; 228 det->ave = *a; 229 det->meas = *m; 236 230 #ifdef notdfe 237 det->objID = a->objID;238 det->catID = m->catID;239 det->detID = m->detID;240 det->pspsObjID = a->extID;241 det->pspsDetID = m->extID;231 det->objID = a->objID; 232 det->catID = m->catID; 233 det->detID = m->detID; 234 det->pspsObjID = a->extID; 235 det->pspsDetID = m->extID; 242 236 #endif 243 237 244 if ((int) det->meas.detID > *pMaxDetID) { 245 *pMaxDetID = det->meas.detID; 246 } 247 248 Ndetect++; 249 CHECK_REALLOCATE(detections, dvoDetection, detectionsArrayLength, Ndetect, 1000); 238 if (det->meas.detID > *pMaxDetID) { 239 *pMaxDetID = det->meas.detID; 250 240 } 251 241 252 dvo_catalog_free (&catalog); 242 Ndetect++; 243 CHECK_REALLOCATE(detections, dvoDetection, detectionsArrayLength, Ndetect, 1000); 244 } 245 246 dvo_catalog_free (&catalog); 253 247 } 254 248 size_t NInvalidDetID = 0; 255 249 if (Ndetect) { 256 dvoDetection *sorted; 257 ALLOCATE(sorted, dvoDetection, *pMaxDetID + 1); 258 259 memset(sorted, 0, sizeof(dvoDetection) * *pMaxDetID); 260 off_t i; 261 for (i = 0; i < Ndetect; i++) { 262 263 if (detections[i].meas.detID < 0 || detections[i].meas.detID > (*pMaxDetID + 1)) 264 NInvalidDetID++; 265 else 266 sorted[detections[i].meas.detID] = detections[i]; 267 } 268 *results = sorted; 250 dvoDetection *sorted; 251 ALLOCATE(sorted, dvoDetection, *pMaxDetID + 1); 252 253 memset(sorted, 0, sizeof(dvoDetection) * *pMaxDetID); 254 off_t i; 255 for (i = 0; i < Ndetect; i++) { 256 257 // if (detections[i].meas.detID < 0 || detections[i].meas.detID > (*pMaxDetID + 1)) 258 259 if (detections[i].meas.detID > (*pMaxDetID + 1)) 260 NInvalidDetID++; 261 else 262 sorted[detections[i].meas.detID] = detections[i]; 263 } 264 *results = sorted; 269 265 } else { 270 *results = NULL;266 *results = NULL; 271 267 } 272 268 -
trunk/Ohana/src/libdvo/src/dvosorts.c
r36084 r39457 76 76 /* sort a coordinate pair (X,Y) and the associated index (S) */ 77 77 void sort_coords_indexonly (double *X, double *Y, off_t *S, off_t N) { 78 OHANA_UNUSED_PARAM(Y); 78 79 79 80 # define SWAPFUNC(A,B){ off_t itmp; \ -
trunk/Ohana/src/libdvo/src/match_image.c
r31635 r39457 1 1 # include "dvo.h" 2 2 3 off_t match_image (Image *image, off_t Nimage, unsigned intT, short int S) {3 off_t match_image (Image *image, off_t Nimage, e_time T, short int S) { 4 4 5 5 off_t N, Nlo, Nhi, N1, N2; … … 37 37 } 38 38 39 off_t match_image_subset (Image *image, off_t *subset, off_t Nsubset, unsigned intT, short int S) {39 off_t match_image_subset (Image *image, off_t *subset, off_t Nsubset, e_time T, short int S) { 40 40 41 41 off_t N, Nlo, Nhi, N1, N2; -
trunk/Ohana/src/libdvo/src/mosaic_astrom.c
r39325 r39457 64 64 images[i].coords.mosaic = &images[j].coords; 65 65 } 66 67 free (DISentry); 68 free (DIStzero); 69 66 70 return (TRUE); 67 71 }
Note:
See TracChangeset
for help on using the changeset viewer.
