Changeset 42015
- Timestamp:
- Feb 6, 2022, 3:52:41 PM (4 years ago)
- Location:
- branches/eam_branches/ipp-20211108/psphot/src
- Files:
-
- 4 edited
-
psphotBlendFit.c (modified) (2 diffs)
-
psphotChoosePSF.c (modified) (2 diffs)
-
psphotExtendedSourceFits.c (modified) (2 diffs)
-
psphotModelTestReadout.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20211108/psphot/src/psphotBlendFit.c
r36375 r42015 71 71 } 72 72 73 // source fitting parameters for extended source fits 74 int fitIter = psMetadataLookupS32(&status, recipe, "EXT_FIT_ITER"); // Max number of fit iterations 75 assert (status && fitIter > 0); 76 77 float fitMinTol = psMetadataLookupF32 (&status, recipe, "EXT_FIT_MIN_TOL"); // Fit tolerance 78 if (!status || !isfinite(fitMinTol) || fitMinTol <= 0) { 79 fitMinTol = psMetadataLookupF32 (&status, recipe, "PSF_FIT_TOL"); // Fit tolerance 80 if (!status || !isfinite(fitMinTol) || fitMinTol <= 0) { 73 // Define source fitting parameters for extended source fits 74 pmSourceFitOptions *fitOptions = pmSourceFitOptionsAlloc(); 75 76 fitOptions->mode = PM_SOURCE_FIT_PSF; 77 78 fitOptions->covarFactor = psImageCovarianceFactorForAperture(readout->covariance, 10.0); // Covariance matrix 79 80 fitOptions->nIter = psMetadataLookupS32(&status, recipe, "EXT_FIT_ITER"); // Max number of fit iterations 81 assert (status && fitIter > 0); 82 83 fitOptions->minTol = psMetadataLookupF32 (&status, recipe, "EXT_FIT_MIN_TOL"); // Fit tolerance 84 if (!status || !isfinite(fitOptions->minTol) || fitOptions->minTol <= 0) { 85 fitOptions->minTol = psMetadataLookupF32 (&status, recipe, "PSF_FIT_TOL"); // Fit tolerance 86 if (!status || !isfinite(fitOptions->minTol) || fitOptions->minTol <= 0) { 81 87 psAbort("PSF_FIT_MIN_TOL (and PSF_FIT_TOL) not defined or positive"); 82 88 } 83 89 } 84 90 85 float fitMaxTol = psMetadataLookupF32 (&status, recipe, "EXT_FIT_MAX_TOL"); // Fit tolerance 86 if (!status || !isfinite(fitMaxTol) || fitMaxTol <= 0) { 87 fitMaxTol = 1.0; 88 } 89 90 bool chisqConvergence = psMetadataLookupBool (&status, recipe, "LMM_FIT_CHISQ_CONVERGENCE"); // Fit tolerance 91 if (!status) { 92 // default to the old method (chisqConvergence) 93 chisqConvergence = true; 94 } 95 96 int gainFactorMode = psMetadataLookupS32 (&status, recipe, "LMM_FIT_GAIN_FACTOR_MODE"); // Fit tolerance 97 if (!status) { 98 // default to the old method (chisqConvergence) 99 gainFactorMode = 0; 100 } 101 102 bool poisson = psMetadataLookupBool(&status, recipe, "POISSON.ERRORS.PHOT.LMM"); // Poisson errors? 91 fitOptions->maxTol = psMetadataLookupF32 (&status, recipe, "EXT_FIT_MAX_TOL"); // Fit tolerance 92 if (!status || !isfinite(fitOptions->maxTol) || fitOptions->maxTol <= 0) { fitOptions->maxTol = 1.0; } 93 94 fitOptions->chisqConvergence = psMetadataLookupBool (&status, recipe, "LMM_FIT_CHISQ_CONVERGENCE"); // Fit tolerance 95 if (!status) { fitOptions->chisqConvergence = true; } // default to the old method (chisqConvergence) 96 97 fitOptions->useReweighting = psMetadataLookupBool (&status, recipe, "LMM_FIT_USE_REWEIGHTING"); // Fit tolerance 98 if (!status) { fitOptions->useReweighting = false; } 99 100 fitOptions->gainFactorMode = psMetadataLookupS32 (&status, recipe, "LMM_FIT_GAIN_FACTOR_MODE"); // Fit tolerance 101 if (!status) { fitOptions->gainFactorMode = 0; } // default to the old method 102 103 fitOptions->poissonErrors = psMetadataLookupBool(&status, recipe, "POISSON.ERRORS.PHOT.LMM"); // Poisson errors? 103 104 assert (status); 104 105 105 f loatmaxChisqDOF = psMetadataLookupF32 (&status, recipe, "EXT_FIT_MAX_CHISQ"); // Fit tolerance106 fitOptions->maxChisqDOF = psMetadataLookupF32 (&status, recipe, "EXT_FIT_MAX_CHISQ"); // Fit tolerance 106 107 107 108 float skySig = psMetadataLookupF32(&status, recipe, "SKY_SIG"); 108 109 assert (status && isfinite(skySig) && skySig > 0); 110 fitOptions->weight = PS_SQR(skySig); 109 111 110 112 # if (0) … … 120 122 psphotSaveImage (NULL, IDimage, "idimage.fits"); 121 123 # endif 122 123 // Define source fitting parameters for extended source fits124 pmSourceFitOptions *fitOptions = pmSourceFitOptionsAlloc();125 fitOptions->nIter = fitIter;126 fitOptions->minTol = fitMinTol;127 fitOptions->maxTol = fitMaxTol;128 fitOptions->maxChisqDOF = maxChisqDOF;129 fitOptions->poissonErrors = poisson;130 fitOptions->weight = PS_SQR(skySig);131 fitOptions->mode = PM_SOURCE_FIT_PSF;132 fitOptions->covarFactor = psImageCovarianceFactorForAperture(readout->covariance, 10.0); // Covariance matrix133 134 fitOptions->gainFactorMode = gainFactorMode;135 fitOptions->chisqConvergence = chisqConvergence;136 124 137 125 psphotInitLimitsPSF (recipe, readout); -
branches/eam_branches/ipp-20211108/psphot/src/psphotChoosePSF.c
r37811 r42015 164 164 // default to the old method (chisqConvergence) 165 165 chisqConvergence = true; 166 } 167 168 bool useReweighting = psMetadataLookupBool (&status, recipe, "LMM_FIT_USE_REWEIGHTING"); // Fit tolerance 169 if (!status) { 170 useReweighting = false; 166 171 } 167 172 … … 185 190 options->fitOptions->gainFactorMode = gainFactorMode; 186 191 options->fitOptions->chisqConvergence = chisqConvergence; 192 options->fitOptions->useReweighting = useReweighting; 187 193 188 194 psArray *stars = psArrayAllocEmpty (sources->n); -
branches/eam_branches/ipp-20211108/psphot/src/psphotExtendedSourceFits.c
r38534 r42015 120 120 // default to the old method (chisqConvergence) 121 121 chisqConvergence = true; 122 } 123 124 bool useReweighting = psMetadataLookupBool (&status, recipe, "LMM_FIT_USE_REWEIGHTING"); // Fit tolerance 125 if (!status) { 126 useReweighting = false; 122 127 } 123 128 … … 145 150 fitOptions->chisqConvergence = chisqConvergence; 146 151 fitOptions->isInteractive = isInteractive; 152 fitOptions->useReweighting = useReweighting; 147 153 148 154 // use poissonian errors or local-sky errors -
branches/eam_branches/ipp-20211108/psphot/src/psphotModelTestReadout.c
r36375 r42015 222 222 fitOptions->chisqConvergence = chisqConvergence; 223 223 224 bool useReweighting = psMetadataLookupBool (&status, recipe, "LMM_FIT_USE_REWEIGHTING"); // Fit tolerance 225 if (!status) useReweighting = true; 226 fitOptions->useReweighting = useReweighting; 227 224 228 int gainFactorMode = psMetadataLookupS32 (&status, recipe, "LMM_FIT_GAIN_FACTOR_MODE"); // Fit tolerance 225 229 if (!status) gainFactorMode = 0;
Note:
See TracChangeset
for help on using the changeset viewer.
