IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14994


Ignore:
Timestamp:
Sep 24, 2007, 9:11:02 AM (19 years ago)
Author:
eugene
Message:

convert to pmTrend2D for psf model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppSim/src/ppSimSetPSF.c

    r14818 r14994  
    66    bool status;
    77    pmPSF *psf = NULL;
    8     psPolynomial2D *param = NULL;
     8    pmTrend2D *param = NULL;
    99
    1010    // the pmPSF IO functions stores the PSF on the chip->analysis
     
    2323    }
    2424
    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) {
    2729        psError (PS_ERR_UNKNOWN, false, "invalid model name");
    2830        return false;
    2931    }
    3032
    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;
    3437
    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);
    4640
    4741    psEllipseAxes axes;
     
    5448
    5549    pol = psEllipseAxesToPol (axes);
    56 
     50   
     51   
    5752    param = psf->params->data[PM_PAR_E0];
    58     param->coeff[0][0] = pol.e0;
     53    param->poly->coeff[0][0] = pol.e0;
    5954
    6055    param = psf->params->data[PM_PAR_E1];
    61     param->coeff[0][0] = pol.e1;
     56    param->poly->coeff[0][0] = pol.e1;
    6257
    6358    param = psf->params->data[PM_PAR_E2];
    64     param->coeff[0][0] = pol.e2;
     59    param->poly->coeff[0][0] = pol.e2;
    6560
    6661    if (!strcasecmp (psfModelName, "PS_MODEL_QGAUSS")) {
    6762        param = psf->params->data[PM_PAR_7];
    68         param->coeff[0][0] = 1.0;
     63        param->poly->coeff[0][0] = 1.0;
    6964    }
    7065
    7166    if (!strcasecmp (psfModelName, "PS_MODEL_RGAUSS")) {
    7267        param = psf->params->data[PM_PAR_7];
    73         param->coeff[0][0] = 1.0;
     68        param->poly->coeff[0][0] = 1.0;
    7469    }
    7570
Note: See TracChangeset for help on using the changeset viewer.