- Timestamp:
- Aug 22, 2007, 3:09:08 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20070817/psphot/src/models/pmModel_STRAIL.c
r14545 r14619 475 475 476 476 //fixed I think...no good way of guessing as far as I can tell 477 bool PM_MODEL_GUESS ( void *inModel, void *inSource)477 bool PM_MODEL_GUESS (pmModel *model, pmSource *source) 478 478 { 479 pmModel *model = inModel;480 pmSource *source = inSource;481 482 479 pmMoments *Smoments = source->moments; 483 480 psF32 *params = model->params->data.F32; … … 520 517 521 518 //fixed 522 bool PM_MODEL_FROM_PSF ( void *inModelPSF, void *inModelFLT, void *inPSF)519 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, pmPSF *psf) 523 520 { 524 pmModel *modelPSF = inModelPSF;525 pmModel *modelFLT = inModelFLT;526 pmPSF *psf = inPSF;527 528 521 psF32 *out = modelPSF->params->data.F32; 529 522 psF32 *in = modelFLT->params->data.F32; … … 537 530 538 531 for (int i = 4; i < 7; i++) { 539 psPolynomial2D *poly = psf->params _NEW->data[i-4];532 psPolynomial2D *poly = psf->params->data[i-4]; 540 533 out[i] = psPolynomial2DEval (poly, out[2], out[3]); 541 534 } … … 545 538 // construct the PSF model from the FLT model and the psf 546 539 // 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)540 bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, pmPSF *psf, float Xo, float Yo, float Io) 548 541 { 549 pmModel *model = inModel;550 pmPSF *psf = inPSF;551 552 542 psF32 *PAR = model->params->data.F32; 553 543 554 544 // 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); 557 547 558 548 PAR[PM_PAR_SKY] = 0.0; … … 562 552 563 553 // 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++) { 565 555 if (i == PM_PAR_SKY) continue; 566 psPolynomial2D *poly = psf->params _NEW->data[i];556 psPolynomial2D *poly = psf->params->data[i]; 567 557 assert (poly); 568 558 PAR[i] = psPolynomial2DEval(poly, Xo, Yo); … … 579 569 // apply the model limits here: this truncates excessive extrapolation 580 570 // 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++) { 582 572 // 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) 584 574 continue; 585 575 … … 596 586 597 587 //done I think 598 bool PM_MODEL_FIT_STATUS ( void *inModel)588 bool PM_MODEL_FIT_STATUS (pmModel *model) 599 589 { 600 pmModel *model = inModel;601 602 590 psF32 dP; 603 591 bool status;
Note:
See TracChangeset
for help on using the changeset viewer.
