Changeset 14801 for trunk/psModules/src/imcombine/pmSubtraction.c
- Timestamp:
- Sep 10, 2007, 10:10:05 AM (19 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/imcombine/pmSubtraction.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imcombine/pmSubtraction.c
r14753 r14801 4 4 * @author GLG, MHPCC 5 5 * 6 * @version $Revision: 1.5 8$ $Name: not supported by cvs2svn $7 * @date $Date: 2007-09- 05 21:20:20$6 * @version $Revision: 1.59 $ $Name: not supported by cvs2svn $ 7 * @date $Date: 2007-09-10 20:10:05 $ 8 8 * 9 9 * Copyright 2004-2007 Institute for Astronomy, University of Hawaii … … 582 582 583 583 584 bool pmSubtractionCalculateEquation(psArray *stamps, const pmSubtractionKernels *kernels, int footprint) 585 { 586 PS_ASSERT_ARRAY_NON_NULL(stamps, false); 584 bool pmSubtractionCalculateEquation(pmSubtractionStampList *stamps, const pmSubtractionKernels *kernels, 585 int footprint) 586 { 587 PM_ASSERT_SUBTRACTION_STAMP_LIST_NON_NULL(stamps, false); 587 588 PS_ASSERT_PTR_NON_NULL(kernels, false); 588 589 PS_ASSERT_VECTORS_SIZE_EQUAL(kernels->u, kernels->v, false); … … 601 602 // We iterate over each stamp, allocate the matrix and vectors if 602 603 // necessary, and then calculate those matrix/vectors. 603 for (int i = 0; i < stamps->n ; i++) {604 pmSubtractionStamp *stamp = stamps-> data[i]; // Stamp of interest604 for (int i = 0; i < stamps->num; i++) { 605 pmSubtractionStamp *stamp = stamps->stamps->data[i]; // Stamp of interest 605 606 if (stamp->status != PM_SUBTRACTION_STAMP_CALCULATE) { 606 607 continue; … … 736 737 737 738 738 psVector *pmSubtractionSolveEquation(psVector *solution, const p sArray*stamps)739 { 740 P S_ASSERT_ARRAY_NON_NULL(stamps, NULL);739 psVector *pmSubtractionSolveEquation(psVector *solution, const pmSubtractionStampList *stamps) 740 { 741 PM_ASSERT_SUBTRACTION_STAMP_LIST_NON_NULL(stamps, NULL); 741 742 742 743 // Check inputs, while summing the stamp matrices and vectors 743 744 long numParams = -1; // Number of parameters 744 for (int i = 0; i < stamps->n ; i++) {745 pmSubtractionStamp *stamp = stamps-> data[i]; // Stamp of interest745 for (int i = 0; i < stamps->num; i++) { 746 pmSubtractionStamp *stamp = stamps->stamps->data[i]; // Stamp of interest 746 747 PS_ASSERT_PTR_NON_NULL(stamp, NULL); 747 748 if (stamp->status != PM_SUBTRACTION_STAMP_USED) { … … 772 773 psVectorInit(sumVector, 0.0); 773 774 psImageInit(sumMatrix, 0.0); 774 for (int i = 0; i < stamps->n ; i++) {775 pmSubtractionStamp *stamp = stamps-> data[i]; // Stamp of interest775 for (int i = 0; i < stamps->num; i++) { 776 pmSubtractionStamp *stamp = stamps->stamps->data[i]; // Stamp of interest 776 777 if (stamp->status == PM_SUBTRACTION_STAMP_USED) { 777 778 (void)psBinaryOp(sumMatrix, sumMatrix, "+", stamp->matrix); … … 810 811 811 812 812 int pmSubtractionRejectStamps(p sArray*stamps, psImage *subMask, const psVector *solution,813 int pmSubtractionRejectStamps(pmSubtractionStampList *stamps, psImage *subMask, const psVector *solution, 813 814 int footprint, float sigmaRej, const pmSubtractionKernels *kernels) 814 815 { 815 P S_ASSERT_ARRAY_NON_NULL(stamps, -1);816 PM_ASSERT_SUBTRACTION_STAMP_LIST_NON_NULL(stamps, -1); 816 817 PS_ASSERT_IMAGE_NON_EMPTY(subMask, -1); 817 818 PS_ASSERT_IMAGE_TYPE(subMask, PS_TYPE_MASK, -1); … … 825 826 826 827 // Measure deviations 827 psVector *deviations = psVectorAlloc(stamps->n , PS_TYPE_F32); // Mean deviation for stamps828 psVector *deviations = psVectorAlloc(stamps->num, PS_TYPE_F32); // Mean deviation for stamps 828 829 double totalSquareDev = 0.0; // Total square deviation from zero 829 830 int numStamps = 0; // Number of used stamps … … 834 835 float background = solution->data.F64[solution->n-1]; // The difference in background 835 836 836 for (int i = 0; i < stamps->n ; i++) {837 pmSubtractionStamp *stamp = stamps-> data[i]; // The stamp of interest837 for (int i = 0; i < stamps->num; i++) { 838 pmSubtractionStamp *stamp = stamps->stamps->data[i]; // The stamp of interest 838 839 if (stamp->status != PM_SUBTRACTION_STAMP_USED) { 839 840 continue; … … 899 900 900 901 int numRejected = 0; 901 for (int i = 0; i < stamps->n ; i++) {902 pmSubtractionStamp *stamp = stamps-> data[i]; // Stamp of interest902 for (int i = 0; i < stamps->num; i++) { 903 pmSubtractionStamp *stamp = stamps->stamps->data[i]; // Stamp of interest 903 904 if (stamp->status == PM_SUBTRACTION_STAMP_USED && deviations->data.F32[i] > limit) { 904 905 // Mask out the stamp in the image so you it's not found again
Note:
See TracChangeset
for help on using the changeset viewer.
