Changeset 14994 for trunk/ppSim/src/ppSimSetPSF.c
- Timestamp:
- Sep 24, 2007, 9:11:02 AM (19 years ago)
- File:
-
- 1 edited
-
trunk/ppSim/src/ppSimSetPSF.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppSim/src/ppSimSetPSF.c
r14818 r14994 6 6 bool status; 7 7 pmPSF *psf = NULL; 8 p sPolynomial2D *param = NULL;8 pmTrend2D *param = NULL; 9 9 10 10 // the pmPSF IO functions stores the PSF on the chip->analysis … … 23 23 } 24 24 25 pmModelType type = pmModelClassGetType (psfModelName); 26 if (type == -1) { 25 // structure to store user options defining the psf 26 pmPSFOptions *options = pmPSFOptionsAlloc (); 27 options->type = pmModelClassGetType (psfModelName); 28 if (options->type == -1) { 27 29 psError (PS_ERR_UNKNOWN, false, "invalid model name"); 28 30 return false; 29 31 } 30 32 31 // generate a psf with no spatial variation 32 psf = pmPSFAlloc (type, true, NULL); 33 for (int i = 0; i < psf->params->n; i++) { 33 // no spatial variation 34 options->psfTrendMode = PM_TREND_POLY_ORD; 35 options->psfTrendNx = 0; 36 options->psfTrendNy = 0; 34 37 35 if (i == PM_PAR_SKY) continue; 36 if (i == PM_PAR_I0) continue; 37 if (i == PM_PAR_XPOS) continue; 38 if (i == PM_PAR_YPOS) continue; 39 40 // generate a 'constant' polynomial, unmasked 41 param = psPolynomial2DAlloc(PS_POLYNOMIAL_ORD, 0, 0); 42 param->mask[0][0] = 0; 43 44 psf->params->data[i] = param; 45 } 38 // generate the psf 39 psf = pmPSFAlloc (options); 46 40 47 41 psEllipseAxes axes; … … 54 48 55 49 pol = psEllipseAxesToPol (axes); 56 50 51 57 52 param = psf->params->data[PM_PAR_E0]; 58 param-> coeff[0][0] = pol.e0;53 param->poly->coeff[0][0] = pol.e0; 59 54 60 55 param = psf->params->data[PM_PAR_E1]; 61 param-> coeff[0][0] = pol.e1;56 param->poly->coeff[0][0] = pol.e1; 62 57 63 58 param = psf->params->data[PM_PAR_E2]; 64 param-> coeff[0][0] = pol.e2;59 param->poly->coeff[0][0] = pol.e2; 65 60 66 61 if (!strcasecmp (psfModelName, "PS_MODEL_QGAUSS")) { 67 62 param = psf->params->data[PM_PAR_7]; 68 param-> coeff[0][0] = 1.0;63 param->poly->coeff[0][0] = 1.0; 69 64 } 70 65 71 66 if (!strcasecmp (psfModelName, "PS_MODEL_RGAUSS")) { 72 67 param = psf->params->data[PM_PAR_7]; 73 param-> coeff[0][0] = 1.0;68 param->poly->coeff[0][0] = 1.0; 74 69 } 75 70
Note:
See TracChangeset
for help on using the changeset viewer.
