Changeset 31334
- Timestamp:
- Apr 21, 2011, 11:34:02 AM (15 years ago)
- Location:
- tags/ipp-20110406
- Files:
-
- 7 edited
-
ippconfig/gpc1/psastro.config (modified) (4 diffs)
-
ippconfig/recipes/psastro.config (modified) (1 diff)
-
psastro/src (modified) (1 prop)
-
psastro/src/psastroAstromGuess.c (modified) (1 diff)
-
psastro/src/psastroChipAstrom.c (modified) (2 diffs)
-
psastro/src/psastroConvert.c (modified) (3 diffs)
-
psastro/src/psastroRemoveClumps.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tags/ipp-20110406/ippconfig/gpc1/psastro.config
r31163 r31334 16 16 PSASTRO.GRID.SCALE F32 50 17 17 PSASTRO.GRID.NSTAR.MAX S32 800 # deprecated 18 PSASTRO.GRID.NREF.MAX S32 800 # max stars accepted for fittingfrom ref catalog19 PSASTRO.GRID.NRAW.MAX S32 1200 # max stars accepted for fittingfrom raw image18 PSASTRO.GRID.NREF.MAX S32 800 # max stars accepted for grid search from ref catalog 19 PSASTRO.GRID.NRAW.MAX S32 1200 # max stars accepted for grid search from raw image 20 20 21 21 PSASTRO.MAX.NRAW S32 1000 # max stars accepted for fitting (0 for all) … … 28 28 PSASTRO.MIN.INST.MAG.RAW F32 -15.0 # min instrumental magnitude for stars accepted for fitting 29 29 PSASTRO.MAX.INST.MAG.RAW F32 -8.0 # max instrumental magnitude for stars accepted for fitting 30 PSASTRO.GRID.MIN.INST.MAG.RAW F32 -15.0 # min instrumental magnitude for stars accepted for grid search 31 PSASTRO.GRID.MAX.INST.MAG.RAW F32 -8.0 # max instrumental magnitude for stars accepted for grid search 30 32 31 33 PSASTRO.GRID.MIN.ANGLE F32 -1.0 # start angle (degrees) … … 314 316 # allow more stars per chip and boost the density to which we query 315 317 # from the reference database. 316 PSASTRO.MAX.NRAW S32 2000 # 317 PSASTRO.MAX.NREF S32 8000 # max stars accepted for fitting (0 for all) 318 DVO.GETSTAR.MAX.RHO F32 60000.0 318 PSASTRO.MAX.NRAW S32 2000 # 319 PSASTRO.MAX.NREF S32 8000 # max stars accepted for fitting (0 for all) 320 # use wider range of magnitudes for grid search 321 PSASTRO.GRID.MIN.INST.MAG.RAW F32 -15.0 # min instrumental magnitude for stars accepted for fitting 322 PSASTRO.GRID.MAX.INST.MAG.RAW F32 -11.0 # max instrumental magnitude for stars accepted for fitting 323 324 # reduce the magnitude range to avoid the bright stars have bad astrometry problem 325 PSASTRO.MIN.INST.MAG.RAW F32 -12.0 # min instrumental magnitude for stars accepted for fitting 326 PSASTRO.MAX.INST.MAG.RAW F32 -11.0 # min instrumental magnitude for stars accepted for fitting 327 328 DVO.GETSTAR.MIN.MAG.INST F32 -15.0 329 DVO.GETSTAR.MAX.RHO F32 60000.0 319 330 320 331 # the crowding is high, so unless we restrict somewhat tightly early … … 324 335 325 336 # single-chip radius match in pixels 326 PSASTRO.MATCH.RADIUS.N0 F32 10337 PSASTRO.MATCH.RADIUS.N0 F32 10 327 338 PSASTRO.MATCH.RADIUS.N1 F32 5 328 339 PSASTRO.MATCH.RADIUS.N2 F32 5 -
tags/ipp-20110406/ippconfig/recipes/psastro.config
r31163 r31334 83 83 PSASTRO.MIN.INST.MAG.RAW F32 0.0 # min instrumental magnitude for stars accepted for fitting 84 84 PSASTRO.MAX.INST.MAG.RAW F32 0.0 # max instrumental magnitude for stars accepted for fitting 85 PSASTRO.GRID.MIN.INST.MAG.RAW F32 0.0 # min instrumental magnitude for stars accepted for grid search 86 PSASTRO.GRID.MAX.INST.MAG.RAW F32 0.0 # max instrumental magnitude for stars accepted for grid search 85 87 86 88 PSASTRO.MATCH.LUMFUNC BOOL FALSE -
tags/ipp-20110406/psastro/src
- Property svn:mergeinfo set to
-
tags/ipp-20110406/psastro/src/psastroAstromGuess.c
r23989 r31334 161 161 psastroPlotRawstars (rawstars, fpa, chip, recipe); 162 162 } 163 164 // Next if we are using a different set of stars for grid search fill out their pmAstromObjs 165 psArray *grid_rawstars = psMetadataLookupPtr (NULL, readout->analysis, "PSASTRO.GRID.RAWSTARS"); 166 if (grid_rawstars == NULL || grid_rawstars == rawstars) { continue; } 167 168 for (int i = 0; i < grid_rawstars->n; i++) { 169 pmAstromObj *raw = grid_rawstars->data[i]; 170 171 psPlaneTransformApply (raw->FP, chip->toFPA, raw->chip); 172 psPlaneTransformApply (raw->TP, fpa->toTPA, raw->FP); 173 psDeproject (raw->sky, raw->TP, fpa->toSky); 174 175 // rationalize ra to sky range centered on boresite 176 while (raw->sky->r < RAminSky) raw->sky->r += 2.0*M_PI; 177 while (raw->sky->r > RAmaxSky) raw->sky->r -= 2.0*M_PI; 178 179 RAmin = PS_MIN (raw->sky->r, RAmin); 180 RAmax = PS_MAX (raw->sky->r, RAmax); 181 182 DECmin = PS_MIN (raw->sky->d, DECmin); 183 DECmax = PS_MAX (raw->sky->d, DECmax); 184 } 185 // XXX: should we plot grid_rawstars? 163 186 } 164 187 } -
tags/ipp-20110406/psastro/src/psastroChipAstrom.c
r27639 r31334 60 60 61 61 // select the raw objects for this readout 62 psArray *gridrawstars = psMetadataLookupPtr (&status, readout->analysis, "PSASTRO.GRID.RAWSTARS.SUBSET"); 63 if (gridrawstars == NULL) { 64 gridrawstars = rawstars; 65 } else { 66 // the absolute minimum number of stars is 4 (for order = 1) 67 if (gridrawstars->n < 4) { 68 readout->data_exists = false; 69 psLogMsg ("psastro", 3, "insufficient gird rawstars (%ld)", gridrawstars->n); 70 continue; 71 } 72 } 73 62 74 psArray *refstars = psMetadataLookupPtr (&status, readout->analysis, "PSASTRO.REFSTARS.SUBSET"); 63 75 if (refstars == NULL) { continue; } … … 80 92 81 93 // XXX update the header with info to reflect the failure 82 if (!psastroOneChipGrid (fpa, chip, refstars, rawstars, recipe, updates)) {94 if (!psastroOneChipGrid (fpa, chip, refstars, gridrawstars, recipe, updates)) { 83 95 readout->data_exists = false; 84 96 psLogMsg ("psastro", 3, "failed to find a solution\n"); -
tags/ipp-20110406/psastro/src/psastroConvert.c
r31161 r31334 14 14 // leak free 2006.04.27 15 15 16 static psArray * chooseStars(psArray *inStars, char *listName, psArray *sources, psVector *index, int nMax, float iMagMin, float iMagMax, pmSourceMode skip); 17 16 18 bool psastroConvertFPA (pmFPA *fpa, psMetadata *recipe) { 17 19 … … 87 89 } 88 90 91 psArray *rawStars = chooseStars(inStars, "", sources, index, PS_MIN(nMax, inStars->n), iMagMin, iMagMax, skip); 92 psMetadataAdd (readout->analysis, PS_LIST_TAIL, "PSASTRO.RAWSTARS", PS_DATA_ARRAY, "astrometry objects", rawStars); 93 94 bool gridSearch = psMetadataLookupBool (&status, recipe, "PSASTRO.GRID.SEARCH"); 95 if (gridSearch) { 96 // See if different magnitude limits have been specified for grid search. If so, create a separate list of stars to use. 97 float iGridMagMax = psMetadataLookupF32 (&status, recipe, "PSASTRO.GRID.MAX.INST.MAG.RAW"); 98 float iGridMagMin = psMetadataLookupF32 (&status, recipe, "PSASTRO.GRID.MIN.INST.MAG.RAW"); 99 int nMaxGrid = psMetadataLookupS32 (&status, recipe, "PSASTRO.GRID.NRAW.MAX"); 100 101 // XXX Should we check PSASTRO.GRID.NRAW.MAX != PSASTRO.MAX.NRAW as well? It usually is smaller so that would cause 102 // us to always create a separate list. So I won't check. 103 104 if ((iGridMagMax != iMagMax) || (iGridMagMin != iMagMin)) { 105 psArray *gridStars = chooseStars(inStars, "grid search ", sources, index, PS_MIN(nMaxGrid, inStars->n), iGridMagMin, iGridMagMax, skip); 106 psMetadataAdd (readout->analysis, PS_LIST_TAIL, "PSASTRO.GRID.RAWSTARS", PS_DATA_ARRAY, "astrometry objects for grid search", gridStars); 107 psFree(gridStars); 108 } 109 } 110 111 psFree (index); 112 psFree (inStars); 113 psFree (rawStars); 114 115 return true; 116 } 117 118 119 psArray * chooseStars(psArray *inStars, char *listName, psArray *sources, psVector *index, int nMax, float iMagMin, float iMagMax, pmSourceMode skip) { 89 120 // choose the first nMax sources 90 121 int j = 0; 91 psArray *rawStars = psArrayAlloc (PS_MIN (nMax, inStars->n));122 psArray *rawStars = psArrayAlloc(nMax); 92 123 93 124 float mMin = +100.0; … … 128 159 rawStars->n = j; 129 160 130 psMetadataAdd (readout->analysis, PS_LIST_TAIL, "PSASTRO.RAWSTARS", PS_DATA_ARRAY, "astrometry objects", rawStars); 131 132 psLogMsg ("psastro", 4, "loaded %ld sources, using %ld of %ld good sources (inst mag: %f to %f)\n", sources->n, rawStars->n, inStars->n, mMin, mMax); 161 psLogMsg ("psastro", 4, "loaded %ld %ssources, using %ld of %ld good sources (inst mag: %f to %f)\n", sources->n, listName, rawStars->n, inStars->n, mMin, mMax); 133 162 psLogMsg ("psastro", 4, "skip reasons: mode: %d, faint: %d, bright: %d, inf: %d\n", nModeSkip, nFaintSkip, nBrightSkip, nInfSkip); 134 163 135 psFree (index); 136 psFree (inStars); 137 psFree (rawStars); 138 139 return true; 164 return rawStars; 140 165 } 141 166 -
tags/ipp-20110406/psastro/src/psastroRemoveClumps.c
r26275 r31334 61 61 psMetadataAdd (readout->analysis, PS_LIST_TAIL, "PSASTRO.RAWSTARS.SUBSET", PS_DATA_ARRAY, "astrometry objects", subset); 62 62 psFree (subset); 63 64 psArray *gridstars = psMetadataLookupPtr(&status, readout->analysis, "PSASTRO.GRID.RAWSTARS"); 65 if ((gridstars == rawstars) || (gridstars == NULL)) { continue; } 66 67 psArray *gridstars_subset = psastroRemoveClumpsIterate(gridstars, 150, 3); 68 psMetadataAdd (readout->analysis, PS_LIST_TAIL, "PSASTRO.GRID.RAWSTARS.SUBSET", PS_DATA_ARRAY, "astrometry objects", gridstars_subset); 69 psFree (gridstars_subset); 63 70 } 64 71 }
Note:
See TracChangeset
for help on using the changeset viewer.
