Changeset 42093 for trunk/psModules/src/objects/pmModelUtils.c
- Timestamp:
- Feb 28, 2022, 2:52:56 PM (4 years ago)
- Location:
- trunk/psModules
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/objects/pmModelUtils.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules
- Property svn:mergeinfo changed
-
trunk/psModules/src/objects/pmModelUtils.c
r36859 r42093 179 179 // Reff says if this is a model which uses R_eff (like exp or dev) instead of Sigma 180 180 // set the parameter values SXX, SXY, SYY 181 bool pmModelSetShape (float *Sxx, float *Sxy, float *Syy, pmMoments *moments, bool useReff) { 181 // Scale allows some models to increase the guess size relative to Mxx,Myy 182 bool pmModelSetShape (float *Sxx, float *Sxy, float *Syy, pmMoments *moments, bool useReff, float Scale) { 182 183 183 184 psEllipseMoments emoments; … … 190 191 191 192 if (!isfinite(axes.major)) return false; 192 if (axes.major == 0) return false;193 193 if (!isfinite(axes.minor)) return false; 194 194 if (!isfinite(axes.theta)) return false; 195 if (axes.major == 0) return false; 196 195 196 // set a lower limit to avoid absurd solutions.. 197 // NOTE: I should set the lower limit based on the PSF size, if known 198 float Rmajor = PS_MAX(1.0, Scale * axes.major); 199 float Rminor = Rmajor * (axes.minor / axes.major); 200 axes.major = Rmajor; 201 axes.minor = Rminor; 202 203 // EAM 2022.02.05 : Mrf is often much too large, disable this for now 197 204 // Mxx, Mxy, Myy define the elliptical shape, but Mrf defines the width 198 float scale = (isfinite(moments->Mrf) && (moments->Mrf > 0.0)) ? moments->Mrf / axes.major : 1.0;199 axes.major *= scale;200 axes.minor *= scale;205 // float scale = (isfinite(moments->Mrf) && (moments->Mrf > 0.0)) ? moments->Mrf / axes.major : 1.0; 206 // axes.major *= scale; 207 // axes.minor *= scale; 201 208 202 209 pmModelAxesToParams (Sxx, Sxy, Syy, axes, useReff);
Note:
See TracChangeset
for help on using the changeset viewer.
