IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 22, 2007, 3:47:28 AM (19 years ago)
Author:
eugene
Message:

fix compilation issues re pmTrend for psf parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20070921/psModules/src/objects/pmPSF.c

    r14980 r14986  
    66 *  @author EAM, IfA
    77 *
    8  *  @version $Revision: 1.28.2.3 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2007-09-22 02:20:11 $
     8 *  @version $Revision: 1.28.2.4 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2007-09-22 13:47:28 $
    1010 *
    1111 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    6767    options->psfTrendNy    = 0;
    6868
    69     options->poissonErrors = false;
     69    options->poissonErrorsPhotLMM = true;
     70    options->poissonErrorsPhotLin = false;
     71    options->poissonErrorsParams  = true;
     72
     73    return options;
    7074}
    7175
     
    115119    psf->nPSFstars  = 0;
    116120    psf->nApResid   = 0;
    117     psf->poissonErrors = options->poissonErrors;
     121
     122    psf->poissonErrorsPhotLMM = options->poissonErrorsPhotLMM;
     123    psf->poissonErrorsPhotLin = options->poissonErrorsPhotLin;
     124    psf->poissonErrorsParams = options->poissonErrorsParams;
    118125
    119126    // the ApTrend components are (x, y).  It may be represented with a polynomial or with a
     
    128135    psf->FluxScale = NULL;
    129136
    130     if (psf->poissonErrors) {
     137    if (psf->poissonErrorsPhotLMM) {
    131138        psf->ChiTrend = psPolynomial1DAlloc (PS_POLYNOMIAL_ORD, 1);
    132139    } else {
     
    140147    psf->residuals = NULL;
    141148
    142     Nparams = pmModelClassParameterCount (type);
     149    Nparams = pmModelClassParameterCount (options->type);
    143150    if (!Nparams) {
    144151        psError(PS_ERR_UNKNOWN, true, "Undefined pmModelType");
     
    156163    // are left as NULL.  these are selected by testing for them by the named values (
    157164    // PM_PAR_XPOS, etc)
     165
     166    psf->Nx = options->image->numCols;
     167    psf->Ny = options->image->numRows;
    158168
    159169    // define the parameter trends
     
    293303
    294304// generate a psf model of the requested type, with fixed shape
    295 // XXX update this.
    296305pmPSF *pmPSFBuildSimple (char *typeName, float sxx, float syy, float sxy, ...)
    297306{
     
    300309    va_start(ap, sxy);
    301310
    302     pmModelType type = pmModelClassGetType (typeName);
    303     psPolynomial2D *psfTrend = psPolynomial2DAlloc (PS_POLYNOMIAL_ORD, 0, 0);
    304     pmPSF *psf = pmPSFAlloc (type, true, psfTrend);
     311    pmPSFOptions *options = pmPSFOptionsAlloc ();
     312    options->type = pmModelClassGetType (typeName);
     313    options->psfTrendMode = PM_TREND_POLY_ORD;
     314    options->psfTrendNx = 0;
     315    options->psfTrendNy = 0;
     316
     317    pmPSF *psf = pmPSFAlloc (options);
    305318
    306319    psVector *par = psVectorAlloc (psf->params->n, PS_TYPE_F32);
     
    311324    psEllipsePol pol = pmPSF_ModelToFit(par->data.F32);
    312325
     326    pmTrend2D *trend = NULL;
     327
    313328    // set the psf shape parameters
    314     psPolynomial2D *poly = NULL;
    315     poly = psf->params->data[PM_PAR_E0];
    316     poly->coeff[0][0] = pol.e0;
    317 
    318     poly = psf->params->data[PM_PAR_E1];
    319     poly->coeff[0][0] = pol.e1;
    320 
    321     poly = psf->params->data[PM_PAR_E2];
    322     poly->coeff[0][0] = pol.e2;
     329    trend = psf->params->data[PM_PAR_E0];
     330    trend->poly->coeff[0][0] = pol.e0;
     331
     332    trend = psf->params->data[PM_PAR_E1];
     333    trend->poly->coeff[0][0] = pol.e1;
     334
     335    trend = psf->params->data[PM_PAR_E2];
     336    trend->poly->coeff[0][0] = pol.e2;
    323337
    324338    for (int i = PM_PAR_SXY + 1; i < psf->params->n; i++) {
    325         poly = psf->params->data[i];
    326         poly->coeff[0][0] = (psF32)va_arg(ap, psF64);
     339        trend = psf->params->data[i];
     340        trend->poly->coeff[0][0] = (psF32)va_arg(ap, psF64);
    327341    }
    328342    va_end(ap);
    329343
    330344    psFree (par);
    331     psFree (psfTrend);
     345    psFree (options);
    332346    return psf;
    333347}
Note: See TracChangeset for help on using the changeset viewer.