Changeset 12957
- Timestamp:
- Apr 22, 2007, 5:39:10 PM (19 years ago)
- Location:
- branches/eam_02_branch/psphot/src
- Files:
-
- 13 edited
-
psphotAddNoise.c (modified) (1 diff)
-
psphotBlendFit.c (modified) (3 diffs)
-
psphotChoosePSF.c (modified) (1 diff)
-
psphotEnsemblePSF.c (modified) (2 diffs)
-
psphotFitSet.c (modified) (2 diffs)
-
psphotGrowthCurve.c (modified) (1 diff)
-
psphotMakeResiduals.c (modified) (1 diff)
-
psphotModelTest.c (modified) (1 diff)
-
psphotOutput.c (modified) (1 diff)
-
psphotReplaceUnfit.c (modified) (7 diffs)
-
psphotSourceFits.c (modified) (5 diffs)
-
psphotTestPSF.c (modified) (1 diff)
-
psphotWeightBias.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_02_branch/psphot/src/psphotAddNoise.c
r12952 r12957 63 63 PAR[PM_PAR_SXY] = newshape.sxy; 64 64 65 if (add) { 66 pmModelAdd (source->weight, source->mask, model, PM_MODEL_ADD_FULL); 67 } else { 68 pmModelSub (source->weight, source->mask, model, PM_MODEL_ADD_FULL); 69 } 65 // XXX if we use pmSourceOp, the size (and possibly Io) will not be respected 66 pmSourceOp (source, PM_MODEL_OP_FULL, add); 70 67 71 68 // restore original values -
branches/eam_02_branch/psphot/src/psphotBlendFit.c
r12955 r12957 43 43 44 44 // limit selection to some SN limit 45 // XXX this should use peak? 45 46 if (source->moments == NULL) continue; 46 47 if (source->moments->SN < FIT_SN_LIM) continue; 47 48 49 // XXX this should use peak? 48 50 if (source->moments->x < AnalysisRegion.x0) continue; 49 51 if (source->moments->y < AnalysisRegion.y0) continue; … … 65 67 // replace object in image 66 68 if (source->mode & PM_SOURCE_MODE_SUBTRACTED) { 67 // XXX we will need to remove the existing source->modelFlux if we do 68 // a non-linear fit 69 // pmSourceSub (!NORM, -) 70 pmModelAdd (source->pixels, source->mask, source->modelPSF, PM_MODEL_ADD_FULL); 69 pmSourceAdd (source, PM_MODEL_OP_FULL); 71 70 } 72 71 Nfit ++; 73 72 74 73 // try fitting PSFs, then try extended sources 74 // these functions subtract the resulting fitted source (XXX and update the modelFlux?) 75 75 if (psphotFitBlend (readout, source, psf)) { 76 76 psTrace ("psphot", 5, "source at %7.1f, %7.1f is psf", source->moments->x, source->moments->y); … … 87 87 Nfail ++; 88 88 89 // re-subtract PSF forobject, leave local sky90 pm ModelSub (source->pixels, source->mask, source->modelPSF, PM_MODEL_ADD_FULL);89 // re-subtract the object, leave local sky 90 pmSourceSub (source, PM_MODEL_OP_FULL); 91 91 source->mode |= PM_SOURCE_MODE_SUBTRACTED; 92 92 source->mode |= PM_SOURCE_MODE_TEMPSUB; -
branches/eam_02_branch/psphot/src/psphotChoosePSF.c
r12952 r12957 240 240 // set the mask and subtract the PSF model 241 241 psImageKeepCircle (source->mask, x, y, RADIUS, "OR", PM_MASK_MARK); 242 pmModelSub (source->pixels, source->mask, source->modelPSF, PM_MODEL_ ADD_FULL);242 pmModelSub (source->pixels, source->mask, source->modelPSF, PM_MODEL_OP_FULL); 243 243 psImageKeepCircle (source->mask, x, y, RADIUS, "AND", PS_NOT_U8(PM_MASK_MARK)); 244 244 } -
branches/eam_02_branch/psphot/src/psphotEnsemblePSF.c
r12952 r12957 91 91 92 92 // fill in the model pixel values 93 // XXX this function should just work with the (normalized) modelFlux pixels 94 // XXX we should not have to create a complete copy 95 // XXX review the use of the object mask: can we use a copied mask? 93 96 psImageInit (fitSource->pixels, 0.0); 94 97 psImageKeepCircle (fitSource->mask, x, y, model->radiusFit, "OR", PM_MASK_MARK); 95 pmModelAdd (fitSource->pixels, fitSource->mask, model, PM_MODEL_ ADD_FULL);98 pmModelAdd (fitSource->pixels, fitSource->mask, model, PM_MODEL_OP_FULL); 96 99 97 100 // save source in list … … 218 221 219 222 // subtract object 220 pmModelSub (Ri->pixels, Ri->mask, model, PM_MODEL_ ADD_FULL);223 pmModelSub (Ri->pixels, Ri->mask, model, PM_MODEL_OP_FULL); 221 224 Ri->mode |= PM_SOURCE_MODE_SUBTRACTED; 222 225 if (!final) Ri->mode |= PM_SOURCE_MODE_TEMPSUB; -
branches/eam_02_branch/psphot/src/psphotFitSet.c
r12952 r12957 24 24 } 25 25 26 // XXX pmSourceFitSet must cache the modelFlux? 26 27 pmSourceFitSet (source, modelSet, mode); 27 28 … … 32 33 for (int i = 0; i < modelSet->n; i++) { 33 34 pmModel *model = modelSet->data[i]; 34 pmModelSub (source->pixels, source->mask, model, PM_MODEL_ ADD_FULL);35 pmModelSub (source->pixels, source->mask, model, PM_MODEL_OP_FULL); 35 36 36 37 fprintf (stderr, "output parameters (obj %d):\n", i); -
branches/eam_02_branch/psphot/src/psphotGrowthCurve.c
r12952 r12957 54 54 55 55 psImageKeepCircle (mask, xc, yc, radius, "OR", PM_MASK_MARK); 56 pmModelAdd (image, mask, model, PM_MODEL_ ADD_FULL);56 pmModelAdd (image, mask, model, PM_MODEL_OP_FULL); 57 57 pmSourcePhotometryAper (&apMag, model, image, mask); 58 58 psImageKeepCircle (mask, xc, yc, radius, "AND", PS_NOT_U8(PM_MASK_MARK)); -
branches/eam_02_branch/psphot/src/psphotMakeResiduals.c
r12952 r12957 79 79 psImage *weight = psImageCopy (NULL, source->weight, PS_TYPE_F32); 80 80 psImage *mask = psImageCopy (NULL, source->mask, PS_TYPE_U8); 81 pmModelSub (image, mask, model, PM_MODEL_ ADD_FULL);81 pmModelSub (image, mask, model, PM_MODEL_OP_FULL); 82 82 83 83 // re-normalize image and weight -
branches/eam_02_branch/psphot/src/psphotModelTest.c
r12952 r12957 177 177 178 178 // subtract object, leave local sky 179 pmModelSub (source->pixels, source->mask, model, PM_MODEL_ ADD_FULL);179 pmModelSub (source->pixels, source->mask, model, PM_MODEL_OP_FULL); 180 180 181 181 fprintf (stderr, "output parameters: \n"); -
branches/eam_02_branch/psphot/src/psphotOutput.c
r12952 r12957 182 182 modelEXT->params->data.F32[3] = y; 183 183 pmModel *modelPSF = pmModelFromPSF (modelEXT, psf); 184 pmModelAdd (sample, NULL, modelPSF, PM_MODEL_ ADD_FULL);184 pmModelAdd (sample, NULL, modelPSF, PM_MODEL_OP_FULL); 185 185 psFree (modelPSF); 186 186 return (sample); -
branches/eam_02_branch/psphot/src/psphotReplaceUnfit.c
r12955 r12957 1 1 # include "psphotInternal.h" 2 2 3 // replace the flux for sources which failed 3 4 bool psphotReplaceUnfit (psArray *sources) { 4 5 … … 15 16 16 17 replace: 17 if (source->modelPSF == NULL) continue; 18 19 psTrace ("psphot", 3, "replacing object at %f,%f\n", 20 source->modelPSF->params->data.F32[PM_PAR_XPOS], source->modelPSF->params->data.F32[PM_PAR_YPOS]); 21 22 // why am i assuming below that this is a PSF? 23 // pmSourceAdd (!NORM, +) 24 pmModelAdd (source->pixels, source->mask, source->modelPSF, PM_MODEL_ADD_FULL); 18 pmSourceAdd (source, PM_MODEL_OP_FULL); 25 19 source->mode &= ~PM_SOURCE_MODE_SUBTRACTED; 26 20 source->mode &= ~PM_SOURCE_MODE_TEMPSUB; … … 42 36 if (!(source->mode & PM_SOURCE_MODE_SUBTRACTED)) continue; 43 37 44 // select appropriate model 45 pmModel *model = pmSourceGetModel (NULL, source); 46 if (model == NULL) continue; // model must be defined 47 48 psTrace ("psphot", 3, "replacing object at %f,%f\n", 49 model->params->data.F32[PM_PAR_XPOS], model->params->data.F32[PM_PAR_YPOS]); 50 51 // pmSourceAdd (source, !NORM, "+"); 52 // XXX remove model selection and ps 53 pmModelAdd (source->pixels, source->mask, model, PM_MODEL_ADD_FULL); 38 pmSourceAdd (source, PM_MODEL_OP_FULL); 54 39 source->mode &= ~PM_SOURCE_MODE_SUBTRACTED; 55 40 } … … 58 43 } 59 44 60 // add or sub source replace or if the source has45 // add source, if the source has been subtracted (or if we ignore the state) 61 46 bool psphotAddWithTest (pmSource *source, bool useState) { 62 47 … … 64 49 bool state = !(source->mode & PM_SOURCE_MODE_SUBTRACTED); 65 50 if (state && useState) return true; 66 67 // select appropriate model68 pmModel *model = pmSourceGetModel (NULL, source);69 if (model == NULL) return false; // model must be defined70 71 psTrace ("psphot", 3, "replacing object at %f,%f\n",72 model->params->data.F32[PM_PAR_XPOS], model->params->data.F32[PM_PAR_YPOS]);73 51 74 52 // replace the model if 1) state says it is missing or 2) useState is false (just do it) 75 53 if (!state || !useState) { 76 pm ModelAdd (source->pixels, source->mask, model, PM_MODEL_ADD_FULL);54 pmSourceAdd (source, PM_MODEL_OP_FULL); 77 55 } 78 56 return true; 79 57 } 80 58 81 // add or sub source replace or if the source has59 // sub source, if the source has been added (or if we ignore the state) 82 60 bool psphotSubWithTest (pmSource *source, bool useState) { 83 61 … … 86 64 if (state && useState) return true; 87 65 88 // select appropriate model89 pmModel *model = pmSourceGetModel (NULL, source);90 if (model == NULL) return false; // model must be defined91 92 psTrace ("psphot", 3, "replacing object at %f,%f\n",93 model->params->data.F32[PM_PAR_XPOS], model->params->data.F32[PM_PAR_YPOS]);94 95 66 // replace the model if 1) state says it is missing or 2) useState is false (just do it) 96 67 if (!state || !useState) { 97 // pmSourceSub (!NORM, -) 98 pmModelSub (source->pixels, source->mask, model, PM_MODEL_ADD_FULL); 68 pmSourceSub (source, PM_MODEL_OP_FULL); 99 69 } 100 70 return true; … … 107 77 bool newState = !(source->mode & PM_SOURCE_MODE_SUBTRACTED); 108 78 if (curState == newState) return true; 109 110 // select appropriate model111 pmModel *model = pmSourceGetModel (NULL, source);112 if (model == NULL) return false; // model must be defined113 114 psTrace ("psphot", 3, "replacing object at %f,%f\n",115 model->params->data.F32[PM_PAR_XPOS], model->params->data.F32[PM_PAR_YPOS]);116 79 117 80 if (curState && !newState) { 118 // pmSourceSub (!NORM, -) 119 pmModelSub (source->pixels, source->mask, model, PM_MODEL_ADD_FULL); 81 pmSourceSub (source, PM_MODEL_OP_FULL); 120 82 } 121 83 if (newState && !curState) { 122 // pmSourceAdd (!NORM, +) 123 pmModelAdd (source->pixels, source->mask, model, PM_MODEL_ADD_FULL); 84 pmSourceAdd (source, PM_MODEL_OP_FULL); 124 85 } 125 86 return true; -
branches/eam_02_branch/psphot/src/psphotSourceFits.c
r12952 r12957 110 110 blend->modelPSF = psMemIncrRefCounter (model); 111 111 psTrace ("psphot", 5, "fitted blend as PSF\n"); 112 pmModelSub (source->pixels, source->mask, model, PM_MODEL_ ADD_FULL);112 pmModelSub (source->pixels, source->mask, model, PM_MODEL_OP_FULL); 113 113 blend->mode |= PM_SOURCE_MODE_SUBTRACTED; 114 114 blend->mode &= ~PM_SOURCE_MODE_TEMPSUB; … … 128 128 129 129 psTrace ("psphot", 5, "fitted primary as PSF\n"); 130 pmModelSub (source->pixels, source->mask, PSF, PM_MODEL_ ADD_FULL);130 pmModelSub (source->pixels, source->mask, PSF, PM_MODEL_OP_FULL); 131 131 psFree (source->modelPSF); 132 132 source->modelPSF = PSF; … … 169 169 170 170 psTrace ("psphot", 5, "fitted as PSF\n"); 171 pmModelSub (source->pixels, source->mask, PSF, PM_MODEL_ ADD_FULL);171 pmModelSub (source->pixels, source->mask, PSF, PM_MODEL_OP_FULL); 172 172 173 173 // free old model, save new model … … 264 264 // sub EXT 265 265 psFree (DBL); 266 pmModelSub (source->pixels, source->mask, EXT, PM_MODEL_ ADD_FULL);266 pmModelSub (source->pixels, source->mask, EXT, PM_MODEL_OP_FULL); 267 267 psTrace ("psphot", 5, "blob as EXT: %f %f\n", EXT->params->data.F32[PM_PAR_XPOS], EXT->params->data.F32[PM_PAR_YPOS]); 268 268 … … 276 276 // sub DLB 277 277 psFree (EXT); 278 pmModelSub (source->pixels, source->mask, (pmModel *) DBL->data[0], PM_MODEL_ ADD_FULL);279 pmModelSub (source->pixels, source->mask, (pmModel *) DBL->data[1], PM_MODEL_ ADD_FULL);278 pmModelSub (source->pixels, source->mask, (pmModel *) DBL->data[0], PM_MODEL_OP_FULL); 279 pmModelSub (source->pixels, source->mask, (pmModel *) DBL->data[1], PM_MODEL_OP_FULL); 280 280 psTrace ("psphot", 5, "blob as DBL: %f %f\n", ONE->params->data.F32[PM_PAR_XPOS], ONE->params->data.F32[PM_PAR_YPOS]); 281 281 -
branches/eam_02_branch/psphot/src/psphotTestPSF.c
r12952 r12957 124 124 125 125 // subtract model flux 126 pmModelSub (source->pixels, source->mask, model, PM_MODEL_ ADD_FULL);126 pmModelSub (source->pixels, source->mask, model, PM_MODEL_OP_FULL); 127 127 } 128 128 fclose (f); -
branches/eam_02_branch/psphot/src/psphotWeightBias.c
r12952 r12957 5 5 // only allow the normalization to vary 6 6 // XXX eventually, we should be able to do this with linear fitting... 7 // XXX UNUSED 7 8 bool psphotWeightBias (pmReadout *readout, psArray *sources, psMetadata *recipe, pmPSF *psf) { 8 9 … … 59 60 60 61 // replace object in image 61 pmModelAdd (source->pixels, source->mask, source->modelPSF, PM_MODEL_ ADD_FULL);62 pmModelAdd (source->pixels, source->mask, source->modelPSF, PM_MODEL_OP_FULL); 62 63 63 64 // make a temporary model (we don't keep the result of this analysis) … … 76 77 77 78 // re-subtract PSF for object, leave local sky 78 pmModelSub (source->pixels, source->mask, source->modelPSF, PM_MODEL_ ADD_FULL);79 pmModelSub (source->pixels, source->mask, source->modelPSF, PM_MODEL_OP_FULL); 79 80 80 81 PARp = source->modelPSF->params->data.F32;
Note:
See TracChangeset
for help on using the changeset viewer.
