Changeset 9528 for trunk/psModules
- Timestamp:
- Oct 12, 2006, 4:29:14 PM (20 years ago)
- Location:
- trunk/psModules/src/objects
- Files:
-
- 6 edited
-
models/pmModel_QGAUSS.c (modified) (11 diffs)
-
pmModel.h (modified) (2 diffs)
-
pmPSFtry.c (modified) (3 diffs)
-
pmSourceFitModel.c (modified) (2 diffs)
-
pmSourceIO_OBJ.c (modified) (2 diffs)
-
pmSourcePhotometry.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects/models/pmModel_QGAUSS.c
r9526 r9528 5 5 6 6 params->data.F32[PM_PAR_SKY] = So; 7 params->data.F32[PM_PAR_ FLUX] = Zo;7 params->data.F32[PM_PAR_I0] = Zo; 8 8 params->data.F32[PM_PAR_XPOS] = Xo; 9 9 params->data.F32[PM_PAR_YPOS] = Yo; … … 32 32 psF32 r = 1.0 / (1 + PAR[PM_PAR_7]*z + z*zp); 33 33 34 psF32 r1 = PAR[PM_PAR_ FLUX]*r;34 psF32 r1 = PAR[PM_PAR_I0]*r; 35 35 psF32 f = r1 + PAR[PM_PAR_SKY]; 36 36 … … 38 38 psF32 *dPAR = deriv->data.F32; 39 39 40 // note difference from a pure gaussian: q = params->data.F32[PM_PAR_ FLUX]*r40 // note difference from a pure gaussian: q = params->data.F32[PM_PAR_I0]*r 41 41 psF32 t = r1*r; 42 42 psF32 q = t*(PAR[PM_PAR_7] + 2.25*zp); 43 43 44 44 dPAR[PM_PAR_SKY] = +1.0; 45 dPAR[PM_PAR_ FLUX] = +r;45 dPAR[PM_PAR_I0] = +r; 46 46 dPAR[PM_PAR_XPOS] = q*(2.0*px*PAR[PM_PAR_SXX] + PAR[PM_PAR_SXY]*Y); 47 47 dPAR[PM_PAR_YPOS] = q*(2.0*py*PAR[PM_PAR_SYY] + PAR[PM_PAR_SXY]*X); … … 65 65 66 66 beta_lim[0][0].data.F32[PM_PAR_SKY] = 1000; 67 beta_lim[0][0].data.F32[PM_PAR_ FLUX] = 3e6;67 beta_lim[0][0].data.F32[PM_PAR_I0] = 3e6; 68 68 beta_lim[0][0].data.F32[PM_PAR_XPOS] = 5; 69 69 beta_lim[0][0].data.F32[PM_PAR_YPOS] = 5; … … 74 74 75 75 params_min[0][0].data.F32[PM_PAR_SKY] = -1000; 76 params_min[0][0].data.F32[PM_PAR_ FLUX] = 0;76 params_min[0][0].data.F32[PM_PAR_I0] = 0; 77 77 params_min[0][0].data.F32[PM_PAR_XPOS] = -100; 78 78 params_min[0][0].data.F32[PM_PAR_YPOS] = -100; … … 83 83 84 84 params_max[0][0].data.F32[PM_PAR_SKY] = 1e5; 85 params_max[0][0].data.F32[PM_PAR_ FLUX] = 1e8;85 params_max[0][0].data.F32[PM_PAR_I0] = 1e8; 86 86 params_max[0][0].data.F32[PM_PAR_XPOS] = 1e4; // this should be set by image dimensions! 87 87 params_max[0][0].data.F32[PM_PAR_YPOS] = 1e4; // this should be set by image dimensions! … … 103 103 104 104 params[PM_PAR_SKY] = moments->Sky; 105 params[PM_PAR_ FLUX] = moments->Peak - moments->Sky;105 params[PM_PAR_I0] = moments->Peak - moments->Sky; 106 106 params[PM_PAR_XPOS] = peak->x; 107 107 params[PM_PAR_YPOS] = peak->y; … … 143 143 norm *= DZ / 3.0; 144 144 145 psF64 Flux = PAR[PM_PAR_ FLUX] * Area * norm;145 psF64 Flux = PAR[PM_PAR_I0] * Area * norm; 146 146 147 147 return(Flux); … … 158 158 if (flux <= 0) 159 159 return (1.0); 160 if (PAR[PM_PAR_ FLUX] <= 0)160 if (PAR[PM_PAR_I0] <= 0) 161 161 return (1.0); 162 if (flux >= PAR[PM_PAR_ FLUX])162 if (flux >= PAR[PM_PAR_I0]) 163 163 return (1.0); 164 164 165 165 // if Sx == Sy, sigma = Sx == Sy 166 166 psF64 sigma = hypot (1.0 / PAR[PM_PAR_SXX], 1.0 / PAR[PM_PAR_SYY]) / sqrt(2.0); 167 psF64 limit = flux / PAR[PM_PAR_ FLUX];167 psF64 limit = flux / PAR[PM_PAR_I0]; 168 168 169 169 # if 0 … … 225 225 226 226 out[PM_PAR_SKY] = in[PM_PAR_SKY]; 227 out[PM_PAR_ FLUX] = in[PM_PAR_FLUX];227 out[PM_PAR_I0] = in[PM_PAR_I0]; 228 228 out[PM_PAR_XPOS] = in[PM_PAR_XPOS]; 229 229 out[PM_PAR_YPOS] = in[PM_PAR_YPOS]; … … 255 255 status = true; 256 256 status &= (dP < 0.5); 257 status &= (PAR[PM_PAR_ FLUX] > 0);258 status &= ((dPAR[PM_PAR_ FLUX]/PAR[PM_PAR_FLUX]) < 0.5);257 status &= (PAR[PM_PAR_I0] > 0); 258 status &= ((dPAR[PM_PAR_I0]/PAR[PM_PAR_I0]) < 0.5); 259 259 260 260 if (!status) -
trunk/psModules/src/objects/pmModel.h
r8882 r9528 6 6 * @author EAM, IfA 7 7 * 8 * @version $Revision: 1. 3$ $Name: not supported by cvs2svn $9 * @date $Date: 2006- 09-22 12:24:38$8 * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-10-13 02:29:14 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 54 54 * may/will correspond to different parameters in different contexts 55 55 */ 56 #define PM_PAR_SKY 0 // Sky57 #define PM_PAR_ FLUX 1 // Flux58 #define PM_PAR_XPOS 2 // X centre of object59 #define PM_PAR_YPOS 3 // Y centre of object60 #define PM_PAR_SXX 4 // shape X^2 moment61 #define PM_PAR_SYY 5 // shape Y^2 moment62 #define PM_PAR_SXY 6 // shape XY moment63 #define PM_PAR_7 7 // ??? Unknown parameter64 #define PM_PAR_8 8 // ??? Unknown parameter56 #define PM_PAR_SKY 0 ///< Sky 57 #define PM_PAR_I0 1 ///< Central intensity 58 #define PM_PAR_XPOS 2 ///< X centre of object 59 #define PM_PAR_YPOS 3 ///< Y centre of object 60 #define PM_PAR_SXX 4 ///< shape X^2 moment 61 #define PM_PAR_SYY 5 ///< shape Y^2 moment 62 #define PM_PAR_SXY 6 ///< shape XY moment 63 #define PM_PAR_7 7 ///< ??? Unknown parameter 64 #define PM_PAR_8 8 ///< ??? Unknown parameter 65 65 66 66 /** pmModelAlloc() -
trunk/psModules/src/objects/pmPSFtry.c
r9316 r9528 5 5 * @author EAM, IfA 6 6 * 7 * @version $Revision: 1.1 7$ $Name: not supported by cvs2svn $8 * @date $Date: 2006-10- 05 23:40:52$7 * @version $Revision: 1.18 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2006-10-13 02:29:14 $ 9 9 * 10 10 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 191 191 psTrace ("psphot.psftry", 3, "keeping %d of %ld PSF candidates (PSF)\n", Npsf, sources->n); 192 192 193 // measure the chi-square trend as a function of flux (PAR[PM_PAR_ FLUX])193 // measure the chi-square trend as a function of flux (PAR[PM_PAR_I0]) 194 194 // this should be linear for Poisson errors and quadratic for constant sky errors 195 195 psVector *flux = psVectorAlloc (psfTry->sources->n, PS_TYPE_F64); … … 206 206 mask->data.U8[i] = 1; 207 207 } else { 208 flux->data.F64[i] = model->params->data.F32[PM_PAR_ FLUX];208 flux->data.F64[i] = model->params->data.F32[PM_PAR_I0]; 209 209 chisq->data.F64[i] = model[0].chisq/model[0].nDOF; 210 210 mask->data.U8[i] = 0; -
trunk/psModules/src/objects/pmSourceFitModel.c
r9526 r9528 6 6 * @author GLG, MHPCC 7 7 * 8 * @version $Revision: 1.1 0$ $Name: not supported by cvs2svn $9 * @date $Date: 2006-10-13 02:2 3:55$8 * @version $Revision: 1.11 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-10-13 02:29:14 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 136 136 // NORM-only model fits only source normalization (Io) 137 137 nParams = 1; 138 paramMask->data.U8[PM_PAR_ FLUX] = 0;138 paramMask->data.U8[PM_PAR_I0] = 0; 139 139 break; 140 140 case PM_SOURCE_FIT_PSF: 141 141 // PSF model only fits x,y,Io 142 142 nParams = 3; 143 paramMask->data.U8[PM_PAR_ FLUX] = 0;143 paramMask->data.U8[PM_PAR_I0] = 0; 144 144 paramMask->data.U8[PM_PAR_XPOS] = 0; 145 145 paramMask->data.U8[PM_PAR_YPOS] = 0; -
trunk/psModules/src/objects/pmSourceIO_OBJ.c
r8882 r9528 3 3 * @author EAM, IfA 4 4 * 5 * @version $Revision: 1. 5$ $Name: not supported by cvs2svn $6 * @date $Date: 2006- 09-22 12:24:38$5 * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-10-13 02:29:14 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 62 62 dPAR = model->dparams->data.F32; 63 63 64 dmag = dPAR[PM_PAR_ FLUX] / PAR[PM_PAR_FLUX];64 dmag = dPAR[PM_PAR_I0] / PAR[PM_PAR_I0]; 65 65 type = pmSourceDophotType (source); 66 66 if ((source->apMag < 99.0) && (source->psfMag < 99.0)) { -
trunk/psModules/src/objects/pmSourcePhotometry.c
r9527 r9528 3 3 * @author EAM, IfA; GLG, MHPCC 4 4 * 5 * @version $Revision: 1. 9$ $Name: not supported by cvs2svn $6 * @date $Date: 2006-10-13 02:2 4:34 $5 * @version $Revision: 1.10 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-10-13 02:29:14 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 95 95 } 96 96 97 if (model->dparams->data.F32[PM_PAR_ FLUX] > 0) {98 SN = model->params->data.F32[PM_PAR_ FLUX] / model->dparams->data.F32[PM_PAR_FLUX];97 if (model->dparams->data.F32[PM_PAR_I0] > 0) { 98 SN = model->params->data.F32[PM_PAR_I0] / model->dparams->data.F32[PM_PAR_I0]; 99 99 source->errMag = 1.0 / SN; 100 100 } else {
Note:
See TracChangeset
for help on using the changeset viewer.
