Changeset 42297
- Timestamp:
- Oct 24, 2022, 12:27:04 PM (4 years ago)
- Location:
- tags/ipp-ops-20220906
- Files:
-
- 1 added
- 10 edited
-
ippconfig/gpc1/Makefile.am (modified) (1 diff)
-
ippconfig/gpc1/camera.config (modified) (1 diff)
-
ippconfig/gpc1/format_20220827.config (added)
-
ippconfig/gpc1/psastro.config (modified) (9 diffs)
-
ippconfig/gpc2/psastro.config (modified) (4 diffs)
-
psLib/src/astro/psCoord.c (modified) (1 diff)
-
psastro/src/psastroAstromGuess.c (modified) (2 diffs)
-
psastro/src/psastroMosaicOneChip.c (modified) (3 diffs)
-
psastro/src/psastroOneChipFit.c (modified) (1 diff)
-
psastro/src/psastroOneChipGrid.c (modified) (6 diffs)
-
psastro/src/psastroUtils.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tags/ipp-ops-20220906/ippconfig/gpc1/Makefile.am
r41750 r42297 16 16 format_20100228.config \ 17 17 format_20100723.config \ 18 format_20220827.config \ 18 19 format_mef.config \ 19 20 format_relphot.config \ -
tags/ipp-ops-20220906/ippconfig/gpc1/camera.config
r41750 r42297 5 5 MEF STR gpc1/format_mef.config 6 6 RELPHOT STR gpc1/format_relphot.config 7 RAW_20220827 STR gpc1/format_20220827.config 7 8 RAW_20100723 STR gpc1/format_20100723.config 8 9 RAW_20100228 STR gpc1/format_20100228.config -
tags/ipp-ops-20220906/ippconfig/gpc1/psastro.config
r42282 r42297 407 407 # PSASTRO.CATDIR STR PS1.REF.20140605 408 408 # PSASTRO.CATDIR STR PS1.REF.20140713 409 PSASTRO.CATDIR STR PS1.REF.20170919 409 # PSASTRO.CATDIR STR PS1.REF.20170919 410 PSASTRO.CATDIR STR PS1.REF.20220324 411 DVO.GETSTAR.PM.APPLY BOOL TRUE 410 412 ZERO.POINT.USE.MEAN BOOL TRUE 411 413 END … … 428 430 PSASTRO.MAX.ALLOWED.FWHM F32 24 429 431 # PSASTRO.CATDIR STR PS1.REF.20140713 430 PSASTRO.CATDIR STR PS1.REF.20170919 432 # PSASTRO.CATDIR STR PS1.REF.20170919 433 PSASTRO.CATDIR STR PS1.REF.20220324 434 DVO.GETSTAR.PM.APPLY BOOL TRUE 431 435 END 432 436 … … 435 439 PSASTRO.MAX.ALLOWED.FWHM F32 24 436 440 # PSASTRO.CATDIR STR PS1.REF.20140713 437 PSASTRO.CATDIR STR PS1.REF.20170919 441 # PSASTRO.CATDIR STR PS1.REF.20170919 442 PSASTRO.CATDIR STR PS1.REF.20220324 443 DVO.GETSTAR.PM.APPLY BOOL TRUE 438 444 END 439 445 … … 441 447 ZERO.POINT.USE.MEAN BOOL TRUE 442 448 PSASTRO.MAX.ALLOWED.FWHM F32 24 443 PSASTRO.CATDIR STR PS1.REF.20170919 449 # PSASTRO.CATDIR STR PS1.REF.20170919 450 PSASTRO.CATDIR STR PS1.REF.20220324 451 DVO.GETSTAR.PM.APPLY BOOL TRUE 444 452 END 445 453 … … 448 456 ZERO.POINT.USE.MEAN BOOL TRUE 449 457 PSASTRO.MAX.ALLOWED.FWHM F32 30 450 PSASTRO.CATDIR STR PS1.REF.20170919 458 # PSASTRO.CATDIR STR PS1.REF.20170919 459 PSASTRO.CATDIR STR PS1.REF.20220324 460 DVO.GETSTAR.PM.APPLY BOOL TRUE 451 461 END 452 462 … … 460 470 DVO.GETSTAR.MIN.MAG.INST F32 -25.0 461 471 # PSASTRO.CATDIR STR PS1.REF.20140713 462 PSASTRO.CATDIR STR PS1.REF.20170919 472 # PSASTRO.CATDIR STR PS1.REF.20170919 473 PSASTRO.CATDIR STR PS1.REF.20220324 474 DVO.GETSTAR.PM.APPLY BOOL TRUE 463 475 ## refcat may be okay astrom but not faint phot -- so need to be able to further limit by ZP 464 476 ## -- concern w/ new refcat >20 extra sources w/ larger merr over-dominating scatter in ZP … … 690 702 # PSASTRO.CATDIR STR PS1.REF.20140605 (BAD catalog) 691 703 # PSASTRO.CATDIR STR PS1.REF.20140713 692 PSASTRO.CATDIR STR PS1.REF.20170919 704 # PSASTRO.CATDIR STR PS1.REF.20170919 705 PSASTRO.CATDIR STR PS1.REF.20220324 706 DVO.GETSTAR.PM.APPLY BOOL TRUE 693 707 REFSTAR_MASK BOOL FALSE 694 708 PSASTRO.SAVE.REFMATCH BOOL FALSE … … 729 743 #PSASTRO.CATDIR STR PS1.REF.20140605 # ensure same catalog is used when reprocessing MD set uniformly (BAD catalog) 730 744 # PSASTRO.CATDIR STR PS1.REF.20140713 731 PSASTRO.CATDIR STR PS1.REF.20170919 745 # PSASTRO.CATDIR STR PS1.REF.20170919 746 PSASTRO.CATDIR STR PS1.REF.20220324 747 DVO.GETSTAR.PM.APPLY BOOL TRUE 732 748 REFSTAR_MASK BOOL FALSE 733 749 PSASTRO.SAVE.REFMATCH BOOL FALSE … … 879 895 880 896 SWEETSPOT_TEST METADATA 881 PSASTRO.CATDIR STR PS1.REF.20170919 897 # PSASTRO.CATDIR STR PS1.REF.20170919 898 PSASTRO.CATDIR STR PS1.REF.20220324 899 DVO.GETSTAR.PM.APPLY BOOL TRUE 882 900 ZERO.POINT.USE.MEAN BOOL TRUE 883 901 END -
tags/ipp-ops-20220906/ippconfig/gpc2/psastro.config
r42282 r42297 402 402 ZERO.POINT.USE.MEAN BOOL TRUE 403 403 PSASTRO.MAX.ALLOWED.FWHM F32 24 404 PSASTRO.CATDIR STR PS1.REF.20170919 404 # PSASTRO.CATDIR STR PS1.REF.20170919 405 PSASTRO.CATDIR STR PS1.REF.20220324 406 DVO.GETSTAR.PM.APPLY BOOL TRUE 405 407 END 406 408 … … 408 410 ZERO.POINT.USE.MEAN BOOL TRUE 409 411 PSASTRO.MAX.ALLOWED.FWHM F32 24 410 PSASTRO.CATDIR STR PS1.REF.20170919 412 # PSASTRO.CATDIR STR PS1.REF.20170919 413 PSASTRO.CATDIR STR PS1.REF.20220324 414 DVO.GETSTAR.PM.APPLY BOOL TRUE 411 415 END 412 416 … … 415 419 ZERO.POINT.USE.MEAN BOOL TRUE 416 420 PSASTRO.MAX.ALLOWED.FWHM F32 30 417 PSASTRO.CATDIR STR PS1.REF.20170919 421 # PSASTRO.CATDIR STR PS1.REF.20170919 422 PSASTRO.CATDIR STR PS1.REF.20220324 423 DVO.GETSTAR.PM.APPLY BOOL TRUE 418 424 END 419 425 … … 551 557 552 558 SWEETSPOT_TEST METADATA 553 PSASTRO.CATDIR STR PS1.REF.20170919 559 # PSASTRO.CATDIR STR PS1.REF.20170919 560 PSASTRO.CATDIR STR PS1.REF.20220324 561 DVO.GETSTAR.PM.APPLY BOOL TRUE 554 562 ZERO.POINT.USE.MEAN BOOL TRUE 555 563 PSASTRO.GRID.MIN.ANGLE F32 -6.0 -
tags/ipp-ops-20220906/psLib/src/astro/psCoord.c
r41896 r42297 242 242 const psPlane* coords) 243 243 { 244 if (!transform) {245 fprintf (stderr, "problem\n");246 }247 244 PS_ASSERT_PTR_NON_NULL(transform, NULL); 248 245 PS_ASSERT_PTR_NON_NULL(transform->x, NULL); -
tags/ipp-ops-20220906/psastro/src/psastroAstromGuess.c
r41895 r42297 320 320 if (!chip->process || !chip->file_exists || !chip->data_exists) { continue; } 321 321 322 if (!chip->toFPA || !chip->fromFPA) { 322 // if a chip fails during the calibration, the associated readout->data_exists 323 // gets set to false. This may be the wrong solution, but it does not break this 324 // analysis here. Note this is not the chip->data_exists field tested above. 325 // chip->data_exists is only false if the chip data is missing. 326 327 // chip->fromFPA can be NULL if the inversion fails, but I'm not sure 328 // chip->toFPA can be NULL unless it was not in the original model 329 if (!chip->toFPA) { 323 330 char *name = psMetadataLookupStr (NULL, chip->concepts, "CHIP.NAME"); 324 331 fprintf (stderr, "no astrom model for %s, skipping\n", name); 325 332 continue; 326 333 } 327 328 // XXX we are currently inconsistent with marking the good vs the bad data 329 // psastroChipAstrom sets data_exists to false if the fit is bad. this is 330 // probably wrong since it implies there is no data! 334 if (!chip->fromFPA) { 335 char *name = psMetadataLookupStr (NULL, chip->concepts, "CHIP.NAME"); 336 fprintf (stderr, "inversion faiulre for %s (%d), will be skipped\n", name, view->chip); 337 } 331 338 332 339 // skip chips for which the astrometry failed (NASTRO == 0) … … 350 357 float astError = psMetadataLookupF32 (&status, updates, "CERROR"); 351 358 if (fabs(astError) < 1e-6) goto skip_chip; 359 360 // XXX EAM 2022.09.22 : a more robust analysis would put the corner points 361 // on the chip metadata so we can be certain the old and new corner values 362 // are correctly matched. 352 363 353 364 psPlane ptCH, ptFP, ptTP; -
tags/ipp-ops-20220906/psastro/src/psastroMosaicOneChip.c
r41895 r42297 148 148 if (order == 1) { minNstar = PS_MAX ( 8, minNstar); } 149 149 150 // determine fromFPA transformation and apply new transformation to raw & ref stars 151 psastroUpdateChipToFPA (fpa, chip); 152 150 153 bool validSolution = true; 151 154 … … 162 165 if (astNstar < minNstar) { 163 166 psLogMsg("psastro", PS_LOG_INFO, "solution uses too few stars: %d < %d", astNstar, minNstar); 167 validSolution = false; 168 } 169 if (!chip->fromFPA) { 170 psLogMsg("psastro", PS_LOG_INFO, "toFPA/fromFPA inversion failure"); 164 171 validSolution = false; 165 172 } … … 189 196 psMetadataAddF32 (updates, PS_LIST_TAIL, "AST_MRY", PS_META_REPLACE, "mosaic astrometry Y 10-90 percentile (arcsec)", results->dYrange * plateScale); 190 197 191 // determine fromFPA transformation and apply new transformation to raw & ref stars 192 psastroUpdateChipToFPA (fpa, chip); 193 194 //plot results 198 // plot results 195 199 pmAstromVisualPlotMosaicOneChip(rawstars, refstars, match, recipe); 196 200 -
tags/ipp-ops-20220906/psastro/src/psastroOneChipFit.c
r41895 r42297 217 217 validSolution = false; 218 218 } 219 if (!chip->fromFPA) { 220 psLogMsg("psastro", PS_LOG_INFO, "toFPA/fromFPA inversion failure"); 221 validSolution = false; 222 } 219 223 220 224 // DVO expects NASTRO = 0 if we fail to find a solution -
tags/ipp-ops-20220906/psastro/src/psastroOneChipGrid.c
r40084 r42297 22 22 bool status; 23 23 pmAstromStats *stats = NULL; 24 char *chipname = psMetadataLookupStr (NULL, chip->concepts, "CHIP.NAME"); 25 24 26 25 27 // do we need to get a rough initial match? … … 49 51 } 50 52 51 psLogMsg ("psastro", 3, "grid search using %ld raw vs %ld ref stars\n",rawGridStars->n, refGridStars->n);53 psLogMsg ("psastro", 3, "grid search for chip %s using %ld raw vs %ld ref stars\n",chipname,rawGridStars->n, refGridStars->n); 52 54 53 55 // find initial offset / rotation / scale 54 56 pmAstromStats *gridStats = pmAstromGridMatch (rawGridStars, refGridStars, recipe); 55 57 if (gridStats == NULL) { 56 psLogMsg ("psastro", 3, "failed to find a grid match solution \n");58 psLogMsg ("psastro", 3, "failed to find a grid match solution for chip %s\n",chipname); 57 59 psFree (rawGridStars); 58 60 psFree (refGridStars); … … 60 62 return false; 61 63 } 62 psLogMsg ("psastro", 3, "basic grid search result - offset: %f,%f pixels, rotation: %f deg\n", gridStats->offset.x, gridStats->offset.y, DEG_RAD*gridStats->angle);64 psLogMsg ("psastro", 3, "basic grid search result for chip %s - offset: %f,%f pixels, rotation: %f deg\n",chipname, gridStats->offset.x, gridStats->offset.y, DEG_RAD*gridStats->angle); 63 65 64 66 # if (1) … … 73 75 return false; 74 76 } 75 psLogMsg ("psastro", 3, "tweak grid search result - offset: %f,%f pixels, rotation: %f deg\n", stats->offset.x, stats->offset.y, DEG_RAD*stats->angle);77 psLogMsg ("psastro", 3, "tweak grid search result for chip %s - offset: %f,%f pixels, rotation: %f deg\n",chipname, stats->offset.x, stats->offset.y, DEG_RAD*stats->angle); 76 78 # else 77 79 // EAM TEST: skip tweak … … 82 84 // adjust the chip.toFPA terms only 83 85 pmAstromGridApply (chip->toFPA, stats); 84 psastroUpdateChipToFPA (fpa, chip); // updates PSASTRO.RAWSTARS and PSASTRO.REFSTARS 86 psastroUpdateChipToFPA (fpa, chip); // updates PSASTRO.RAWSTARS and PSASTRO.REFSTARS (see note below) 85 87 psFree (gridStats); 86 88 psFree (rawGridStars); … … 90 92 return true; 91 93 } 94 95 /* if psastroUpdateChiptoFPA fails to invert the toFPA transformation, 96 the ref->chip coordinates will not be set. This is not a problem 97 at this stage since they are not used in the calculation. Later 98 passes can still yield a valid solution. 99 */ -
tags/ipp-ops-20220906/psastro/src/psastroUtils.c
r41895 r42297 109 109 110 110 psRegion *region = pmChipPixels (chip); 111 112 111 psFree (chip->fromFPA); 113 112 chip->fromFPA = psPlaneTransformInvert (NULL, chip->toFPA, *region, 50, 4); 114 113 psFree (region); 114 115 // XXX EAM 2022.09.22 : for a specific case, psPlaneTransformInvert fails. 116 // This probably means the solution was poor in any case. 117 // Some options: 118 // 1) skip the chip in psastroAstromGuessCheck (supply bad corners) 119 // 2) mark this chip as bad (return an error here and trap in psastroMosaicOneChip) 120 // 3) warn of the failure: 121 if (!chip->fromFPA) { 122 char *name = psMetadataLookupStr (NULL, chip->concepts, "CHIP.NAME"); 123 psLogMsg ("psastro", PS_LOG_INFO, "WARNING: failure to invert toFPA for %s", name); 124 } 115 125 116 126 // loop over cells in this chip … … 150 160 pmAstromObj *ref = refstars->data[i]; 151 161 psPlaneTransformApply (ref->chip, chip->fromFPA, ref->FP); 162 // if chip->fromFPA is NULL (non-invertable), the action is skipped 152 163 } 153 164 }
Note:
See TracChangeset
for help on using the changeset viewer.
