Changeset 21199 for trunk/ppStack/src/ppStackLoop.c
- Timestamp:
- Jan 28, 2009, 10:49:50 AM (17 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackLoop.c (modified) (23 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackLoop.c
r21183 r21199 357 357 } 358 358 359 // Generate target PSF 359 360 targetPSF = ppStackPSF(config, numCols, numRows, psfs); 360 361 psFree(psfs); … … 365 366 return false; 366 367 } 368 psMetadataAddPtr(config->arguments, PS_LIST_TAIL, "PSF.TARGET", PS_DATA_UNKNOWN, 369 "Target PSF for stack", targetPSF); 367 370 368 371 pmChip *outChip = pmFPAviewThisChip(view, output->fpa); // Output chip … … 423 426 psFree(inputMask); 424 427 psFree(matchChi2); 428 psFree(fpaList); 429 psFree(cellList); 425 430 return false; 426 431 } … … 440 445 psFree(inputMask); 441 446 psFree(matchChi2); 447 psFree(fpaList); 448 psFree(cellList); 442 449 return false; 443 450 } … … 446 453 psArray *regions = NULL, *kernels = NULL; // Regions and kernels used in subtraction 447 454 psTimerStart("PPSTACK_MATCH"); 455 448 456 if (!ppStackMatch(readout, ®ions, &kernels, &matchChi2->data.F32[i], &weightings->data.F32[i], 449 457 sourceLists->data[i], targetPSF, rng, config)) { … … 476 484 assert(hdu); 477 485 writeImage(imageNames->data[i], hdu->header, readout->image, config); 478 writeImage(maskNames->data[i], hdu->header, readout->mask, config); 486 psMetadata *maskHeader = psMetadataCopy(NULL, hdu->header); // Copy of header, for mask 487 pmConfigMaskWriteHeader(config, maskHeader); 488 writeImage(maskNames->data[i], maskHeader, readout->mask, config); 489 psFree(maskHeader); 479 490 writeImage(weightNames->data[i], hdu->header, readout->weight, config); 480 491 … … 486 497 cells->data[i] = psMemIncrRefCounter(inCell); 487 498 if (!filesIterateUp(config)) { 499 psFree(fpaList); 500 psFree(cellList); 488 501 return false; 489 502 } … … 503 516 psFree(inputMask); 504 517 psFree(matchChi2); 518 psFree(fpaList); 519 psFree(cellList); 505 520 return false; 506 521 } … … 569 584 numGood = 0; // Number of good images 570 585 for (int i = 0; i < num; i++) { 571 if (inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_ALL) {586 if (inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_ALL) { 572 587 continue; 573 588 } … … 612 627 pmFPAview *view = NULL; // View to readout 613 628 psArray *inspect = NULL; // Array of arrays of pixels to inspect 614 psVector *exptimes = psVectorAlloc(num, PS_TYPE_F32); // Exposure times for each input615 629 { 616 630 int row0, col0; // Offset for readout … … 624 638 psFree(inputMask); 625 639 psFree(matchChi2); 626 psFree(exptimes);627 640 psFree(cells); 628 641 return false; … … 638 651 psFree(inputMask); 639 652 psFree(matchChi2); 640 psFree(exptimes);641 653 psFree(cells); 642 654 return false; … … 657 669 psFree(view); 658 670 psFree(outRO); 659 psFree(exptimes);660 671 psFree(cells); 661 672 return false; … … 678 689 psFree(view); 679 690 psFree(outRO); 680 psFree(exptimes);681 691 return false; 682 692 } … … 705 715 psFree(view); 706 716 psFree(outRO); 707 psFree(exptimes);708 717 return false; 709 718 } … … 720 729 psFree(view); 721 730 psFree(outRO); 722 psFree(exptimes);723 731 return false; 724 732 } … … 788 796 psFree(inspect); 789 797 psFree(rejected); 790 psFree(exptimes);791 798 return false; 792 799 } … … 804 811 psFree(inspect); 805 812 psFree(rejected); 806 psFree(exptimes);807 813 return false; 808 814 } … … 899 905 psFree(view); 900 906 psFree(outRO); 901 psFree(exptimes);902 907 return false; 903 908 } … … 928 933 psFree(view); 929 934 psFree(outRO); 930 psFree(exptimes);931 935 return false; 932 936 } … … 950 954 psFree(view); 951 955 psFree(outRO); 952 psFree(exptimes);953 956 return false; 954 957 } … … 963 966 psFree(view); 964 967 psFree(outRO); 965 psFree(exptimes);966 968 return false; 967 969 } … … 1042 1044 psFree(weightNames); 1043 1045 1044 psFree(exptimes);1045 1046 psFree(inputMask); 1046 1047 psFree(stack);
Note:
See TracChangeset
for help on using the changeset viewer.
