IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 19, 2010, 1:46:54 PM (16 years ago)
Author:
Paul Price
Message:
  • ANGLE, ANGLE_ERR, LENGTH, LENGTH_ERR have been removed completely. We

expect MOPS will calculate the relevant quantities from the moments.

  • Added PSF_CHI2, PSF_DOF, CR_SIGNIFICANCE, PSF_MAJOR, PSF_MINOR,

PSF_THETA, PSF_QUALITY, PSF_NPIX, MOMENTS_XX, MOMENTS_XY, MOMENTS_YY for
more complete data on each detection

  • Added N_POS, F_POS, RATIO_BAD, RATIO_MASK, RATIO_ALL for better

weeding out of bad subtractions

  • STARPSF renamed EXT_SIGNIFICANCE to be more clear
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppTranslate/src/ppMopsDetections.c

    r25256 r28027  
    2121    psFree(det->mag);
    2222    psFree(det->magErr);
     23    psFree(det->chi2);
     24    psFree(det->dof);
     25    psFree(det->cr);
    2326    psFree(det->extended);
    24     psFree(det->angle);
    25     psFree(det->angleErr);
    26     psFree(det->length);
    27     psFree(det->lengthErr);
     27    psFree(det->psfMajor);
     28    psFree(det->psfMinor);
     29    psFree(det->psfTheta);
     30    psFree(det->quality);
     31    psFree(det->numPix);
     32    psFree(det->xxMoment);
     33    psFree(det->xyMoment);
     34    psFree(det->yyMoment);
    2835    psFree(det->flags);
    2936    psFree(det->diffSkyfileId);
     
    3138    psFree(det->naxis2);
    3239    psFree(det->mask);
     40    psFree(det->nPos);
     41    psFree(det->fPos);
     42    psFree(det->nRatioBad);
     43    psFree(det->nRatioMask);
     44    psFree(det->nRatioAll);
     45
    3346    return;
    3447}
     
    5871    det->mag = psVectorAllocEmpty(num, PS_TYPE_F32);
    5972    det->magErr = psVectorAllocEmpty(num, PS_TYPE_F32);
     73    det->chi2 = psVectorAllocEmpty(num, PS_TYPE_F32);
     74    det->dof = psVectorAllocEmpty(num, PS_TYPE_S32);
     75    det->cr = psVectorAllocEmpty(num, PS_TYPE_F32);
    6076    det->extended = psVectorAllocEmpty(num, PS_TYPE_F32);
    61     det->angle = psVectorAllocEmpty(num, PS_TYPE_F32);
    62     det->angleErr = psVectorAllocEmpty(num, PS_TYPE_F32);
    63     det->length = psVectorAllocEmpty(num, PS_TYPE_F32);
    64     det->lengthErr = psVectorAllocEmpty(num, PS_TYPE_F32);
     77    det->psfMajor = psVectorAllocEmpty(num, PS_TYPE_F32);
     78    det->psfMinor = psVectorAllocEmpty(num, PS_TYPE_F32);
     79    det->psfTheta = psVectorAllocEmpty(num, PS_TYPE_F32);
     80    det->quality = psVectorAllocEmpty(num, PS_TYPE_F32);
     81    det->numPix = psVectorAllocEmpty(num, PS_TYPE_S32);
     82    det->xxMoment = psVectorAllocEmpty(num, PS_TYPE_F32);
     83    det->xyMoment = psVectorAllocEmpty(num, PS_TYPE_F32);
     84    det->yyMoment = psVectorAllocEmpty(num, PS_TYPE_F32);
    6585    det->flags = psVectorAllocEmpty(num, PS_TYPE_U32);
    6686    det->diffSkyfileId = psVectorAllocEmpty(num, PS_TYPE_S64);
     
    6888    det->naxis2 = psVectorAllocEmpty(num, PS_TYPE_S32);
    6989    det->mask = psVectorAllocEmpty(num, PS_TYPE_U8);
     90    det->nPos = psVectorAllocEmpty(num, PS_TYPE_S32);
     91    det->fPos = psVectorAllocEmpty(num, PS_TYPE_F32);
     92    det->nRatioBad = psVectorAllocEmpty(num, PS_TYPE_F32);
     93    det->nRatioMask = psVectorAllocEmpty(num, PS_TYPE_F32);
     94    det->nRatioAll = psVectorAllocEmpty(num, PS_TYPE_F32);
    7095
    7196    return det;
     
    83108    det->mag = psVectorRealloc(det->mag, num);
    84109    det->magErr = psVectorRealloc(det->magErr, num);
     110    det->chi2 = psVectorRealloc(det->chi2, num);
     111    det->dof = psVectorRealloc(det->dof, num);
     112    det->cr = psVectorRealloc(det->cr, num);
    85113    det->extended = psVectorRealloc(det->extended, num);
    86     det->angle = psVectorRealloc(det->angle, num);
    87     det->angleErr = psVectorRealloc(det->angleErr, num);
    88     det->length = psVectorRealloc(det->length, num);
    89     det->lengthErr = psVectorRealloc(det->lengthErr, num);
     114    det->psfMajor = psVectorRealloc(det->psfMajor, num);
     115    det->psfMinor = psVectorRealloc(det->psfMinor, num);
     116    det->psfTheta = psVectorRealloc(det->psfTheta, num);
     117    det->quality = psVectorRealloc(det->quality, num);
     118    det->numPix = psVectorRealloc(det->numPix, num);
     119    det->xxMoment = psVectorRealloc(det->xxMoment, num);
     120    det->xyMoment = psVectorRealloc(det->xyMoment, num);
     121    det->yyMoment = psVectorRealloc(det->yyMoment, num);
    90122    det->flags = psVectorRealloc(det->flags, num);
    91123    det->diffSkyfileId = psVectorRealloc(det->diffSkyfileId, num);
     
    93125    det->naxis2 = psVectorRealloc(det->naxis2, num);
    94126    det->mask = psVectorRealloc(det->mask, num);
     127    det->nPos = psVectorRealloc(det->nPos, num);
     128    det->fPos = psVectorRealloc(det->fPos, num);
     129    det->nRatioBad = psVectorRealloc(det->nRatioBad, num);
     130    det->nRatioMask = psVectorRealloc(det->nRatioMask, num);
     131    det->nRatioAll = psVectorRealloc(det->nRatioAll, num);
    95132
    96133    return det;
     
    99136
    100137bool ppMopsDetectionsAdd(ppMopsDetections *det, float x, float y, double ra, double dec,
    101                          double raErr, double decErr, float mag, float magErr, float extended,
    102                          float angle, float angleErr, float length, float lengthErr,
    103                          psU32 flags, psS64 diffSkyfileId, int naxis1, int naxis2)
     138                         double raErr, double decErr, float mag, float magErr,
     139                         float chi2, int dof, float cr, float extended, float psfMajor,
     140                         float psfMinor, float psfTheta, float quality, int numPix,
     141                         float xxMoment, float xyMoment, float yyMoment,
     142                         psU32 flags, psS64 diffSkyfileId, int naxis1, int naxis2,
     143                         int nPos, float fPos, float nRatioBad, float nRatioMask, float nRatioAll)
    104144{
    105145    psVectorAppend(det->x, x);
     
    111151    psVectorAppend(det->mag, mag);
    112152    psVectorAppend(det->magErr, magErr);
     153    psVectorAppend(det->chi2, chi2);
     154    psVectorAppend(det->dof, dof);
     155    psVectorAppend(det->cr, cr);
    113156    psVectorAppend(det->extended, extended);
    114     psVectorAppend(det->angle, angle);
    115     psVectorAppend(det->angleErr, angleErr);
    116     psVectorAppend(det->length, length);
    117     psVectorAppend(det->lengthErr, lengthErr);
     157    psVectorAppend(det->psfMajor, psfMajor);
     158    psVectorAppend(det->psfMinor, psfMinor);
     159    psVectorAppend(det->psfTheta, psfTheta);
     160    psVectorAppend(det->quality, quality);
     161    psVectorAppend(det->numPix, numPix);
     162    psVectorAppend(det->xxMoment, xxMoment);
     163    psVectorAppend(det->xyMoment, xyMoment);
     164    psVectorAppend(det->yyMoment, yyMoment);
    118165    psVectorAppend(det->flags, flags);
    119166    psVectorAppend(det->diffSkyfileId, diffSkyfileId);
     
    121168    psVectorAppend(det->naxis2, naxis2);
    122169    psVectorAppend(det->mask, 0);
     170    psVectorAppend(det->nPos, nPos);
     171    psVectorAppend(det->fPos, fPos);
     172    psVectorAppend(det->nRatioBad, nRatioBad);
     173    psVectorAppend(det->nRatioMask, nRatioMask);
     174    psVectorAppend(det->nRatioAll, nRatioAll);
     175
    123176    return true;
    124177}
     
    135188    psVectorAppend(target->mag, source->mag->data.F32[index]);
    136189    psVectorAppend(target->magErr, source->magErr->data.F32[index]);
     190    psVectorAppend(target->chi2, source->chi2->data.F32[index]);
     191    psVectorAppend(target->dof, source->dof->data.S32[index]);
     192    psVectorAppend(target->cr, source->cr->data.F32[index]);
    137193    psVectorAppend(target->extended, source->extended->data.F32[index]);
    138     psVectorAppend(target->angle, source->angle->data.F32[index]);
    139     psVectorAppend(target->angleErr, source->angleErr->data.F32[index]);
    140     psVectorAppend(target->length, source->length->data.F32[index]);
    141     psVectorAppend(target->lengthErr, source->lengthErr->data.F32[index]);
     194    psVectorAppend(target->psfMajor, source->psfMajor->data.F32[index]);
     195    psVectorAppend(target->psfMinor, source->psfMinor->data.F32[index]);
     196    psVectorAppend(target->psfTheta, source->psfTheta->data.F32[index]);
     197    psVectorAppend(target->quality, source->quality->data.F32[index]);
     198    psVectorAppend(target->numPix, source->numPix->data.S32[index]);
     199    psVectorAppend(target->xxMoment, source->xxMoment->data.F32[index]);
     200    psVectorAppend(target->xyMoment, source->xyMoment->data.F32[index]);
     201    psVectorAppend(target->yyMoment, source->yyMoment->data.F32[index]);
    142202    psVectorAppend(target->flags, source->flags->data.U32[index]);
    143203    psVectorAppend(target->diffSkyfileId, source->diffSkyfileId->data.S64[index]);
     
    145205    psVectorAppend(target->naxis2, source->naxis2->data.S32[index]);
    146206    psVectorAppend(target->mask, 0);
     207    psVectorAppend(target->nPos, source->nPos->data.S32[index]);
     208    psVectorAppend(target->fPos, source->fPos->data.F32[index]);
     209    psVectorAppend(target->nRatioBad, source->nRatioBad->data.F32[index]);
     210    psVectorAppend(target->nRatioMask, source->nRatioMask->data.F32[index]);
     211    psVectorAppend(target->nRatioAll, source->nRatioAll->data.F32[index]);
     212
    147213    target->num++;
     214
    148215    return true;
    149216}
     
    168235            det->mag->data.F32[num] = det->mag->data.F32[i];
    169236            det->magErr->data.F32[num] = det->magErr->data.F32[i];
     237            det->chi2->data.F32[num] = det->chi2->data.F32[i];
     238            det->dof->data.S32[num] = det->dof->data.S32[i];
     239            det->cr->data.F32[num] = det->cr->data.F32[i];
    170240            det->extended->data.F32[num] = det->extended->data.F32[i];
    171             det->angle->data.F32[num] = det->angle->data.F32[i];
    172             det->angleErr->data.F32[num] = det->angleErr->data.F32[i];
    173             det->length->data.F32[num] = det->length->data.F32[i];
    174             det->lengthErr->data.F32[num] = det->lengthErr->data.F32[i];
     241            det->psfMajor->data.F32[num] = det->psfMajor->data.F32[i];
     242            det->psfMinor->data.F32[num] = det->psfMinor->data.F32[i];
     243            det->psfTheta->data.F32[num] = det->psfTheta->data.F32[i];
     244            det->quality->data.F32[num] = det->quality->data.F32[i];
     245            det->numPix->data.S32[num] = det->numPix->data.S32[i];
     246            det->xxMoment->data.F32[num] = det->xxMoment->data.F32[i];
     247            det->xyMoment->data.F32[num] = det->xyMoment->data.F32[i];
     248            det->yyMoment->data.F32[num] = det->yyMoment->data.F32[i];
    175249            det->flags->data.U32[num] = det->flags->data.U32[i];
    176250            det->diffSkyfileId->data.S64[num] = det->diffSkyfileId->data.S64[i];
     
    178252            det->naxis2->data.S32[num] = det->naxis2->data.S32[i];
    179253            det->mask->data.U8[num] = 0;
     254            det->nPos->data.S32[num] = det->nPos->data.S32[i];
     255            det->fPos->data.F32[num] = det->fPos->data.F32[i];
     256            det->nRatioBad->data.F32[num] = det->nRatioBad->data.F32[i];
     257            det->nRatioMask->data.F32[num] = det->nRatioMask->data.F32[i];
     258            det->nRatioAll->data.F32[num] = det->nRatioAll->data.F32[i];
    180259            num++;
    181260        }
     
    189268    det->mag->n = num;
    190269    det->magErr->n = num;
     270    det->chi2->n = num;
     271    det->dof->n = num;
     272    det->cr->n = num;
    191273    det->extended->n = num;
    192     det->angle->n = num;
    193     det->angleErr->n = num;
    194     det->length->n = num;
    195     det->lengthErr->n = num;
     274    det->psfMajor->n = num;
     275    det->psfMinor->n = num;
     276    det->psfTheta->n = num;
     277    det->quality->n = num;
     278    det->numPix->n = num;
     279    det->xxMoment->n = num;
     280    det->xyMoment->n = num;
     281    det->yyMoment->n = num;
    196282    det->flags->n = num;
    197283    det->diffSkyfileId->n = num;
     
    200286    det->mask->n = num;
    201287    det->num = num;
     288    det->nPos->n = num;
     289    det->fPos->n = num;
     290    det->nRatioBad->n = num;
     291    det->nRatioMask->n = num;
     292    det->nRatioAll->n = num;
     293
    202294    return true;
    203295}
Note: See TracChangeset for help on using the changeset viewer.