Changeset 1606
- Timestamp:
- Aug 23, 2004, 12:36:04 PM (22 years ago)
- Location:
- trunk/psLib
- Files:
-
- 12 edited
-
psLib.kdevses (modified) (1 diff)
-
src/image/psImage.c (modified) (5 diffs)
-
src/image/psImage.h (modified) (2 diffs)
-
src/image/psImageExtraction.c (modified) (5 diffs)
-
src/image/psImageExtraction.h (modified) (3 diffs)
-
src/mathtypes/psImage.c (modified) (5 diffs)
-
src/mathtypes/psImage.h (modified) (2 diffs)
-
src/sys/psMemory.h (modified) (2 diffs)
-
src/sysUtils/psMemory.h (modified) (2 diffs)
-
test/image/tst_psImage.c (modified) (14 diffs)
-
test/image/tst_psImageFFT.c (modified) (5 diffs)
-
test/image/verified/tst_psImage.stderr (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/psLib.kdevses
r1549 r1606 2 2 <!DOCTYPE KDevPrjSession> 3 3 <KDevPrjSession> 4 <DocsAndViews NumberOfDocuments=" 8" >5 <Doc0 NumberOfViews="1" URL="file:/home/desonia/psLib/src/ sysUtils/psMemory.c" >4 <DocsAndViews NumberOfDocuments="2" > 5 <Doc0 NumberOfViews="1" URL="file:/home/desonia/psLib/src/image/psImage.c" > 6 6 <View0 line="0" Type="???" > 7 <AdditionalSettings Top="2" Width="11 36" Attach="1" Height="751" Left="2" MinMaxMode="0" />7 <AdditionalSettings Top="2" Width="1183" Attach="1" Height="775" Left="2" MinMaxMode="0" /> 8 8 </View0> 9 9 </Doc0> 10 <Doc1 NumberOfViews="1" URL="file:/home/desonia/psLib/ test/sysUtils/tst_psMemory.c" >11 <View0 line=" 227" Type="???" >12 <AdditionalSettings Top="2" Width="11 36" Attach="1" Height="533" Left="2" MinMaxMode="0" />10 <Doc1 NumberOfViews="1" URL="file:/home/desonia/psLib/src/image/psImage.h" > 11 <View0 line="31" Type="???" > 12 <AdditionalSettings Top="2" Width="1183" Attach="1" Height="749" Left="2" MinMaxMode="0" /> 13 13 </View0> 14 14 </Doc1> 15 <Doc2 NumberOfViews="1" URL="file:/home/desonia/psLib/src/sysUtils/psType.h" >16 <View0 line="93" Type="???" >17 <AdditionalSettings Top="2" Width="1136" Attach="1" Height="533" Left="2" MinMaxMode="0" />18 </View0>19 </Doc2>20 <Doc3 NumberOfViews="1" URL="file:/home/desonia/psLib/test/astronomy/tst_psMetadata_02.c" >21 <View0 line="0" Type="???" >22 <AdditionalSettings Top="2" Width="1136" Attach="1" Height="533" Left="2" MinMaxMode="0" />23 </View0>24 </Doc3>25 <Doc4 NumberOfViews="1" URL="file:/home/desonia/psLib/test/astronomy/tst_psMetadata_01.c" >26 <View0 line="242" Type="???" >27 <AdditionalSettings Top="2" Width="1136" Attach="1" Height="531" Left="2" MinMaxMode="0" />28 </View0>29 </Doc4>30 <Doc5 NumberOfViews="1" URL="file:/home/desonia/psLib/src/astronomy/psMetadata.c" >31 <View0 line="45" Type="???" >32 <AdditionalSettings Top="2" Width="1136" Attach="1" Height="533" Left="2" MinMaxMode="0" />33 </View0>34 </Doc5>35 <Doc6 NumberOfViews="1" URL="file:/home/desonia/psLib/src/sysUtils/psError.c" >36 <View0 line="86" Type="???" >37 <AdditionalSettings Top="2" Width="1136" Attach="1" Height="531" Left="2" MinMaxMode="0" />38 </View0>39 </Doc6>40 <Doc7 NumberOfViews="1" URL="file:/home/desonia/psLib/src/astronomy/makedir/psAstrometry.d" >41 <View0 line="0" Type="???" >42 <AdditionalSettings Top="2" Width="1136" Attach="1" Height="533" Left="2" MinMaxMode="0" />43 </View0>44 </Doc7>45 15 </DocsAndViews> 46 16 <pluginList> -
trunk/psLib/src/image/psImage.c
r1440 r1606 10 10 * @author Ross Harman, MHPCC 11 11 * 12 * @version $Revision: 1. 39$ $Name: not supported by cvs2svn $13 * @date $Date: 2004-08- 09 23:34:58$12 * @version $Revision: 1.40 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2004-08-23 22:36:03 $ 14 14 * 15 15 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 43 43 { 44 44 int area = 0; 45 int elementSize = PSELEMTYPE_SIZEOF(type); // element 46 47 // size in 48 // bytes 49 int rowSize = numCols * elementSize; // row 50 51 // size 52 53 // in bytes. 45 int elementSize = PSELEMTYPE_SIZEOF(type); // element size in bytes 46 int rowSize = numCols * elementSize; // row size in bytes. 54 47 55 48 area = numCols * numRows; … … 71 64 image->data.V = psAlloc(sizeof(void *) * numRows); 72 65 if (image->data.V == NULL) { 66 psFree(image); 73 67 psAbort(__func__, " : Line %d - Failed to allocate memory", __LINE__); 74 68 } 75 69 76 image->data.V[0] = psAlloc(area * elementSize); 77 if (image->data.V[0] == NULL) { 70 image->rawDataBuffer = psAlloc(area * elementSize); 71 if (image->rawDataBuffer == NULL) { 72 psFree(image); 73 psFree(image->data.V); 78 74 psAbort(__func__, " : Line %d - Failed to allocate memory", __LINE__); 79 75 } 80 76 77 // set the row pointers. 78 image->data.V[0] = image->rawDataBuffer; 81 79 for (int i = 1; i < numRows; i++) { 82 80 image->data.V[i] = (void *)((int8_t *) image->data.V[i - 1] + rowSize); … … 119 117 psImageFreeChildren(image); 120 118 121 psFree(image-> data.V[0]);119 psFree(image->rawDataBuffer); 122 120 psFree(image->data.V); 123 121 image->data.V = NULL; … … 167 165 } 168 166 // Resize the image buffer 169 old-> data.V[0]= psRealloc(old->data.V[0], numCols * numRows * elementSize);167 old->rawDataBuffer = psRealloc(old->data.V[0], numCols * numRows * elementSize); 170 168 old->data.V = (void **)psRealloc(old->data.V, numRows * sizeof(void *)); 171 169 172 170 // recreate the row pointers 171 old->data.V[0] = old->rawDataBuffer; 173 172 for (int i = 1; i < numRows; i++) { 174 173 old->data.V[i] = (void *)((int8_t *) old->data.V[i - 1] + rowSize); -
trunk/psLib/src/image/psImage.h
r1442 r1606 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.3 2$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-08- 10 01:05:53 $14 * @version $Revision: 1.33 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-08-23 22:36:03 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 68 68 int nChildren; ///< Number of subimages. 69 69 struct psImage* *children; ///< Children of this region. 70 71 void* rawDataBuffer; 70 72 } 71 73 psImage; -
trunk/psLib/src/image/psImageExtraction.c
r1603 r1606 10 10 * @author Robert DeSonia, MHPCC 11 11 * 12 * @version $Revision: 1.1 0$ $Name: not supported by cvs2svn $13 * @date $Date: 2004-08-2 0 01:10:54$12 * @version $Revision: 1.11 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2004-08-23 22:36:03 $ 14 14 * 15 15 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 23 23 #include "psError.h" 24 24 25 psImage* psImageSubset(psImage* out, 26 psImage* image, 25 psImage* psImageSubset(psImage* image, 27 26 unsigned int numCols, 28 27 unsigned int numRows, … … 30 29 unsigned int row0) 31 30 { 32 unsigned int elementSize; // size of image 33 34 // element in 35 // bytes 36 unsigned int outputRowSize; // output row 37 38 // size in bytes 39 unsigned int inputColOffset; // offset 40 41 // in 42 // bytes 43 // to 44 // first 45 // subset 46 47 // pixel in input row 31 psImage* out; 32 unsigned int elementSize; // size of image element in bytes 33 unsigned int inputColOffset; // offset in bytes to first subset pixel in input row 48 34 49 35 if (image == NULL || image->data.V == NULL) { … … 80 66 elementSize = PSELEMTYPE_SIZEOF(image->type.type); 81 67 82 out = psImageRecycle(out, numCols, numRows, image->type.type); 83 84 // set the parent information into the child 85 // output image 86 *(int *)&out->row0 = row0; 87 *(int *)&out->col0 = col0; 88 *(psImage* *) & out->parent = (psImage* ) image; 68 out = psAlloc(sizeof(psImage)); 69 *(psType*)&out->type = image->type; 70 *(unsigned int*)&out->numCols = numCols; 71 *(unsigned int*)&out->numRows = numRows; 72 *(int*)&out->row0 = row0; 73 *(int*)&out->col0 = col0; 74 out->parent = image; 75 out->nChildren = 0; 76 out->children = NULL; 77 out->rawDataBuffer = psMemIncrRefCounter(image->rawDataBuffer); 78 out->data.V = psAlloc(sizeof(void*)*numRows); 79 80 // set the new psImage's deallocator to the same as the input image 81 p_psMemSetDeallocator(out,p_psMemGetDeallocator(image)); 82 83 inputColOffset = elementSize * col0; 84 for (int row = 0; row < numRows; row++) { 85 out->data.V[row] = image->data.U8[row0 + row] + inputColOffset; 86 } 89 87 90 88 // add output image as a child of the input 91 89 // image. 92 90 image->nChildren++; 93 image->children = (psImage* *) psRealloc(image->children, image->nChildren * sizeof(psImage* ));91 image->children = (psImage**) psRealloc(image->children, image->nChildren * sizeof(psImage* )); 94 92 image->children[image->nChildren - 1] = out; 95 96 inputColOffset = elementSize * col0;97 outputRowSize = elementSize * numCols;98 99 for (int row = 0; row < numRows; row++) {100 memcpy(out->data.V[row], image->data.U8[row0 + row] + inputColOffset, outputRowSize);101 }102 93 103 94 return (out); … … 151 142 // datatype. 152 143 if (type == inDatatype) { 153 memcpy(output->data.V[0], input->data.V[0], elementSize * elements); 144 for (int row=0;row<numRows;row++) { 145 memcpy(output->data.V[row], input->data.V[row], elementSize * numCols); 146 } 154 147 return output; 155 148 } 156 149 #define PSIMAGE_ELEMENT_COPY(IN,INTYPE,OUT,OUTTYPE,ELEMENTS) { \ 157 ps##INTYPE *in = IN->data.INTYPE[0]; \ 158 ps##OUTTYPE *out = OUT->data.OUTTYPE[0]; \ 159 for (int e=0;e<ELEMENTS;e++) { \ 160 *(out++) = *(in++); \ 150 ps##INTYPE *in; \ 151 ps##OUTTYPE *out; \ 152 for(int row=0;row<numRows;row++) { \ 153 in = IN->data.INTYPE[row]; \ 154 out = OUT->data.OUTTYPE[row]; \ 155 for (int col=0;col<numCols;col++) { \ 156 *(out++) = *(in++); \ 157 } \ 161 158 } \ 162 159 } -
trunk/psLib/src/image/psImageExtraction.h
r1441 r1606 10 10 * @author Robert DeSonia, MHPCC 11 11 * 12 * @version $Revision: 1. 9$ $Name: not supported by cvs2svn $13 * @date $Date: 2004-08- 09 23:40:55$12 * @version $Revision: 1.10 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2004-08-23 22:36:03 $ 14 14 * 15 15 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 44 44 */ 45 45 psImage* psImageSubset( 46 psImage* out, ///< image to recycle, or NULL.47 46 psImage* image, ///< Parent image. 48 47 unsigned int numCols, ///< Subimage width (<= image.nCols - col0). … … 50 49 unsigned int col0, ///< Subimage col-offset (0 <= col0 < nCol). 51 50 unsigned int row0 ///< Subimage row-offset (0 <= row0 < nCol). 51 ); 52 53 /** Create a subimage of the specified area. 54 * 55 * Uses psLib memory allocation functions to create an image based on a larger 56 * one. 57 * 58 * @return psImage* : Pointer to psImage. 59 * 60 */ 61 psImage* psImageSubsection( 62 psImage* image, ///< Parent image. 63 const char* section ///< Subsection in the form '[x1:x2,y1:y2]' 52 64 ); 53 65 -
trunk/psLib/src/mathtypes/psImage.c
r1440 r1606 10 10 * @author Ross Harman, MHPCC 11 11 * 12 * @version $Revision: 1. 39$ $Name: not supported by cvs2svn $13 * @date $Date: 2004-08- 09 23:34:58$12 * @version $Revision: 1.40 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2004-08-23 22:36:03 $ 14 14 * 15 15 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 43 43 { 44 44 int area = 0; 45 int elementSize = PSELEMTYPE_SIZEOF(type); // element 46 47 // size in 48 // bytes 49 int rowSize = numCols * elementSize; // row 50 51 // size 52 53 // in bytes. 45 int elementSize = PSELEMTYPE_SIZEOF(type); // element size in bytes 46 int rowSize = numCols * elementSize; // row size in bytes. 54 47 55 48 area = numCols * numRows; … … 71 64 image->data.V = psAlloc(sizeof(void *) * numRows); 72 65 if (image->data.V == NULL) { 66 psFree(image); 73 67 psAbort(__func__, " : Line %d - Failed to allocate memory", __LINE__); 74 68 } 75 69 76 image->data.V[0] = psAlloc(area * elementSize); 77 if (image->data.V[0] == NULL) { 70 image->rawDataBuffer = psAlloc(area * elementSize); 71 if (image->rawDataBuffer == NULL) { 72 psFree(image); 73 psFree(image->data.V); 78 74 psAbort(__func__, " : Line %d - Failed to allocate memory", __LINE__); 79 75 } 80 76 77 // set the row pointers. 78 image->data.V[0] = image->rawDataBuffer; 81 79 for (int i = 1; i < numRows; i++) { 82 80 image->data.V[i] = (void *)((int8_t *) image->data.V[i - 1] + rowSize); … … 119 117 psImageFreeChildren(image); 120 118 121 psFree(image-> data.V[0]);119 psFree(image->rawDataBuffer); 122 120 psFree(image->data.V); 123 121 image->data.V = NULL; … … 167 165 } 168 166 // Resize the image buffer 169 old-> data.V[0]= psRealloc(old->data.V[0], numCols * numRows * elementSize);167 old->rawDataBuffer = psRealloc(old->data.V[0], numCols * numRows * elementSize); 170 168 old->data.V = (void **)psRealloc(old->data.V, numRows * sizeof(void *)); 171 169 172 170 // recreate the row pointers 171 old->data.V[0] = old->rawDataBuffer; 173 172 for (int i = 1; i < numRows; i++) { 174 173 old->data.V[i] = (void *)((int8_t *) old->data.V[i - 1] + rowSize); -
trunk/psLib/src/mathtypes/psImage.h
r1442 r1606 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.3 2$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-08- 10 01:05:53 $14 * @version $Revision: 1.33 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-08-23 22:36:03 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 68 68 int nChildren; ///< Number of subimages. 69 69 struct psImage* *children; ///< Children of this region. 70 71 void* rawDataBuffer; 70 72 } 71 73 psImage; -
trunk/psLib/src/sys/psMemory.h
r1448 r1606 12 12 * @ingroup MemoryManagement 13 13 * 14 * @version $Revision: 1.2 8$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-08- 10 01:55:34$14 * @version $Revision: 1.29 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-08-23 22:36:03 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 135 135 ); 136 136 137 void p_psMemSetDeallocator(void *ptr, psFreeFcn freeFcn);138 psFreeFcn p_psMemGetDeallocator(void *ptr);139 140 137 /// Memory allocation. psAlloc sends file and line number to p_psAlloc. 141 138 #define psAlloc(size) p_psAlloc(size, __FILE__, __LINE__) 142 139 #endif 140 141 /** Set the deallocator routine 142 * 143 * A deallocator routine can optionally be assigned to a memory block to 144 * ensure that associated memory blocks also get freed, e.g., memory buffers 145 * referenced within a struct. 146 * 147 */ 148 void p_psMemSetDeallocator( 149 void *ptr, ///< the memory block to operate on 150 psFreeFcn freeFcn ///< the function to be executed at deallocation 151 ); 152 153 /** Get the deallocator routine 154 * 155 * This function returns the deallocator for a memory block. A deallocator 156 * routine can optionally be assigned to a memory block to ensure that 157 * associated memory blocks also get freed, e.g., memory buffers referenced 158 * within a struct. 159 * 160 * @return psFreeFcn the routine to be called at deallocation. 161 */ 162 psFreeFcn p_psMemGetDeallocator( 163 void *ptr ///< the memory block 164 ); 143 165 144 166 /** Memory re-allocation. This operates much like realloc(), but is guaranteed to return a non-NULL value. -
trunk/psLib/src/sysUtils/psMemory.h
r1448 r1606 12 12 * @ingroup MemoryManagement 13 13 * 14 * @version $Revision: 1.2 8$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-08- 10 01:55:34$14 * @version $Revision: 1.29 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-08-23 22:36:03 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 135 135 ); 136 136 137 void p_psMemSetDeallocator(void *ptr, psFreeFcn freeFcn);138 psFreeFcn p_psMemGetDeallocator(void *ptr);139 140 137 /// Memory allocation. psAlloc sends file and line number to p_psAlloc. 141 138 #define psAlloc(size) p_psAlloc(size, __FILE__, __LINE__) 142 139 #endif 140 141 /** Set the deallocator routine 142 * 143 * A deallocator routine can optionally be assigned to a memory block to 144 * ensure that associated memory blocks also get freed, e.g., memory buffers 145 * referenced within a struct. 146 * 147 */ 148 void p_psMemSetDeallocator( 149 void *ptr, ///< the memory block to operate on 150 psFreeFcn freeFcn ///< the function to be executed at deallocation 151 ); 152 153 /** Get the deallocator routine 154 * 155 * This function returns the deallocator for a memory block. A deallocator 156 * routine can optionally be assigned to a memory block to ensure that 157 * associated memory blocks also get freed, e.g., memory buffers referenced 158 * within a struct. 159 * 160 * @return psFreeFcn the routine to be called at deallocation. 161 */ 162 psFreeFcn p_psMemGetDeallocator( 163 void *ptr ///< the memory block 164 ); 143 165 144 166 /** Memory re-allocation. This operates much like realloc(), but is guaranteed to return a non-NULL value. -
trunk/psLib/test/image/tst_psImage.c
r1406 r1606 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2004-08- 06 22:34:06$8 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-08-23 22:36:03 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 50 50 psLogSetLevel(PS_LOG_INFO); 51 51 52 if (! runTestSuite(stderr,"psImage",tests,argc,argv)) { 53 psError(__FILE__,"One or more tests failed"); 54 return 1; 55 } 56 return 0; 52 return ! runTestSuite(stderr,"psImage",tests,argc,argv); 57 53 } 58 54 … … 247 243 // children isfreed. 248 244 image = psImageAlloc(100,100,PS_TYPE_F32); 249 psImageSubset( NULL,image,50,50,0,0);250 psImageSubset( NULL,image,50,50,20,20);245 psImageSubset(image,50,50,0,0); 246 psImageSubset(image,50,50,20,20); 251 247 252 248 psFree(image); … … 273 269 } 274 270 275 psLogMsg(__func__,PS_LOG_INFO,"memcpy(&preSubsetStruct,original,sizeof(psImage));");276 271 memcpy(&preSubsetStruct,original,sizeof(psImage)); 277 272 278 psLogMsg(__func__,PS_LOG_INFO,"subset1 = psImageAlloc(c/4,r/4,PS_TYPE_U8);"); 279 subset1 = psImageAlloc(c/4,r/4,PS_TYPE_U8); 280 281 psLogMsg(__func__,PS_LOG_INFO,"subset2 = psImageSubset(subset1,original,c/2,r/2,c/4,r/4);"); 282 subset2 = psImageSubset(subset1,original,c/2,r/2,c/4,r/4); 283 284 psLogMsg(__func__,PS_LOG_INFO,"subset3 = psImageSubset(NULL,original,c/2,r/2,0,0);"); 285 subset3 = psImageSubset(NULL,original,c/2,r/2,0,0); 286 287 psLogMsg(__func__,PS_LOG_INFO,"Verify the returned psImage structure is equal to the input psImage " 288 "structure parameter out, if input parameter out is specified."); 289 290 if (subset1 != subset2 || subset2 == NULL) { 291 psError(__func__,"psImageSubset didn't recycle the psImage given"); 292 return 1; 293 } 294 295 psLogMsg(__func__,PS_LOG_INFO,"Verify a new psImage structure is created, if input parameter out is set " 296 "to null."); 297 298 if (subset3 == NULL) { 299 psError(__func__,"psImageSubset output was NULL for subset3."); 300 return 2; 301 } 273 subset2 = psImageSubset(original,c/2,r/2,c/4,r/4); 274 275 subset3 = psImageSubset(original,c/2,r/2,0,0); 302 276 303 277 psLogMsg(__func__,PS_LOG_INFO,"Verify the returned psImage structure contains expected values in the " … … 397 371 398 372 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 399 subset1 = psImageSubset(NULL, NULL,c/2,r/2,0,0);373 subset1 = psImageSubset(NULL,c/2,r/2,0,0); 400 374 if (subset1 != NULL) { 401 375 psError(__func__,"psImageSubset didn't return NULL when input image was NULL."); … … 409 383 memcpy(&preSubsetStruct,original,sizeof(psImage)); 410 384 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 411 subset1 = psImageSubset( NULL,original,c/2,0,0,0);385 subset1 = psImageSubset(original,c/2,0,0,0); 412 386 if (subset1 != NULL) { 413 387 psError(__func__,"psImageSubset didn't return NULL when numRows=0."); … … 415 389 } 416 390 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 417 subset1 = psImageSubset( NULL,original,0,r/2,0,0);391 subset1 = psImageSubset(original,0,r/2,0,0); 418 392 if (subset1 != NULL) { 419 393 psError(__func__,"psImageSubset didn't return NULL when numCols=0."); … … 431 405 432 406 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 433 subset1 = psImageSubset( NULL,original,c/2,r/2,c,0);407 subset1 = psImageSubset(original,c/2,r/2,c,0); 434 408 if (subset1 != NULL) { 435 409 psError(__func__,"psImageSubset didn't return NULL when subset origin was outside of " … … 438 412 } 439 413 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 440 subset1 = psImageSubset( NULL,original,c/2,r/2,0,r);414 subset1 = psImageSubset(original,c/2,r/2,0,r); 441 415 if (subset1 != NULL) { 442 416 psError(__func__,"psImageSubset didn't return NULL when subset origin was outside of " … … 445 419 } 446 420 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 447 subset1 = psImageSubset( NULL,original,c/2,r/2,-1,0);421 subset1 = psImageSubset(original,c/2,r/2,-1,0); 448 422 if (subset1 != NULL) { 449 423 psError(__func__,"psImageSubset didn't return NULL when subset origin was outside of " … … 452 426 } 453 427 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 454 subset1 = psImageSubset( NULL,original,c/2,r/2,0,-1);428 subset1 = psImageSubset(original,c/2,r/2,0,-1); 455 429 if (subset1 != NULL) { 456 430 psError(__func__,"psImageSubset didn't return NULL when subset origin was outside of " … … 465 439 466 440 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 467 subset1 = psImageSubset( NULL,original,c/2,r/2,c/2,0);441 subset1 = psImageSubset(original,c/2,r/2,c/2,0); 468 442 if (subset1 != NULL) { 469 443 psError(__func__,"psImageSubset didn't return NULL when subset was outside of image (via rows)."); … … 471 445 } 472 446 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 473 subset1 = psImageSubset( NULL,original,c/2,r/2,0,r/2);447 subset1 = psImageSubset(original,c/2,r/2,0,r/2); 474 448 if (subset1 != NULL) { 475 449 psError(__func__,"psImageSubset didn't return NULL when subset was outside of image (via cols)."); … … 477 451 } 478 452 psLogMsg(__func__,PS_LOG_INFO,"An error should follow..."); 479 subset1 = psImageSubset( NULL,original,c/2,r/2,c/2,r/2);453 subset1 = psImageSubset(original,c/2,r/2,c/2,r/2); 480 454 if (subset1 != NULL) { 481 455 psError(__func__,"psImageSubset didn't return NULL when subset was outside of image (via row+cols)."); -
trunk/psLib/test/image/tst_psImageFFT.c
r1406 r1606 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1. 5$ $Name: not supported by cvs2svn $9 * @date $Date: 2004-08- 06 22:34:06$8 * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-08-23 22:36:03 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 58 58 psLogSetLevel(PS_LOG_INFO); 59 59 60 if (! runTestSuite(stderr,"psFFT",tests,argc,argv) ) { 61 psAbort(__FILE__,"One or more tests failed"); 62 } 63 return 0; 60 return (! runTestSuite(stderr,"psFFT",tests,argc,argv) ); 64 61 } 65 62 … … 84 81 85 82 // 2. perform a forward transform 86 img2 = psImageFFT( NULL,img,PS_FFT_FORWARD);83 img2 = psImageFFT(img2,img,PS_FFT_FORWARD); 87 84 if (img2->type.type != PS_TYPE_C32) { 88 85 psError(__func__,"FFT didn't produce complex values?"); … … 109 106 } 110 107 108 111 109 // 4. perform a reverse transform 112 img3 = psImageFFT(NULL,img2,PS_FFT_REVERSE); 110 img3 = psImageFFT(img3,img2,PS_FFT_REVERSE); 111 113 112 if (img3->type.type != PS_TYPE_C32) { 114 113 psError(__func__,"FFT didn't produce complex values?"); … … 122 121 psF32 pixel = creal(img3Row[col])/m/n; 123 122 if (fabsf(pixel-imgRow[col]) > 0.1) { 124 psError(__func__,"Reverse FFT didn't gi me original image back (%d,%d %.2f vs %.2f)",123 psError(__func__,"Reverse FFT didn't give original image back (%d,%d %.2f vs %.2f)", 125 124 col,row,pixel,imgRow[col]); 126 125 return 5; -
trunk/psLib/test/image/verified/tst_psImage.stderr
r1404 r1606 39 39 \**********************************************************************************/ 40 40 41 <DATE><TIME>|<HOST>|I|testImageSubset|memcpy(&preSubsetStruct,original,sizeof(psImage));42 <DATE><TIME>|<HOST>|I|testImageSubset|subset1 = psImageAlloc(c/4,r/4,PS_TYPE_U8);43 <DATE><TIME>|<HOST>|I|testImageSubset|subset2 = psImageSubset(subset1,original,c/2,r/2,c/4,r/4);44 <DATE><TIME>|<HOST>|I|testImageSubset|subset3 = psImageSubset(NULL,original,c/2,r/2,0,0);45 <DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure is equal to the input psImage structure parameter out, if input parameter out is specified.46 <DATE><TIME>|<HOST>|I|testImageSubset|Verify a new psImage structure is created, if input parameter out is set to null.47 41 <DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure contains expected values in the row member, if the input psImage structure image contains known values. 48 42 <DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure members nrow and ncol are equal to the input parameter nrow and ncol respectively.
Note:
See TracChangeset
for help on using the changeset viewer.
