Changeset 6900
- Timestamp:
- Apr 18, 2006, 9:01:19 PM (20 years ago)
- Location:
- trunk/psphot/src
- Files:
-
- 11 edited
-
psphotBasicDeblend.c (modified) (3 diffs)
-
psphotChoosePSF.c (modified) (1 diff)
-
psphotEnsemblePSF.c (modified) (4 diffs)
-
psphotFakeSources.c (modified) (1 diff)
-
psphotGrowthCurve.c (modified) (2 diffs)
-
psphotImageMedian.c (modified) (1 diff)
-
psphotMaskReadout.c (modified) (1 diff)
-
psphotModelTest.c (modified) (1 diff)
-
psphotSourceFits.c (modified) (5 diffs)
-
psphotTest.c (modified) (1 diff)
-
psphotWeightBias.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphotBasicDeblend.c
r6862 r6900 25 25 // we use an index for this so the spatial sorting is kept 26 26 psVector *SN = psVectorAlloc (sources->n, PS_DATA_F32); 27 SN->n = SN->nalloc; 27 28 for (int i = 0; i < SN->n; i++) { 28 29 source = sources->data[i]; … … 40 41 41 42 // temporary array for overlapping objects we find 42 // XXX psArrayAlloc should set ->n to 0 *and* all objects to NULL43 // XXX I need a psArrayEmpty function to free the elements without the array44 // XXX then, I could allocate 'overlap' once outside the loop and only45 // XXX clear at the end of each loop46 43 psArray *overlap = psArrayAlloc (100); 47 44 overlap->n = 0; … … 117 114 source->blends->n = 0; 118 115 } 119 120 116 psArrayAdd (source->blends, 16, testSource); 121 117 -
trunk/psphot/src/psphotChoosePSF.c
r6862 r6900 57 57 // set up an array to store the results 58 58 psArray *models = psArrayAlloc (list->n); 59 models->n = list->n; 59 60 60 61 // try each model option listed in config -
trunk/psphot/src/psphotEnsemblePSF.c
r6862 r6900 29 29 psArray *models = psArrayAlloc (sources->n); 30 30 psVector *index = psVectorAlloc (sources->n, PS_TYPE_U32); 31 models->n = 0; 32 index->n = 0; 31 models->n = index->n = 0; 33 32 34 33 // option to limit analysis to a specific region … … 118 117 // fill in the model pixel values 119 118 psImageInit (flux, 0.0); 120 psImageKeepCircle (mask, x, y, model->radiusTMP, "OR", PM_ SOURCE_MASK_MARKED);119 psImageKeepCircle (mask, x, y, model->radiusTMP, "OR", PM_MASK_MARK); 121 120 pmModelAdd (flux, mask, model, false, false); 122 121 123 122 // calculate nDOF (nPix - 1) 124 // int Nmaskpix = psImageCountPixelMask (mask, allArray, PM_ SOURCE_MASK_SATURATED);123 // int Nmaskpix = psImageCountPixelMask (mask, allArray, PM_MASK_SAT); 125 124 // model->nDOF = mask->numCols*mask->numRows - Nmaskpix - 1; 126 125 … … 136 135 psSparse *sparse = psSparseAlloc (models->n, 100); 137 136 psVector *weight = psVectorAlloc (models->n, PS_TYPE_F32); 137 weight->n = models->n; 138 138 139 for (int i = 0; i < models->n; i++) { 139 140 int N = index->data.U32[i]; … … 209 210 y = model->params->data.F32[3]; 210 211 211 psImageKeepCircle (Fi->mask, x, y, model->radiusTMP, "OR", PM_ SOURCE_MASK_MARKED);212 psImageKeepCircle (Fi->mask, x, y, model->radiusTMP, "OR", PM_MASK_MARK); 212 213 pmSourceChisq (model, Fi->pixels, Fi->mask, Fi->weight); 213 psImageKeepCircle (Fi->mask, x, y, model->radiusTMP, "AND", ~PM_SOURCE_MASK_MARKED);214 psImageKeepCircle (Fi->mask, x, y, model->radiusTMP, "AND", NOT_U8(PM_MASK_MARK)); 214 215 } 215 216 -
trunk/psphot/src/psphotFakeSources.c
r6715 r6900 1 1 # include "psphot.h" 2 3 # if (0)4 psArray *psphotFakeSources () {5 6 // psphotUpdateHeader (header, config);7 8 psArray *sources = psArrayAlloc (50);9 10 for (int i = 0; i < sources->n; i++) {11 pmSource *source = pmSourceAlloc ();12 modelType = pmModelSetType ("PS_MODEL_QGAUSS");13 source->modelPSF = pmSourceModelGuess (source, modelType);14 source->peak = pmPeakAlloc (10, 10, 0, 0);15 sources->data[i] = source;16 }17 return sources;18 }19 # endif20 2 21 3 psArray *psphotFakeSources () { -
trunk/psphot/src/psphotGrowthCurve.c
r6753 r6900 45 45 radius = psf->growth->radius->data.F32[i]; 46 46 47 psImageKeepCircle (mask, xc, yc, radius, "OR", PM_ SOURCE_MASK_MARKED);47 psImageKeepCircle (mask, xc, yc, radius, "OR", PM_MASK_MARK); 48 48 49 49 pmModelAdd (image, mask, model, false, false); … … 51 51 pmSourcePhotometryAper (&apMag, model, image, mask); 52 52 53 psImageKeepCircle (mask, xc, yc, radius, "AND", ~PM_SOURCE_MASK_MARKED);53 psImageKeepCircle (mask, xc, yc, radius, "AND", NOT_U8(PM_MASK_MARK)); 54 54 psf->growth->apMag->data.F32[i] = apMag; 55 55 } -
trunk/psphot/src/psphotImageMedian.c
r6862 r6900 119 119 } 120 120 121 psphotSaveImage (NULL, background->image, "back.fits"); 122 psphotSaveImage (NULL, image, "image.fits"); 123 psphotSaveImage (NULL, mask, "mask.fits"); 124 121 125 psLogMsg ("psphot", 3, "subtracted background model: %f sec\n", psTimerMark ("psphot")); 122 126 psImageClippedStatsCleanup(); -
trunk/psphot/src/psphotMaskReadout.c
r6715 r6900 21 21 22 22 // psImageKeepRegion assumes the region refers to the parent coordinates 23 psImageKeepRegion (readout->mask, keep, "OR", PM_ SOURCE_MASK_INVALID);23 psImageKeepRegion (readout->mask, keep, "OR", PM_MASK_BAD); 24 24 25 25 return true; -
trunk/psphot/src/psphotModelTest.c
r6851 r6900 158 158 159 159 // define the pixels used for the fit 160 psImageKeepCircle (source->mask, xObj, yObj, RADIUS, "OR", PM_ SOURCE_MASK_MARKED);160 psImageKeepCircle (source->mask, xObj, yObj, RADIUS, "OR", PM_MASK_MARK); 161 161 162 162 char *fitset = psMetadataLookupStr (&status, recipe, "TEST_FIT_SET"); -
trunk/psphot/src/psphotSourceFits.c
r6862 r6900 18 18 19 19 // fit PSF model (set/unset the pixel mask) 20 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "OR", PM_ SOURCE_MASK_MARKED);20 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "OR", PM_MASK_MARK); 21 21 pmSourceFitModel (source, PSF, PM_SOURCE_FIT_PSF); 22 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "AND", ~PM_SOURCE_MASK_MARKED);22 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "AND", NOT_U8(PM_MASK_MARK)); 23 23 24 24 // correct model chisq for flux trend … … 193 193 194 194 modelSet = psArrayAlloc (2); 195 modelSet->n = 0; 195 196 196 197 DBL = pmModelCopy (PSF); … … 210 211 211 212 // fit PSF model (set/unset the pixel mask) 212 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "OR", PM_ SOURCE_MASK_MARKED);213 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "OR", PM_MASK_MARK); 213 214 pmSourceFitSet (source, modelSet, PM_SOURCE_FIT_PSF); 214 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "AND", ~PM_SOURCE_MASK_MARKED);215 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "AND", NOT_U8(PM_MASK_MARK)); 215 216 216 217 return (modelSet); … … 230 231 231 232 // fit EXT (not PSF) model (set/unset the pixel mask) 232 psImageKeepCircle (source->mask, x, y, EXT->radiusTMP, "OR", PM_ SOURCE_MASK_MARKED);233 psImageKeepCircle (source->mask, x, y, EXT->radiusTMP, "OR", PM_MASK_MARK); 233 234 pmSourceFitModel (source, EXT, PM_SOURCE_FIT_EXT); 234 psImageKeepCircle (source->mask, x, y, EXT->radiusTMP, "AND", ~PM_SOURCE_MASK_MARKED);235 psImageKeepCircle (source->mask, x, y, EXT->radiusTMP, "AND", NOT_U8(PM_MASK_MARK)); 235 236 236 237 return (EXT); … … 293 294 294 295 // fit PSF model (set/unset the pixel mask) 295 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "OR", PM_ SOURCE_MASK_MARKED);296 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "OR", PM_MASK_MARK); 296 297 pmSourceFitSet (source, modelSet, PM_SOURCE_FIT_PSF); 297 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "AND", ~PM_SOURCE_MASK_MARKED);298 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "AND", NOT_U8(PM_MASK_MARK)); 298 299 299 300 // correct model chisq for flux trend -
trunk/psphot/src/psphotTest.c
r6117 r6900 62 62 // create a test table 63 63 table = psArrayAlloc (10); 64 table->n = 0;64 table->n = 0; 65 65 66 66 for (int i = 0; i < 10; i++) { -
trunk/psphot/src/psphotWeightBias.c
r6862 r6900 60 60 61 61 // fit PSF model (set/unset the pixel mask) 62 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "OR", PM_ SOURCE_MASK_MARKED);62 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "OR", PM_MASK_MARK); 63 63 pmSourceFitModel (source, PSF, PM_SOURCE_FIT_NORM); 64 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "AND", ~PM_SOURCE_MASK_MARKED);64 psImageKeepCircle (source->mask, x, y, PSF->radiusTMP, "AND", NOT_U8(PM_MASK_MARK)); 65 65 66 66 // re-subtract PSF for object, leave local sky
Note:
See TracChangeset
for help on using the changeset viewer.
