Changeset 28027
- Timestamp:
- May 19, 2010, 1:46:54 PM (16 years ago)
- Location:
- trunk/ppTranslate/src
- Files:
-
- 4 edited
-
ppMops.h (modified) (2 diffs)
-
ppMopsDetections.c (modified) (15 diffs)
-
ppMopsRead.c (modified) (3 diffs)
-
ppMopsWrite.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppTranslate/src/ppMops.h
r25923 r28027 27 27 } ppMopsArguments; 28 28 29 #if 0 30 TTYPE19 = 'PSF_CHISQ' / label for field 19 31 TFORM19 = '1E ' / data format of field: 4-byte REAL 32 TTYPE20 = 'CR_NSIGMA' / label for field 20 33 TFORM20 = '1E ' / data format of field: 4-byte REAL 34 TTYPE21 = 'EXT_NSIGMA' / label for field 21 35 TFORM21 = '1E ' / data format of field: 4-byte REAL 36 TTYPE22 = 'PSF_MAJOR' / label for field 22 37 TFORM22 = '1E ' / data format of field: 4-byte REAL 38 TTYPE23 = 'PSF_MINOR' / label for field 23 39 TFORM23 = '1E ' / data format of field: 4-byte REAL 40 TTYPE24 = 'PSF_THETA' / label for field 24 41 TFORM24 = '1E ' / data format of field: 4-byte REAL 42 TTYPE25 = 'PSF_QF ' / label for field 25 43 TFORM25 = '1E ' / data format of field: 4-byte REAL 44 TTYPE26 = 'PSF_NDOF' / label for field 26 45 TFORM26 = '1J ' / data format of field: 4-byte INTEGER 46 TTYPE27 = 'PSF_NPIX' / label for field 27 47 TFORM27 = '1J ' / data format of field: 4-byte INTEGER 48 TTYPE28 = 'MOMENTS_XX' / label for field 28 49 TFORM28 = '1E ' / data format of field: 4-byte REAL 50 TTYPE29 = 'MOMENTS_XY' / label for field 29 51 TFORM29 = '1E ' / data format of field: 4-byte REAL 52 TTYPE30 = 'MOMENTS_YY' / label for field 30 53 TFORM30 = '1E ' / data format of field: 4-byte REAL 54 #endif 55 29 56 /// Parse arguments 30 57 ppMopsArguments *ppMopsArgumentsParse(int argc, char *argv[]); … … 44 71 psVector *raErr, *decErr; // Error in sky coordinates 45 72 psVector *mag, *magErr; // Magnitude and associated error 46 psVector *extended; // Measure of extendedness 47 psVector *angle, *angleErr; // Angle of trail and associated error 48 psVector *length, *lengthErr; // Length of trail and associated error 73 psVector *chi2, *dof; // Chi^2 from fitting, with associated degrees of freedom 74 psVector *cr, *extended; // Measures of CR-ness and extendedness 75 psVector *psfMajor, *psfMinor, *psfTheta; // PSF major and minor axes, and position angle 76 psVector *quality, *numPix; // PSF quality factor and number of pixels 77 psVector *xxMoment, *xyMoment, *yyMoment; // Moments 49 78 psVector *flags; // psphot flags 50 79 psVector *diffSkyfileId; // Identifier for source image 51 80 psVector *naxis1, *naxis2; // Size of image 52 81 psVector *mask; // Mask for detections 82 psVector *nPos; // Number of positive pixels 83 psVector *fPos; // Fraction of positive flux 84 psVector *nRatioBad; // Fraction of positive pixels to negative 85 psVector *nRatioMask; // Fraction of positive pixels to masked 86 psVector *nRatioAll; // Fraction of positive pixels to all 53 87 } ppMopsDetections; 88 54 89 55 90 ppMopsDetections *ppMopsDetectionsAlloc(long num); -
trunk/ppTranslate/src/ppMopsDetections.c
r25256 r28027 21 21 psFree(det->mag); 22 22 psFree(det->magErr); 23 psFree(det->chi2); 24 psFree(det->dof); 25 psFree(det->cr); 23 26 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); 28 35 psFree(det->flags); 29 36 psFree(det->diffSkyfileId); … … 31 38 psFree(det->naxis2); 32 39 psFree(det->mask); 40 psFree(det->nPos); 41 psFree(det->fPos); 42 psFree(det->nRatioBad); 43 psFree(det->nRatioMask); 44 psFree(det->nRatioAll); 45 33 46 return; 34 47 } … … 58 71 det->mag = psVectorAllocEmpty(num, PS_TYPE_F32); 59 72 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); 60 76 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); 65 85 det->flags = psVectorAllocEmpty(num, PS_TYPE_U32); 66 86 det->diffSkyfileId = psVectorAllocEmpty(num, PS_TYPE_S64); … … 68 88 det->naxis2 = psVectorAllocEmpty(num, PS_TYPE_S32); 69 89 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); 70 95 71 96 return det; … … 83 108 det->mag = psVectorRealloc(det->mag, num); 84 109 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); 85 113 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); 90 122 det->flags = psVectorRealloc(det->flags, num); 91 123 det->diffSkyfileId = psVectorRealloc(det->diffSkyfileId, num); … … 93 125 det->naxis2 = psVectorRealloc(det->naxis2, num); 94 126 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); 95 132 96 133 return det; … … 99 136 100 137 bool 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) 104 144 { 105 145 psVectorAppend(det->x, x); … … 111 151 psVectorAppend(det->mag, mag); 112 152 psVectorAppend(det->magErr, magErr); 153 psVectorAppend(det->chi2, chi2); 154 psVectorAppend(det->dof, dof); 155 psVectorAppend(det->cr, cr); 113 156 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); 118 165 psVectorAppend(det->flags, flags); 119 166 psVectorAppend(det->diffSkyfileId, diffSkyfileId); … … 121 168 psVectorAppend(det->naxis2, naxis2); 122 169 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 123 176 return true; 124 177 } … … 135 188 psVectorAppend(target->mag, source->mag->data.F32[index]); 136 189 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]); 137 193 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]); 142 202 psVectorAppend(target->flags, source->flags->data.U32[index]); 143 203 psVectorAppend(target->diffSkyfileId, source->diffSkyfileId->data.S64[index]); … … 145 205 psVectorAppend(target->naxis2, source->naxis2->data.S32[index]); 146 206 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 147 213 target->num++; 214 148 215 return true; 149 216 } … … 168 235 det->mag->data.F32[num] = det->mag->data.F32[i]; 169 236 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]; 170 240 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]; 175 249 det->flags->data.U32[num] = det->flags->data.U32[i]; 176 250 det->diffSkyfileId->data.S64[num] = det->diffSkyfileId->data.S64[i]; … … 178 252 det->naxis2->data.S32[num] = det->naxis2->data.S32[i]; 179 253 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]; 180 259 num++; 181 260 } … … 189 268 det->mag->n = num; 190 269 det->magErr->n = num; 270 det->chi2->n = num; 271 det->dof->n = num; 272 det->cr->n = num; 191 273 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; 196 282 det->flags->n = num; 197 283 det->diffSkyfileId->n = num; … … 200 286 det->mask->n = num; 201 287 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 202 294 return true; 203 295 } -
trunk/ppTranslate/src/ppMopsRead.c
r26561 r28027 93 93 det->mag->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_INST_MAG"); 94 94 det->magErr->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_INST_MAG_SIG"); 95 det->chi2->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_CHISQ"); 96 det->dof->data.S32[numGood] = psMetadataLookupS32(NULL, row, "PSF_NDOF"); 97 det->cr->data.F32[numGood] = psMetadataLookupF32(NULL, row, "CR_NSIGMA"); 95 98 det->extended->data.F32[numGood] = psMetadataLookupF32(NULL, row, "EXT_NSIGMA"); 96 det->angle->data.F32[numGood] = 0.0; 97 det->angleErr->data.F32[numGood] = 0.0; 98 det->length->data.F32[numGood] = 0.0; 99 det->lengthErr->data.F32[numGood] = 0.0; 99 det->psfMajor->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_MAJOR"); 100 det->psfMinor->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_MINOR"); 101 det->psfTheta->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_THETA"); 102 det->quality->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_QF"); 103 det->numPix->data.S32[numGood] = psMetadataLookupS32(NULL, row, "PSF_NPIX"); 104 det->xxMoment->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_XX"); 105 det->xyMoment->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_XY"); 106 det->yyMoment->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_YY"); 100 107 det->flags->data.U32[numGood] = psMetadataLookupU32(NULL, row, "FLAGS"); 101 108 det->diffSkyfileId->data.S64[numGood] = diffSkyfileId; 102 109 det->naxis1->data.S32[numGood] = naxis1; 103 110 det->naxis2->data.S32[numGood] = naxis2; 111 112 det->nPos->data.S32[numGood] = psMetadataLookupS32(NULL, row, "DIFF_NPOS"); 113 det->fPos->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_FRATIO"); 114 det->nRatioBad->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_NRATIO_BAD"); 115 det->nRatioMask->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_NRATIO_MASK"); 116 det->nRatioAll->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_NRATIO_ALL"); 104 117 105 118 // Calculate error in RA, Dec … … 146 159 det->mag->n = numGood; 147 160 det->magErr->n = numGood; 161 det->chi2->n = numGood; 162 det->dof->n = numGood; 163 det->cr->n = numGood; 148 164 det->extended->n = numGood; 149 det->angle->n = numGood; 150 det->angleErr->n = numGood; 151 det->length->n = numGood; 152 det->lengthErr->n = numGood; 165 det->psfMajor->n = numGood; 166 det->psfMinor->n = numGood; 167 det->psfTheta->n = numGood; 168 det->quality->n = numGood; 169 det->numPix->n = numGood; 170 det->xxMoment->n = numGood; 171 det->xyMoment->n = numGood; 172 det->yyMoment->n = numGood; 153 173 det->flags->n = numGood; 154 174 det->diffSkyfileId->n = numGood; … … 156 176 det->naxis2->n = numGood; 157 177 det->mask->n = numGood; 178 det->nPos->n = numGood; 179 det->fPos->n = numGood; 180 det->nRatioBad->n = numGood; 181 det->nRatioMask->n = numGood; 182 det->nRatioAll->n = numGood; 158 183 159 184 det->num = numGood; -
trunk/ppTranslate/src/ppMopsWrite.c
r25923 r28027 61 61 psMetadataAddF32(row, PS_LIST_TAIL, "MAG", 0, "Magnitude", NAN); 62 62 psMetadataAddF32(row, PS_LIST_TAIL, "MAG_ERR", 0, "Magnitude error", NAN); 63 psMetadataAddF32(row, PS_LIST_TAIL, "STARPSF", 0, "EXT_NSIGMA", NAN); 64 psMetadataAddF32(row, PS_LIST_TAIL, "ANGLE", 0, "Position angle of trail (degrees)", NAN); 65 psMetadataAddF32(row, PS_LIST_TAIL, "ANGLE_ERR", 0, "Position angle error (degrees)", NAN); 66 psMetadataAddF32(row, PS_LIST_TAIL, "LENGTH", 0, "Length of trail (arcsec)", NAN); 67 psMetadataAddF32(row, PS_LIST_TAIL, "LENGTH_ERR", 0, "Length error (arcsec)", NAN); 63 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_CHI2", 0, "chi^2 of PSF fit", NAN); 64 psMetadataAddS32(row, PS_LIST_TAIL, "PSF_DOF", 0, "Degrees of freedom of PSF fit", 0); 65 psMetadataAddF32(row, PS_LIST_TAIL, "CR_SIGNIFICANCE", 0, "Significance of CR", NAN); 66 psMetadataAddF32(row, PS_LIST_TAIL, "EXT_SIGNIFICANCE", 0, "Significance of extendedness", NAN); 67 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_MAJOR", 0, "PSF major axis (pixels)", NAN); 68 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_MINOR", 0, "PSF minor axis (pixels)", NAN); 69 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_THETA", 0, "PSF position angle (deg on chip)", NAN); 70 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_QUALITY", 0, "PSF quality factor", NAN); 71 psMetadataAddS32(row, PS_LIST_TAIL, "PSF_NPIX", 0, "Number of pixels in PSF", 0); 72 psMetadataAddF32(row, PS_LIST_TAIL, "MOMENTS_XX", 0, "xx moment", NAN); 73 psMetadataAddF32(row, PS_LIST_TAIL, "MOMENTS_XY", 0, "xy moment", NAN); 74 psMetadataAddF32(row, PS_LIST_TAIL, "MOMENTS_YY", 0, "yy moment", NAN); 68 75 psMetadataAddU32(row, PS_LIST_TAIL, "FLAGS", 0, "Detection bit flags", 0); 69 76 psMetadataAddS64(row, PS_LIST_TAIL, "DIFF_SKYFILE_ID", 0, "Identifier for diff skyfile", 0); 77 78 psMetadataAddS32(row, PS_LIST_TAIL, "N_POS", 0, "Number of positive pixels", 0); 79 psMetadataAddF32(row, PS_LIST_TAIL, "F_POS", 0, "Fraction of positive pixels", NAN); 80 psMetadataAddF32(row, PS_LIST_TAIL, "RATIO_BAD", 0, "Ratio of positive pixels to negative", NAN); 81 psMetadataAddF32(row, PS_LIST_TAIL, "RATIO_MASK", 0, "Ratio of positive pixels to masked", NAN); 82 psMetadataAddF32(row, PS_LIST_TAIL, "RATIO_ALL", 0, "Ratio of positive pixels to all", NAN); 70 83 if (!psFitsWriteTableEmpty(fits, header, row, OUT_EXTNAME)) { 71 84 psErrorStackPrint(stderr, "Unable to write empty table."); … … 89 102 psMetadataAddF32(row, PS_LIST_TAIL, "MAG", 0, "Magnitude", det->mag->data.F32[i]); 90 103 psMetadataAddF32(row, PS_LIST_TAIL, "MAG_ERR", 0, "Magnitude error", det->magErr->data.F32[i]); 91 psMetadataAddF32(row, PS_LIST_TAIL, "STARPSF", 0, "EXT_NSIGMA", det->extended->data.F32[i]); 92 psMetadataAddF32(row, PS_LIST_TAIL, "ANGLE", 0, "Position angle of trail (degrees)", 93 det->angle->data.F32[i]); 94 psMetadataAddF32(row, PS_LIST_TAIL, "ANGLE_ERR", 0, "Position angle error (degrees)", 95 det->angleErr->data.F32[i]); 96 psMetadataAddF32(row, PS_LIST_TAIL, "LENGTH", 0, "Length of trail (arcsec)", 97 det->length->data.F32[i]); 98 psMetadataAddF32(row, PS_LIST_TAIL, "LENGTH_ERR", 0, "Length error (arcsec)", 99 det->lengthErr->data.F32[i]); 104 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_CHI2", 0, "chi^2 of PSF fit", det->chi2->data.F32[i]); 105 psMetadataAddS32(row, PS_LIST_TAIL, "PSF_DOF", 0, "Degrees of freedom of PSF fit", 106 det->dof->data.S32[i]); 107 psMetadataAddF32(row, PS_LIST_TAIL, "CR_SIGNIFICANCE", 0, "Significance of CR", 108 det->cr->data.F32[i]); 109 psMetadataAddF32(row, PS_LIST_TAIL, "EXT_SIGNIFICANCE", 0, "Significance of extendedness", 110 det->extended->data.F32[i]); 111 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_MAJOR", 0, "PSF major axis (pixels)", det->psfMajor->data.F32[i]); 112 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_MINOR", 0, "PSF minor axis (pixels)", det->psfMinor->data.F32[i]); 113 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_THETA", 0, "PSF position angle (deg on chip)", 114 det->psfTheta->data.F32[i]); 115 psMetadataAddF32(row, PS_LIST_TAIL, "PSF_QUALITY", 0, "PSF quality factor", 116 det->quality->data.F32[i]); 117 psMetadataAddS32(row, PS_LIST_TAIL, "PSF_NPIX", 0, "Number of pixels in PSF", 118 det->numPix->data.S32[i]); 119 psMetadataAddF32(row, PS_LIST_TAIL, "MOMENTS_XX", 0, "xx moment", det->xxMoment->data.F32[i]); 120 psMetadataAddF32(row, PS_LIST_TAIL, "MOMENTS_XY", 0, "xy moment", det->xyMoment->data.F32[i]); 121 psMetadataAddF32(row, PS_LIST_TAIL, "MOMENTS_YY", 0, "yy moment", det->yyMoment->data.F32[i]); 122 psMetadataAddS32(row, PS_LIST_TAIL, "N_POS", 0, "Number of positive pixels", 123 det->nPos->data.S32[i]); 124 psMetadataAddF32(row, PS_LIST_TAIL, "F_POS", 0, "Fraction of positive pixels", 125 det->fPos->data.F32[i]); 126 psMetadataAddF32(row, PS_LIST_TAIL, "RATIO_BAD", 0, "Ratio of positive pixels to negative", 127 det->nRatioBad->data.F32[i]); 128 psMetadataAddF32(row, PS_LIST_TAIL, "RATIO_MASK", 0, "Ratio of positive pixels to masked", 129 det->nRatioMask->data.F32[i]); 130 psMetadataAddF32(row, PS_LIST_TAIL, "RATIO_ALL", 0, "Ratio of positive pixels to all", 131 det->nRatioAll->data.F32[i]); 100 132 psMetadataAddU32(row, PS_LIST_TAIL, "FLAGS", 0, "Detection bit flags", det->flags->data.U32[i]); 101 133 psMetadataAddS64(row, PS_LIST_TAIL, "DIFF_SKYFILE_ID", 0, "Identifier for diff skyfile", 102 134 det->diffSkyfileId->data.S64[i]); 135 103 136 table->data[i] = row; 104 137 }
Note:
See TracChangeset
for help on using the changeset viewer.
