Changeset 9528 for trunk/psModules/src/objects/models/pmModel_QGAUSS.c
- Timestamp:
- Oct 12, 2006, 4:29:14 PM (20 years ago)
- File:
-
- 1 edited
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)
Note:
See TracChangeset
for help on using the changeset viewer.
