IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 6441


Ignore:
Timestamp:
Feb 16, 2006, 4:51:07 PM (20 years ago)
Author:
eugene
Message:

fixing memory issues, converging with pslib v.10

Location:
trunk/psphot/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/psphot/src/pmSourceFitSet.c

    r6379 r6441  
    143143    psMinimization *myMin = psMinimizationAlloc(PM_SOURCE_FIT_MODEL_NUM_ITERATIONS,
    144144                            PM_SOURCE_FIT_MODEL_TOLERANCE);
     145    psMinConstrain *constrain = psMinConstrainAlloc();
     146    constrain->paramMask = paramMask;
    145147
    146148    // Set the parameter range checks
    147149    pmModelLimits modelLimits = pmModelLimits_GetFunction (model->type);
    148     psVector *beta_lim = NULL;
    149     psVector *params_min = NULL;
    150     psVector *params_max = NULL;
    151 
    152     // XXX EAM : in this implementation, I pass in the limits with the covar matrix.
    153     //           in the SDRS, I define a new psMinimization which will take these in
    154     psImage *covar = psImageAlloc (params->n, 3, PS_TYPE_F64);
    155     modelLimits (&beta_lim, &params_min, &params_max);
    156     for (int i = 0; i < nSrc; i++) {
    157         for (int n = 1; n < nPar; n++) {
    158             covar->data.F64[0][i*nPar + n] = beta_lim->data.F32[n];
    159             covar->data.F64[1][i*nPar + n] = params_min->data.F32[n];
    160             covar->data.F64[2][i*nPar + n] = params_max->data.F32[n];
    161         }
    162     }
    163     covar->data.F64[0][0] = beta_lim->data.F32[0];
    164     covar->data.F64[1][0] = params_min->data.F32[0];
    165     covar->data.F64[2][0] = params_max->data.F32[0];
     150    modelLimits (&constrain->paramDelta, &constrain->paramMin, &constrain->paramMax);
     151
     152    psImage *covar = psImageAlloc (params->n, params->n, PS_TYPE_F64);
    166153
    167154    psTrace (".pmObjects.pmSourceFitSet", 5, "fitting function\n");
    168     fitStatus = psMinimizeLMChi2(myMin, covar, params, paramMask, x, y, yErr, pmModelFitSet);
     155    fitStatus = psMinimizeLMChi2(myMin, covar, params, constrain, x, y, yErr, pmModelFitSet);
    169156
    170157    // parameter errors from the covariance matrix
     
    221208    psFree(myMin);
    222209    psFree(covar);
    223     psFree(paramMask);
     210    psFree(constrain->paramMask);
     211    psFree(constrain->paramMin);
     212    psFree(constrain->paramMax);
     213    psFree(constrain->paramDelta);
     214    psFree(constrain);
    224215    psFree(params);
    225216    psFree(dparams);
    226     psFree(params_min);
    227     psFree(params_max);
    228     psFree(beta_lim);
    229217
    230218    // free static memory used by pmModelFitSet
  • trunk/psphot/src/psPolynomialUtils.c

    r5993 r6441  
    127127    double Foo = Fym + Fyp + Fo[-1] + Fo[+0] + Fo[+1];
    128128
    129     psPolynomial2D *poly = psPolynomial2DAlloc (2, 2, PS_POLYNOMIAL_ORD);
     129    psPolynomial2D *poly = psPolynomial2DAlloc (PS_POLYNOMIAL_ORD, 2, 2);
    130130    poly->mask[2][2] = 1;
    131131    poly->mask[1][2] = 1;
  • trunk/psphot/src/psphotImageBackground.c

    r6319 r6441  
    4040    x->n = y->n = z->n = Nout;
    4141
    42     psPolynomial2D *skyModel = psPolynomial2DAlloc(1, 1, PS_POLYNOMIAL_ORD);
     42    psPolynomial2D *skyModel = psPolynomial2DAlloc(PS_POLYNOMIAL_ORD, 1, 1);
    4343    skyModel->mask[1][1] = 1;
    4444
  • trunk/psphot/src/psphotImageMedian.c

    r6427 r6441  
    213213    psLogMsg ("psphot", 3, "subtracted background model: %f sec\n", psTimerMark ("psphot"));
    214214    psFree (rnd);
     215    psFree (model);
    215216    return (background);
    216217}
  • trunk/psphot/src/psphotReadout.c

    r6427 r6441  
    5656    // free up the local copies of the data
    5757    psFree (psf);
     58    psFree (sources);
    5859    psFree (peaks);
    59     psFree (sources);
    6060    psFree (skymodel);
    61 
    6261    return true;
    6362}
Note: See TracChangeset for help on using the changeset viewer.