IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 27, 2007, 12:14:08 PM (19 years ago)
Author:
magnier
Message:

converting the PSF model fits to the polariation terms (replacing Sx,Sy,Sxy)

Location:
trunk/psModules/src/objects/models
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/objects/models/pmModel_GAUSS.c

    r11687 r13064  
    208208    psF32 *PAR = params->data.F32;
    209209
    210     shape.sx  = PAR[PM_PAR_SXX] / sqrt(2.0);
    211     shape.sy  = PAR[PM_PAR_SYY] / sqrt(2.0);
     210    shape.sx  = PAR[PM_PAR_SXX] / M_SQRT2;
     211    shape.sy  = PAR[PM_PAR_SYY] / M_SQRT2;
    212212    shape.sxy = PAR[PM_PAR_SXY];
    213213
     
    237237        return (1.0);
    238238
    239     shape.sx  = PAR[PM_PAR_SXX] / sqrt(2.0);
    240     shape.sy  = PAR[PM_PAR_SYY] / sqrt(2.0);
     239    shape.sx  = PAR[PM_PAR_SXX] / M_SQRT2;
     240    shape.sy  = PAR[PM_PAR_SYY] / M_SQRT2;
    241241    shape.sxy = PAR[PM_PAR_SXY];
    242242
     
    267267    }
    268268
    269     // the 2D model for SXY actually fits SXY / (SXX^-2 + SYY^-2); correct here
    270     out[PM_PAR_SXY] = pmPSF_SXYtoModel (out);
     269    // the OLD 2D model for SXY actually fitted SXY / (SXX^-2 + SYY^-2); correct here
     270    // out[PM_PAR_SXY] = pmPSF_SXYtoModel (out);
     271
     272    // the 2D PSF model fits polarization terms (E0,E1,E2)
     273    // convert to shape terms (SXX,SYY,SXY)
     274    // XXX user-defined value for limit?
     275    pmPSF_FitToModel (out, 0.1);
    271276
    272277    // apply the model limits here: this truncates excessive extrapolation
     278    // XXX do we need to do this still?  should we put in asserts to test?
    273279    for (int i = 0; i < psf->params_NEW->n; i++) {
    274280        // apply the limits to all components or just the psf-model parameters?
  • trunk/psModules/src/objects/models/pmModel_PGAUSS.c

    r11687 r13064  
    209209    psF32 *PAR = params->data.F32;
    210210
    211     shape.sx  = PAR[PM_PAR_SXX] / sqrt(2.0);
    212     shape.sy  = PAR[PM_PAR_SYY] / sqrt(2.0);
     211    shape.sx  = PAR[PM_PAR_SXX] / M_SQRT2;
     212    shape.sy  = PAR[PM_PAR_SYY] / M_SQRT2;
    213213    shape.sxy = PAR[PM_PAR_SXY];
    214214
     
    253253        return (1.0);
    254254
    255     shape.sx  = PAR[PM_PAR_SXX] / sqrt(2.0);
    256     shape.sy  = PAR[PM_PAR_SYY] / sqrt(2.0);
     255    shape.sx  = PAR[PM_PAR_SXX] / M_SQRT2;
     256    shape.sy  = PAR[PM_PAR_SYY] / M_SQRT2;
    257257    shape.sxy = PAR[PM_PAR_SXY];
    258258
     
    288288    }
    289289
    290     // the 2D model for SXY actually fits SXY / (SXX^-2 + SYY^-2); correct here
    291     out[PM_PAR_SXY] = pmPSF_SXYtoModel (out);
    292 
     290    // the OLD 2D model for SXY actually fitted SXY / (SXX^-2 + SYY^-2); correct here
     291    // out[PM_PAR_SXY] = pmPSF_SXYtoModel (out);
     292
     293    // the 2D PSF model fits polarization terms (E0,E1,E2)
     294    // convert to shape terms (SXX,SYY,SXY)
     295    pmPSF_FitToModel (out, 0.1);
     296
     297    // apply the model limits here: this truncates excessive extrapolation
     298    // XXX do we need to do this still?  should we put in asserts to test?
     299    for (int i = 0; i < psf->params_NEW->n; i++) {
     300        // apply the limits to all components or just the psf-model parameters?
     301        if (psf->params_NEW->data[i] == NULL)
     302            continue;
     303        PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, out, NULL);
     304        PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, out, NULL);
     305    }
    293306    return(true);
    294307}
  • trunk/psModules/src/objects/models/pmModel_QGAUSS.c

    r11687 r13064  
    238238    psF32 *PAR = params->data.F32;
    239239
    240     shape.sx  = PAR[PM_PAR_SXX] / sqrt(2.0);
    241     shape.sy  = PAR[PM_PAR_SYY] / sqrt(2.0);
     240    shape.sx  = PAR[PM_PAR_SXX] / M_SQRT2;
     241    shape.sy  = PAR[PM_PAR_SYY] / M_SQRT2;
    242242    shape.sxy = PAR[PM_PAR_SXY];
    243243
     
    284284        return (1.0);
    285285
    286     shape.sx  = PAR[PM_PAR_SXX] / sqrt(2.0);
    287     shape.sy  = PAR[PM_PAR_SYY] / sqrt(2.0);
     286    shape.sx  = PAR[PM_PAR_SXX] / M_SQRT2;
     287    shape.sy  = PAR[PM_PAR_SYY] / M_SQRT2;
    288288    shape.sxy = PAR[PM_PAR_SXY];
    289289
     
    345345    }
    346346
    347     // the 2D model for SXY actually fits SXY / (SXX^-2 + SYY^-2); correct here
    348     out[PM_PAR_SXY] = pmPSF_SXYtoModel (out);
     347    // the OLD 2D model for SXY actually fitted SXY / (SXX^-2 + SYY^-2); correct here
     348    // out[PM_PAR_SXY] = pmPSF_SXYtoModel (out);
     349
     350    // the 2D PSF model fits polarization terms (E0,E1,E2)
     351    // convert to shape terms (SXX,SYY,SXY)
     352    pmPSF_FitToModel (out, 0.1);
    349353
    350354    // apply the model limits here: this truncates excessive extrapolation
     355    // XXX do we need to do this still?  should we put in asserts to test?
    351356    for (int i = 0; i < psf->params_NEW->n; i++) {
    352357        // apply the limits to all components or just the psf-model parameters?
Note: See TracChangeset for help on using the changeset viewer.