Changeset 2133
- Timestamp:
- Oct 14, 2004, 12:54:14 PM (22 years ago)
- Location:
- trunk/psModules
- Files:
-
- 2 edited
-
src/pmSubtractBias.c (modified) (2 diffs)
-
test/tst_pmSubtractBias.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/pmSubtractBias.c
r2132 r2133 6 6 * @author George Gusciora, MHPCC 7 7 * 8 * @version $Revision: 1.1 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2004-10-14 22: 33:28$8 * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-10-14 22:54:14 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 252 252 253 253 if (overScanAxis == PM_OVERSCAN_ALL) { 254 psImageStats(stat, in->image, in->mask, 0xffffffff); 255 p_psGetStatValue(stat, &statValue); 256 p_psImageSubtractScalar(in->image, statValue); 254 tmpOverscan = (psListElem *) overscans->head; 255 while (NULL != tmpOverscan) { 256 myOverscanImage = (psImage *) tmpOverscan->data; 257 psImageStats(stat, myOverscanImage, NULL, 0xffffffff); 258 p_psGetStatValue(stat, &statValue); 259 p_psImageSubtractScalar(in->image, statValue); 260 261 tmpOverscan = tmpOverscan->next; 262 } 257 263 return(in); 258 264 } -
trunk/psModules/test/tst_pmSubtractBias.c
r2132 r2133 7 7 * @author GLG, MHPCC 8 8 * 9 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-10-14 22: 33:28$9 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-10-14 22:54:14 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 17 17 #include "pmSubtractBias.h" 18 18 static int test00(void); 19 static int test01(void); 19 20 testDescription tests[] = { 20 21 {test00, 000, "pmSubtractBias", 0, false}, 22 {test01, 000, "pmSubtractBias", 0, false}, 21 23 {NULL} 22 24 }; … … 28 30 } 29 31 30 #define NUM_ROWS 831 #define NUM_COLS 832 #define NUM_ROWS 4 33 #define NUM_COLS 4 32 34 int doSubtractBiasFullFrame(int numCols, int numRows) 33 35 { … … 37 39 float expect; 38 40 int testStatus = 0; 39 psImage * myImage1 = psImageAlloc(numCols, numRows, PS_TYPE_F32);40 psImage * myImage2 = psImageAlloc(numCols, numRows, PS_TYPE_F32);41 psReadout *myReadout = psReadoutAlloc(numCols, numRows, myImage1);42 psReadout *myBias = psReadoutAlloc(numCols, numRows, myImage2);41 psImage *tmpImage1 = psImageAlloc(numCols, numRows, PS_TYPE_F32); 42 psImage *tmpImage2 = psImageAlloc(numCols, numRows, PS_TYPE_F32); 43 psReadout *myReadout = psReadoutAlloc(numCols, numRows, tmpImage1); 44 psReadout *myBias = psReadoutAlloc(numCols, numRows, tmpImage2); 43 45 44 46 for (i=0;i<numRows;i++) { … … 72 74 } 73 75 76 74 77 int test00( void ) 75 78 { 76 79 int testStatus = 0; 77 80 81 testStatus |= doSubtractBiasFullFrame(1, 1); 82 testStatus |= doSubtractBiasFullFrame(NUM_COLS, 1); 83 testStatus |= doSubtractBiasFullFrame(1, NUM_ROWS); 78 84 testStatus |= doSubtractBiasFullFrame(NUM_COLS, NUM_ROWS); 79 85 80 86 return(testStatus); 81 87 } 88 89 int doSubtractFullOverscans(int numCols, int numRows) 90 { 91 int i; 92 int j; 93 float actual; 94 float expect; 95 int testStatus = 0; 96 psImage *tmpImage1 = psImageAlloc(numCols, numRows, PS_TYPE_F32); 97 psImage *tmpImage2 = psImageAlloc(numCols, numRows, PS_TYPE_F32); 98 psImage *tmpImage3 = psImageAlloc(numCols, numRows, PS_TYPE_F32); 99 psImage *tmpImage4 = psImageAlloc(numCols, numRows, PS_TYPE_F32); 100 psReadout *myReadout = psReadoutAlloc(numCols, numRows, tmpImage1); 101 psList *list; 102 psStats *stat = psStatsAlloc(PS_STAT_SAMPLE_MEAN); 103 104 for (i=0;i<numRows;i++) { 105 for (j=0;j<numCols;j++) { 106 myReadout->image->data.F32[i][j] = (float) (i + j); 107 tmpImage2->data.F32[i][j] = 3.0; 108 tmpImage3->data.F32[i][j] = 4.0; 109 tmpImage4->data.F32[i][j] = 5.0; 110 } 111 } 112 list = psListAlloc(tmpImage2); 113 psListAdd(list, PS_LIST_HEAD, tmpImage3); 114 psListAdd(list, PS_LIST_HEAD, tmpImage4); 115 116 printPositiveTestHeader(stdout, "pmSubtractBias", "Multiple Overscan Frames"); 117 118 myReadout = pmSubtractBias(myReadout, NULL, list, PM_OVERSCAN_ALL, stat, 119 0, PM_FIT_NONE, NULL); 120 121 for (i=0;i<numRows;i++) { 122 for (j=0;j<numCols;j++) { 123 expect = ((float) (i + j)) - 12.0; 124 actual = myReadout->image->data.F32[i][j]; 125 if (FLT_EPSILON < fabs(expect - actual)) { 126 printf("ERROR: image[%d][%d] is %f, should be %f\n", i, j, actual, expect); 127 testStatus = 1; 128 } 129 } 130 } 131 132 133 psFree(myReadout); 134 psFree(tmpImage2); 135 psFree(tmpImage3); 136 psFree(tmpImage4); 137 psFree(stat); 138 psFree(list); 139 140 printFooter(stdout, "pmSubtractBias", "Multiple Overscan Frames", true); 141 return(testStatus); 142 } 143 144 int test01( void ) 145 { 146 int testStatus = 0; 147 148 testStatus |= doSubtractFullOverscans(1, 1); 149 testStatus |= doSubtractFullOverscans(1, NUM_ROWS); 150 testStatus |= doSubtractFullOverscans(NUM_COLS, 1); 151 testStatus |= doSubtractFullOverscans(NUM_COLS, NUM_ROWS); 152 153 return(testStatus); 154 }
Note:
See TracChangeset
for help on using the changeset viewer.
