Changeset 9807
- Timestamp:
- Oct 31, 2006, 9:37:39 AM (20 years ago)
- Location:
- trunk/psphot/src
- Files:
-
- 3 edited
-
psphot.h (modified) (1 diff)
-
psphotApResid.c (modified) (3 diffs)
-
psphotGrowthCurve.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphot.h
r9771 r9807 51 51 int psphotSortBySN (const void **a, const void **b); 52 52 int psphotSortByY (const void **a, const void **b); 53 bool psphotGrowthCurve (pmReadout *readout, pmPSF *psf );53 bool psphotGrowthCurve (pmReadout *readout, pmPSF *psf, bool ignore); 54 54 void psphotTestArguments (int *argc, char **argv); 55 55 bool psphotMaskReadout (pmReadout *readout, psMetadata *recipe); -
trunk/psphot/src/psphotApResid.c
r9771 r9807 25 25 // S/N limit to perform full non-linear fits 26 26 float MAX_AP_OFFSET = psMetadataLookupF32 (&status, recipe, "MAX_AP_OFFSET"); 27 bool IGNORE_GROWTH = psMetadataLookupBool (&status, recipe, "IGNORE_GROWTH"); 27 28 28 29 // set limits on the aperture magnitudes … … 32 33 float REF_RADIUS = psMetadataLookupF32 (&status, recipe, "PSF_REF_RADIUS"); 33 34 psf->growth = pmGrowthCurveAlloc (3.0, 100.0, REF_RADIUS); 34 psphotGrowthCurve (readout, psf); 35 36 psphotGrowthCurve (readout, psf, IGNORE_GROWTH); 35 37 36 38 psVector *mask = psVectorAllocEmpty (300, PS_TYPE_U8); … … 67 69 68 70 flux->data.F64[Npsf] = pow(10.0, -0.4*source->psfMag); 69 r2rflux->data.F64[Npsf] = PS_SQR(model->radius TMP) / flux->data.F64[Npsf];71 r2rflux->data.F64[Npsf] = PS_SQR(model->radiusFit) / flux->data.F64[Npsf]; 70 72 71 73 mask->data.U8[Npsf] = 0; -
trunk/psphot/src/psphotGrowthCurve.c
r9595 r9807 5 5 // the 'center' option 6 6 7 bool psphotGrowthCurve (pmReadout *readout, pmPSF *psf) { 7 // XXX add a option to turn off the curve-of-growth (ie, make the apMag = fitMag everywhere); 8 9 bool psphotGrowthCurve (pmReadout *readout, pmPSF *psf, bool ignore) { 8 10 9 11 // bool status; … … 31 33 pmModel *model = pmModelFromPSF (modelRef, psf); 32 34 35 // measure the fitMag for this model 36 pmSourcePhotometryModel (&fitMag, model); 37 psf->growth->fitMag = fitMag; 38 33 39 // generate working image for this source 34 40 psRegion region = {xc - dx, xc + dx, yc - dy, yc + dy}; … … 46 52 47 53 psImageKeepCircle (mask, xc, yc, radius, "OR", PM_MASK_MARK); 54 pmModelAdd (image, mask, model, false, false); 55 pmSourcePhotometryAper (&apMag, model, image, mask); 56 psImageKeepCircle (mask, xc, yc, radius, "AND", PS_NOT_U8(PM_MASK_MARK)); 48 57 49 pmModelAdd (image, mask, model, false, false); 50 51 pmSourcePhotometryAper (&apMag, model, image, mask);52 53 psImageKeepCircle (mask, xc, yc, radius, "AND", PS_NOT_U8(PM_MASK_MARK));54 psf->growth->apMag->data.F32[i] = apMag; 58 // the 'ignore' mode is for testing 59 if (ignore) { 60 psf->growth->apMag->data.F32[i] = fitMag; 61 } else { 62 psf->growth->apMag->data.F32[i] = apMag; 63 } 55 64 } 56 57 pmSourcePhotometryModel (&fitMag, model);58 psf->growth->fitMag = fitMag;59 65 60 66 psf->growth->apRef = psVectorInterpolate (psf->growth->radius, psf->growth->apMag, psf->growth->refRadius);
Note:
See TracChangeset
for help on using the changeset viewer.
