Changeset 29556 for trunk/ppTranslate/src/ppMopsDetections.c
- Timestamp:
- Oct 25, 2010, 4:29:35 PM (16 years ago)
- File:
-
- 1 edited
-
trunk/ppTranslate/src/ppMopsDetections.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppTranslate/src/ppMopsDetections.c
r28623 r29556 2 2 #include <config.h> 3 3 #endif 4 5 4 #include <stdio.h> 6 5 #include <pslib.h> 7 8 6 #include "ppMops.h" 9 7 … … 43 41 psFree(det->nRatioMask); 44 42 psFree(det->nRatioAll); 45 43 psFree(det->psfInstFlux); 44 psFree(det->psfInstFluxSig); 45 psFree(det->apMag); 46 psFree(det->apMagRadius); 47 psFree(det->apMagRaw); 48 psFree(det->apFlux); 49 psFree(det->apFluxSig); 50 psFree(det->peakFluxAsMag); 51 psFree(det->calPsfMag); 52 psFree(det->calPsfMagSig); 53 psFree(det->sky); 54 psFree(det->skySig); 55 psFree(det->qualityPerfect); 56 psFree(det->momentsR1); 57 psFree(det->momentsRH); 58 psFree(det->kronFlux); 59 psFree(det->kronFluxErr); 60 psFree(det->kronFluxInner); 61 psFree(det->kronFluxOuter); 62 psFree(det->diffRP); 63 psFree(det->diffSnP); 64 psFree(det->diffRM); 65 psFree(det->diffSnM); 66 psFree(det->flags2); 67 psFree(det->ippIdet); 68 psFree(det->nFrames); 69 psFree(det->padding); 46 70 return; 47 71 } … … 51 75 ppMopsDetections *det = psAlloc(sizeof(ppMopsDetections)); // Detections, to return 52 76 psMemSetDeallocator(det, (psFreeFunc)mopsDetectionsFree); 53 54 77 det->raBoresight = NULL; 55 78 det->decBoresight = NULL; … … 93 116 det->nRatioMask = psVectorAllocEmpty(num, PS_TYPE_F32); 94 117 det->nRatioAll = psVectorAllocEmpty(num, PS_TYPE_F32); 95 118 det->psfInstFlux = psVectorAllocEmpty(num, PS_TYPE_F32); 119 det->psfInstFluxSig = psVectorAllocEmpty(num, PS_TYPE_F32); 120 det->apMag = psVectorAllocEmpty(num, PS_TYPE_F32); 121 det->apMagRadius = psVectorAllocEmpty(num, PS_TYPE_F32); 122 det->apMagRaw = psVectorAllocEmpty(num, PS_TYPE_F32); 123 det->apFlux = psVectorAllocEmpty(num, PS_TYPE_F32); 124 det->apFluxSig = psVectorAllocEmpty(num, PS_TYPE_F32); 125 det->peakFluxAsMag = psVectorAllocEmpty(num, PS_TYPE_F32); 126 det->calPsfMag = psVectorAllocEmpty(num, PS_TYPE_F32); 127 det->calPsfMagSig = psVectorAllocEmpty(num, PS_TYPE_F32); 128 det->sky = psVectorAllocEmpty(num, PS_TYPE_F32); 129 det->skySig = psVectorAllocEmpty(num, PS_TYPE_F32); 130 det->qualityPerfect = psVectorAllocEmpty(num, PS_TYPE_F32); 131 det->momentsR1 = psVectorAllocEmpty(num, PS_TYPE_F32); 132 det->momentsRH = psVectorAllocEmpty(num, PS_TYPE_F32); 133 det->kronFlux = psVectorAllocEmpty(num, PS_TYPE_F32); 134 det->kronFluxErr = psVectorAllocEmpty(num, PS_TYPE_F32); 135 det->kronFluxInner = psVectorAllocEmpty(num, PS_TYPE_F32); 136 det->kronFluxOuter = psVectorAllocEmpty(num, PS_TYPE_F32); 137 det->diffRP = psVectorAllocEmpty(num, PS_TYPE_F32); 138 det->diffSnP = psVectorAllocEmpty(num, PS_TYPE_F32); 139 det->diffRM = psVectorAllocEmpty(num, PS_TYPE_F32); 140 det->diffSnM = psVectorAllocEmpty(num, PS_TYPE_F32); 141 det->flags2 = psVectorAllocEmpty(num, PS_TYPE_U32); 142 det->ippIdet = psVectorAllocEmpty(num, PS_TYPE_U32); 143 det->nFrames = psVectorAllocEmpty(num, PS_TYPE_U16); 144 det->padding = psVectorAllocEmpty(num, PS_TYPE_S16); 96 145 return det; 97 146 } 98 99 147 100 148 ppMopsDetections *ppMopsDetectionsRealloc(ppMopsDetections *det, long num) … … 130 178 det->nRatioMask = psVectorRealloc(det->nRatioMask, num); 131 179 det->nRatioAll = psVectorRealloc(det->nRatioAll, num); 132 180 det->psfInstFlux = psVectorRealloc(det->psfInstFlux, num); 181 det->psfInstFluxSig = psVectorRealloc(det->psfInstFluxSig, num); 182 det->apMag = psVectorRealloc(det->apMag, num); 183 det->apMagRadius = psVectorRealloc(det->apMagRadius, num); 184 det->apMagRaw = psVectorRealloc(det->apMagRadius, num); 185 det->apFlux = psVectorRealloc(det->apMagRadius, num); 186 det->apFluxSig = psVectorRealloc(det->apMagRadius, num); 187 det->peakFluxAsMag = psVectorRealloc(det->peakFluxAsMag, num); 188 det->calPsfMag = psVectorRealloc(det->calPsfMag, num); 189 det->calPsfMagSig = psVectorRealloc(det->calPsfMagSig, num); 190 det->sky = psVectorRealloc(det->sky, num); 191 det->skySig = psVectorRealloc(det->skySig, num); 192 det->qualityPerfect = psVectorRealloc(det->qualityPerfect, num); 193 det->momentsR1 = psVectorRealloc(det->momentsR1, num); 194 det->momentsRH = psVectorRealloc(det->momentsRH, num); 195 det->kronFlux = psVectorRealloc(det->kronFlux, num); 196 det->kronFluxErr = psVectorRealloc(det->kronFluxErr, num); 197 det->kronFluxInner = psVectorRealloc(det->kronFluxInner, num); 198 det->kronFluxOuter = psVectorRealloc(det->kronFluxOuter, num); 199 det->diffRP = psVectorRealloc(det->diffRP, num); 200 det->diffSnP = psVectorRealloc(det->diffSnP, num); 201 det->diffRM = psVectorRealloc(det->diffRM, num); 202 det->diffSnM = psVectorRealloc(det->diffSnM, num); 203 det->flags2 = psVectorRealloc(det->flags2, num); 204 det->ippIdet = psVectorRealloc(det->ippIdet, num); 205 det->nFrames = psVectorRealloc(det->nFrames, num); 206 det->padding = psVectorRealloc(det->padding, num); 133 207 return det; 134 208 } 135 136 209 137 210 bool ppMopsDetectionsAdd(ppMopsDetections *det, float x, float y, double ra, double dec, … … 141 214 float xxMoment, float xyMoment, float yyMoment, 142 215 psU32 flags, psS64 diffSkyfileId, int naxis1, int naxis2, 143 int nPos, float fPos, float nRatioBad, float nRatioMask, float nRatioAll) 216 int nPos, float fPos, float nRatioBad, float nRatioMask, float nRatioAll, 217 float psfInstFlux, float psfInstFluxSig, 218 float apMag, float apMagRadius, float apMagRaw, float apFlux, float apFluxSig, 219 float peakFluxAsMag, float calPsfMag, float calPsfMagSig, 220 float sky, float skySig, float qualityPerfect, 221 float momentsR1, float momentsRH, 222 float kronFlux, float kronFluxErr, float kronFluxInner, float kronFluxOuter, 223 float diffRP, float diffSnP, float diffRM, float diffSnM, 224 psU32 flags2, psU32 ippIdet, psU16 nFrames, psS16 padding) 144 225 { 145 226 psVectorAppend(det->x, x); … … 173 254 psVectorAppend(det->nRatioMask, nRatioMask); 174 255 psVectorAppend(det->nRatioAll, nRatioAll); 175 256 psVectorAppend(det->psfInstFlux, psfInstFlux); 257 psVectorAppend(det->psfInstFluxSig, psfInstFluxSig); 258 psVectorAppend(det->apMag, apMag); 259 psVectorAppend(det->apMagRadius, apMagRadius); 260 psVectorAppend(det->apMagRaw, apMagRaw); 261 psVectorAppend(det->apFlux, apFlux); 262 psVectorAppend(det->apFluxSig, apFluxSig); 263 psVectorAppend(det->peakFluxAsMag, peakFluxAsMag); 264 psVectorAppend(det->calPsfMag, calPsfMag); 265 psVectorAppend(det->calPsfMagSig, calPsfMagSig); 266 psVectorAppend(det->sky, sky); 267 psVectorAppend(det->skySig, skySig); 268 psVectorAppend(det->qualityPerfect, qualityPerfect); 269 psVectorAppend(det->momentsR1, momentsR1); 270 psVectorAppend(det->momentsRH, momentsRH); 271 psVectorAppend(det->kronFlux, kronFlux); 272 psVectorAppend(det->kronFluxErr, kronFluxErr); 273 psVectorAppend(det->kronFluxInner, kronFluxInner); 274 psVectorAppend(det->kronFluxOuter, kronFluxOuter); 275 psVectorAppend(det->diffRP, diffRP); 276 psVectorAppend(det->diffSnP, diffSnP); 277 psVectorAppend(det->diffRM, diffRM); 278 psVectorAppend(det->diffSnM, diffSnM); 279 psVectorAppend(det->flags2, flags2); 280 psVectorAppend(det->ippIdet, ippIdet); 281 psVectorAppend(det->nFrames, nFrames); 282 psVectorAppend(det->padding, padding); 176 283 return true; 177 284 } 178 179 285 180 286 bool ppMopsDetectionsCopySingle(ppMopsDetections *target, const ppMopsDetections *source, long index) … … 210 316 psVectorAppend(target->nRatioMask, source->nRatioMask->data.F32[index]); 211 317 psVectorAppend(target->nRatioAll, source->nRatioAll->data.F32[index]); 318 psVectorAppend(target->psfInstFlux, source->psfInstFlux->data.F32[index]); 319 psVectorAppend(target->psfInstFluxSig, source->psfInstFluxSig->data.F32[index]); 320 psVectorAppend(target->apMag, source->apMag->data.F32[index]); 321 psVectorAppend(target->apMagRadius, source->apMagRadius->data.F32[index]); 322 psVectorAppend(target->apMagRaw, source->apMagRaw->data.F32[index]); 323 psVectorAppend(target->apFlux, source->apFlux->data.F32[index]); 324 psVectorAppend(target->apFluxSig, source->apFluxSig->data.F32[index]); 325 psVectorAppend(target->peakFluxAsMag, source->peakFluxAsMag->data.F32[index]); 326 psVectorAppend(target->calPsfMag, source->calPsfMag->data.F32[index]); 327 psVectorAppend(target->calPsfMagSig, source->calPsfMagSig->data.F32[index]); 328 psVectorAppend(target->sky, source->sky->data.F32[index]); 329 psVectorAppend(target->skySig, source->skySig->data.F32[index]); 330 psVectorAppend(target->qualityPerfect, source->qualityPerfect->data.F32[index]); 331 psVectorAppend(target->momentsR1, source->momentsR1->data.F32[index]); 332 psVectorAppend(target->momentsRH, source->momentsRH->data.F32[index]); 333 psVectorAppend(target->kronFlux, source->kronFlux->data.F32[index]); 334 psVectorAppend(target->kronFluxErr, source->kronFluxErr->data.F32[index]); 335 psVectorAppend(target->kronFluxInner, source->kronFluxInner->data.F32[index]); 336 psVectorAppend(target->kronFluxOuter, source->kronFluxOuter->data.F32[index]); 337 psVectorAppend(target->diffRP, source->diffRP->data.F32[index]); 338 psVectorAppend(target->diffSnP, source->diffSnP->data.F32[index]); 339 psVectorAppend(target->diffRM, source->diffRM->data.F32[index]); 340 psVectorAppend(target->diffSnM, source->diffSnM->data.F32[index]); 341 psVectorAppend(target->flags2, source->flags2->data.U32[index]); 342 psVectorAppend(target->ippIdet, source->ippIdet->data.U32[index]); 343 psVectorAppend(target->nFrames, source->nFrames->data.U16[index]); 344 psVectorAppend(target->padding, source->padding->data.S16[index]); 212 345 213 346 target->num++; … … 257 390 det->nRatioMask->data.F32[num] = det->nRatioMask->data.F32[i]; 258 391 det->nRatioAll->data.F32[num] = det->nRatioAll->data.F32[i]; 392 det->psfInstFlux->data.F32[num] = det->psfInstFlux->data.F32[i]; 393 det->psfInstFluxSig->data.F32[num] = det->psfInstFluxSig->data.F32[i]; 394 det->apMag->data.F32[num] = det->apMag->data.F32[i]; 395 det->apMagRadius->data.F32[num] = det->apMagRadius->data.F32[i]; 396 det->apMagRaw->data.F32[num] = det->apMagRaw->data.F32[i]; 397 det->apFlux->data.F32[num] = det->apFlux->data.F32[i]; 398 det->apFluxSig->data.F32[num] = det->apFluxSig->data.F32[i]; 399 det->peakFluxAsMag->data.F32[num] = det->peakFluxAsMag->data.F32[i]; 400 det->calPsfMag->data.F32[num] = det->calPsfMag->data.F32[i]; 401 det->calPsfMagSig->data.F32[num] = det->calPsfMagSig->data.F32[i]; 402 det->sky->data.F32[num] = det->sky->data.F32[i]; 403 det->skySig->data.F32[num] = det->skySig->data.F32[i]; 404 det->qualityPerfect->data.F32[num] = det->qualityPerfect->data.F32[i]; 405 det->momentsR1->data.F32[num] = det->momentsR1->data.F32[i]; 406 det->momentsRH->data.F32[num] = det->momentsRH->data.F32[i]; 407 det->kronFlux->data.F32[num] = det->kronFlux->data.F32[i]; 408 det->kronFluxErr->data.F32[num] = det->kronFluxErr->data.F32[i]; 409 det->kronFluxInner->data.F32[num] = det->kronFluxInner->data.F32[i]; 410 det->kronFluxOuter->data.F32[num] = det->kronFluxOuter->data.F32[i]; 411 det->diffRP->data.F32[num] = det->diffRP->data.F32[i]; 412 det->diffSnP->data.F32[num] = det->diffSnP->data.F32[i]; 413 det->diffRM->data.F32[num] = det->diffRM->data.F32[i]; 414 det->diffSnM->data.F32[num] = det->diffSnM->data.F32[i]; 415 det->flags2->data.U32[num] = det->flags2->data.U32[i]; 416 det->ippIdet->data.U32[num] = det->ippIdet->data.U32[i]; 417 det->nFrames->data.U16[num] = det->nFrames->data.U16[i]; 418 det->padding->data.S16[num] = det->padding->data.S16[i]; 259 419 num++; 260 420 } … … 291 451 det->nRatioMask->n = num; 292 452 det->nRatioAll->n = num; 293 453 det->psfInstFlux->n = num; 454 det->psfInstFluxSig->n = num; 455 det->apMag->n = num; 456 det->apMagRadius->n = num; 457 det->apMagRaw->n = num; 458 det->apFlux->n = num; 459 det->apFluxSig->n = num; 460 det->peakFluxAsMag->n = num; 461 det->calPsfMag->n = num; 462 det->calPsfMagSig->n = num; 463 det->sky->n = num; 464 det->skySig->n = num; 465 det->qualityPerfect->n = num; 466 det->momentsR1->n = num; 467 det->momentsRH->n = num; 468 det->kronFlux->n = num; 469 det->kronFluxErr->n = num; 470 det->kronFluxInner->n = num; 471 det->kronFluxOuter->n = num; 472 det->diffRP->n = num; 473 det->diffSnP->n = num; 474 det->diffRM->n = num; 475 det->diffSnM->n = num; 476 det->flags2->n = num; 477 det->ippIdet->n = num; 478 det->nFrames->n = num; 479 det->padding->n = num; 294 480 return true; 295 481 } 296
Note:
See TracChangeset
for help on using the changeset viewer.
