IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14995


Ignore:
Timestamp:
Sep 24, 2007, 9:11:40 AM (19 years ago)
Author:
eugene
Message:

init and use mask in psphotMagErrorScale

Location:
branches/eam_branch_20070921/psphot/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20070921/psphot/src/psphot.h

    r14963 r14995  
    4747bool            psphotReplaceAll (psArray *sources, psMaskType maskVal);
    4848bool            psphotApResid (pmReadout *readout, psArray *sources, psMetadata *recipe, pmPSF *psf, psMaskType maskVal, psMaskType mark);
    49 bool            psphotMagErrorScale (float *errorScale, float *errorFloor, psVector *dMag, psVector *dap, int nGroup);
     49bool            psphotMagErrorScale (float *errorScale, float *errorFloor, psVector *dMag, psVector *dap, psVector *mask, int nGroup);
    5050bool            psphotApResidTrend (pmReadout *readout, pmPSF *psf, int Npsf, int scale, float *errorScale, float *errorFloor, psVector *mask, psVector *xPos, psVector *yPos, psVector *apResid, psVector *dMag);
    5151bool            psphotMagnitudes (psArray *sources, psMetadata *recipe, pmPSF *psf, pmReadout *background, psMaskType maskVal, psMaskType mark);
  • branches/eam_branch_20070921/psphot/src/psphotApResid.c

    r14990 r14995  
    103103        dMag->data.F32[Npsf] = model->dparams->data.F32[PM_PAR_I0] / model->params->data.F32[PM_PAR_I0];
    104104
     105        psVectorExtend (mag,     100, 1);
    105106        psVectorExtend (mask,    100, 1);
    106107        psVectorExtend (xPos,    100, 1);
     
    157158    psVector *apResidRes = (psVector *) psBinaryOp (NULL, (void *) apResid, "-", (void *) apResidFit);
    158159    psVector *dMagSys = (psVector *) psBinaryOp (NULL, (void *) dMag, "*", (void *) psScalarAlloc(errorScale, PS_TYPE_F32));
    159 
    160     psphotSaveImage (NULL, psf->ApTrend->map->map, "apresid.map.fits");
    161160
    162161    if (psTraceGetLevel("psphot") >= 5) {
     
    212211*/
    213212
    214 bool psphotMagErrorScale (float *errorScale, float *errorFloor, psVector *dMag, psVector *dap, int nGroup) {
     213bool psphotMagErrorScale (float *errorScale, float *errorFloor, psVector *dMag, psVector *dap, psVector *mask, int nGroup) {
    215214
    216215    psStats *statsS = psStatsAlloc (PS_STAT_ROBUST_MEDIAN | PS_STAT_ROBUST_STDEV);
     
    231230    psVector *dMSubset = psVectorAllocEmpty (nGroup, PS_TYPE_F32);
    232231    psVector *dASubset = psVectorAllocEmpty (nGroup, PS_TYPE_F32);
     232    psVector *mkSubset = psVectorAllocEmpty (nGroup, PS_TYPE_U8);
    233233
    234234    int n = 0;
     
    239239            dMSubset->data.F32[j] = dMag->data.F32[N];
    240240            dASubset->data.F32[j] = dap->data.F32[N];
     241            mkSubset->data.U8[j]  = mask->data.U8[N];
    241242        }
    242243        dMSubset->n = j;
    243244        dASubset->n = j;
     245        mkSubset->n = j;
    244246
    245247        psStatsInit (statsS);
    246248        psStatsInit (statsM);
    247249
    248         psVectorStats (statsS, dASubset, NULL, NULL, 0xff);
    249         psVectorStats (statsM, dMSubset, NULL, NULL, 0xff);
     250        psVectorStats (statsS, dASubset, NULL, mkSubset, 0xff);
     251        psVectorStats (statsM, dMSubset, NULL, mkSubset, 0xff);
    250252
    251253        dSo->data.F32[i] = statsS->robustStdev;
     
    256258    psFree (dMSubset);
    257259    psFree (dASubset);
     260    psFree (mkSubset);
    258261   
    259262    psStats *stats = psStatsAlloc (PS_STAT_SAMPLE_MEDIAN);
     
    292295    }
    293296
     297    // the mask marks the values not used to calculate the ApTrend
     298    psVectorInit (mask, 0);
     299
    294300    // XXX stats structure for use by ApTrend : make parameters user setable
    295301    psStats *stats = psStatsAlloc (PS_STAT_ROBUST_MEDIAN | PS_STAT_ROBUST_STDEV);
     
    311317    // XXX this is a bit arbitrary, but it forces ~3 stars from the bright bin per spatial bin
    312318    int nGroup = PS_MAX (3*Nx*Ny, 10);
    313     psphotMagErrorScale (errorScale, errorFloor, dMag, apResidRes, nGroup);
     319    psphotMagErrorScale (errorScale, errorFloor, dMag, apResidRes, mask, nGroup);
    314320
    315321    psLogMsg ("psphot.apresid", PS_LOG_INFO, "result of %d x %d grid (%d stars per bin)\n", Nx, Ny, nGroup);
Note: See TracChangeset for help on using the changeset viewer.