Changeset 14325
- Timestamp:
- Jul 19, 2007, 2:31:43 PM (19 years ago)
- Location:
- trunk/psModules/src/objects
- Files:
-
- 2 edited
-
models/pmModel_SERSIC.c (modified) (4 diffs)
-
pmModelGroup.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects/models/pmModel_SERSIC.c
r14324 r14325 51 51 52 52 psF32 f2 = pow(z,PAR[PM_PAR_7]); 53 psF32 f1 = exp(- z);53 psF32 f1 = exp(-f2); 54 54 psF32 z0 = PAR[PM_PAR_I0]*f1; 55 55 psF32 f0 = PAR[PM_PAR_SKY] + z0; 56 56 57 assert (isfinite(f2)); 58 assert (isfinite(f1)); 59 assert (isfinite(z0)); 60 assert (isfinite(f0)); 61 57 62 if (deriv != NULL) { 58 63 psF32 *dPAR = deriv->data.F32; 59 64 60 // note difference from a pure gaussian: q = params->data.F32[PM_PAR_I0]*r 61 psF32 z1 = z0*PAR[PM_PAR_7]*pow(z,PAR[PM_PAR_7] - 1.0);65 // gradient is infinite for z = 0; saturate at z = 0.01 66 psF32 z1 = (z < 0.01) ? z0*PAR[PM_PAR_7]*pow(0.01,PAR[PM_PAR_7] - 1.0) : z0*PAR[PM_PAR_7]*pow(z,PAR[PM_PAR_7] - 1.0); 62 67 63 68 dPAR[PM_PAR_SKY] = +1.0; 64 69 dPAR[PM_PAR_I0] = +f1; 65 70 dPAR[PM_PAR_7] = (z == 0.0) ? 0.0 : -z0*f2*log(z); 71 72 assert (isfinite(z1)); 73 assert (isfinite(dPAR[PM_PAR_7])); 66 74 67 75 dPAR[PM_PAR_XPOS] = +1.0*z1*(2.0*px/PAR[PM_PAR_SXX] + Y*PAR[PM_PAR_SXY]); … … 70 78 dPAR[PM_PAR_SYY] = +2.0*z1*py*py/PAR[PM_PAR_SYY]; 71 79 dPAR[PM_PAR_SXY] = -1.0*z1*X*Y; 72 } 73 return(f); 80 dPAR[PM_PAR_SXY] = -1.0*z1*X*Y; 81 } 82 return (f0); 74 83 } 75 84 … … 156 165 break; 157 166 case PM_PAR_7: 158 params_min = 0. 1;167 params_min = 0.25; 159 168 break; 160 169 default: … … 244 253 PAR[PM_PAR_SYY] = PS_MAX(0.5, M_SQRT2*shape.sy); 245 254 PAR[PM_PAR_SXY] = shape.sxy; 246 PAR[PM_PAR_7] = 1.0;255 PAR[PM_PAR_7] = 0.5; 247 256 248 257 return(true); -
trunk/psModules/src/objects/pmModelGroup.c
r14324 r14325 6 6 * @author EAM, IfA 7 7 * 8 * @version $Revision: 1.1 6$ $Name: not supported by cvs2svn $9 * @date $Date: 2007-07-20 00: 27:59$8 * @version $Revision: 1.17 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2007-07-20 00:31:43 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 48 48 {"PS_MODEL_PGAUSS", 7, pmModelFunc_PGAUSS, pmModelFlux_PGAUSS, pmModelRadius_PGAUSS, pmModelLimits_PGAUSS, pmModelGuess_PGAUSS, pmModelFromPSF_PGAUSS, pmModelFitStatus_PGAUSS}, 49 49 {"PS_MODEL_QGAUSS", 8, pmModelFunc_QGAUSS, pmModelFlux_QGAUSS, pmModelRadius_QGAUSS, pmModelLimits_QGAUSS, pmModelGuess_QGAUSS, pmModelFromPSF_QGAUSS, pmModelFitStatus_QGAUSS}, 50 {"PS_MODEL_RGAUSS", 8, pmModelFunc_RGAUSS, pmModelFlux_RGAUSS, pmModelRadius_RGAUSS, pmModelLimits_RGAUSS, pmModelGuess_RGAUSS, pmModelFromPSF_RGAUSS, pmModelFitStatus_RGAUSS} 50 {"PS_MODEL_RGAUSS", 8, pmModelFunc_RGAUSS, pmModelFlux_RGAUSS, pmModelRadius_RGAUSS, pmModelLimits_RGAUSS, pmModelGuess_RGAUSS, pmModelFromPSF_RGAUSS, pmModelFitStatus_RGAUSS}, 51 51 {"PS_MODEL_SERSIC", 8, pmModelFunc_SERSIC, pmModelFlux_SERSIC, pmModelRadius_SERSIC, pmModelLimits_SERSIC, pmModelGuess_SERSIC, pmModelFromPSF_SERSIC, pmModelFitStatus_SERSIC} 52 52 };
Note:
See TracChangeset
for help on using the changeset viewer.
