Changeset 26893 for trunk/psModules/src/objects/pmPSF.c
- Timestamp:
- Feb 10, 2010, 7:34:39 PM (16 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/objects/pmPSF.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects/pmPSF.c
r24206 r26893 42 42 #include "pmErrorCodes.h" 43 43 44 45 #define MAX_AXIS_RATIO 20.0 // Maximum axis ratio for PSF model 46 44 47 /*****************************************************************************/ 45 48 /* FUNCTION IMPLEMENTATION - PUBLIC */ … … 405 408 return psf; 406 409 } 410 411 412 float pmPSFtoFWHM(const pmPSF *psf, float x, float y) 413 { 414 PS_ASSERT_PTR_NON_NULL(psf, NAN); 415 416 pmModel *model = pmModelFromPSFforXY(psf, x, y, 1.0); // Model of source 417 if (!model) { 418 psError(PS_ERR_UNKNOWN, false, "Unable to determine PSF model at %f,%f\n", x, y); 419 return NAN; 420 } 421 psF32 *params = model->params->data.F32; // Model parameters 422 psEllipseAxes axes = pmPSF_ModelToAxes(params, MAX_AXIS_RATIO); // Ellipse axes 423 424 // Curiously, the minor axis can be larger than the major axis, so need to check. 425 float fwhm = 2.355 * PS_MAX(axes.minor, axes.major); // FWHM, converted from sigma 426 427 psFree(model); 428 429 return fwhm; 430 }
Note:
See TracChangeset
for help on using the changeset viewer.
