IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 22, 2007, 3:09:08 PM (19 years ago)
Author:
eugene
Message:

update to pmModel apis: no longer need void * types in embedded functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20070817/psphot/src/models/pmModel_STRAIL.c

    r14545 r14619  
    475475 
    476476//fixed I think...no good way of guessing as far as I can tell
    477 bool PM_MODEL_GUESS (void *inModel, void *inSource)
     477bool PM_MODEL_GUESS (pmModel *model, pmSource *source)
    478478{
    479     pmModel *model = inModel;
    480     pmSource *source = inSource;
    481 
    482479    pmMoments *Smoments = source->moments;
    483480    psF32     *params  = model->params->data.F32;
     
    520517 
    521518//fixed
    522 bool PM_MODEL_FROM_PSF (void *inModelPSF, void *inModelFLT, void *inPSF)
     519bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, pmPSF *psf)
    523520{
    524     pmModel *modelPSF = inModelPSF;
    525     pmModel *modelFLT = inModelFLT;
    526     pmPSF *psf = inPSF;
    527  
    528521    psF32 *out = modelPSF->params->data.F32;
    529522    psF32 *in  = modelFLT->params->data.F32;
     
    537530 
    538531    for (int i = 4; i < 7; i++) {
    539       psPolynomial2D *poly = psf->params_NEW->data[i-4];
     532      psPolynomial2D *poly = psf->params->data[i-4];
    540533        out[i] = psPolynomial2DEval (poly, out[2], out[3]);
    541534    }
     
    545538// construct the PSF model from the FLT model and the psf
    546539// XXX is this sufficiently general do be a global function, not a pmModelClass function?
    547 bool PM_MODEL_PARAMS_FROM_PSF (void *inModel, void *inPSF, float Xo, float Yo, float Io)
     540bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, pmPSF *psf, float Xo, float Yo, float Io)
    548541{
    549     pmModel *model = inModel;
    550     pmPSF *psf = inPSF;
    551 
    552542    psF32 *PAR = model->params->data.F32;
    553543
    554544    // we require these two parameters to exist
    555     assert (psf->params_NEW->n > PM_PAR_YPOS);
    556     assert (psf->params_NEW->n > PM_PAR_XPOS);
     545    assert (psf->params->n > PM_PAR_YPOS);
     546    assert (psf->params->n > PM_PAR_XPOS);
    557547
    558548    PAR[PM_PAR_SKY]  = 0.0;
     
    562552   
    563553    // supply the model-fitted parameters, or copy from the input
    564     for (int i = 0; i < psf->params_NEW->n; i++) {
     554    for (int i = 0; i < psf->params->n; i++) {
    565555        if (i == PM_PAR_SKY) continue;
    566         psPolynomial2D *poly = psf->params_NEW->data[i];
     556        psPolynomial2D *poly = psf->params->data[i];
    567557        assert (poly);
    568558        PAR[i] = psPolynomial2DEval(poly, Xo, Yo);
     
    579569    // apply the model limits here: this truncates excessive extrapolation
    580570    // XXX do we need to do this still?  should we put in asserts to test?
    581     for (int i = 0; i < psf->params_NEW->n; i++) {
     571    for (int i = 0; i < psf->params->n; i++) {
    582572        // apply the limits to all components or just the psf-model parameters?
    583         if (psf->params_NEW->data[i] == NULL)
     573        if (psf->params->data[i] == NULL)
    584574            continue;
    585575
     
    596586
    597587//done I think
    598 bool PM_MODEL_FIT_STATUS (void *inModel)
     588bool PM_MODEL_FIT_STATUS (pmModel *model)
    599589{
    600     pmModel *model = inModel;
    601  
    602590    psF32 dP;
    603591    bool  status;
Note: See TracChangeset for help on using the changeset viewer.