Changeset 1404 for trunk/psLib/src/image/psImageExtraction.c
- Timestamp:
- Aug 6, 2004, 11:50:14 AM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/image/psImageExtraction.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/image/psImageExtraction.c
r1385 r1404 9 9 * @author Robert DeSonia, MHPCC 10 10 * 11 * @version $Revision: 1. 5$ $Name: not supported by cvs2svn $12 * @date $Date: 2004-08-0 4 23:37:39$11 * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-08-06 21:50:13 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 230 230 231 231 psVector* psImageSlice( psVector* out, 232 psVector* slicePositions, 232 233 const psImage* restrict in, 233 234 const psImage* restrict mask, … … 321 322 psVector* maskVec = NULL; 322 323 psMaskType* maskData = NULL; 324 psU32* outPosition = NULL; 323 325 324 326 // recycle output to make a proper sized/type output structure 325 327 // n.b. type is double as that is the type given for all stats in psStats. 326 out = psVectorRecycle( out, PS_TYPE_F64, numCols ); 328 out = psVectorRecycle( out, numCols, PS_TYPE_F64); 329 if (slicePositions != NULL) { 330 slicePositions = psVectorRecycle(slicePositions,numCols,PS_TYPE_U32); 331 outPosition = slicePositions->data.U32; 332 } 327 333 outData = out->data.F64; 328 334 if ( delta < 0 ) { … … 355 361 (void)p_psGetStatValue(myStats,&statVal); \ 356 362 *outData = statVal; \ 363 if (outPosition != NULL) { \ 364 *(outPosition++) = col+c; \ 365 } \ 357 366 outData += delta; \ 358 367 } \ … … 385 394 psVector* maskVec = NULL; 386 395 int elementSize = PSELEMTYPE_SIZEOF( type ); 396 psU32* outPosition = NULL; 387 397 388 398 // fill in psVectors to fake out the statistics functions. … … 398 408 // recycle output to make a proper sized/type output structure 399 409 // n.b. type is double as that is the type given for all stats in psStats. 400 out = psVectorRecycle( out, PS_TYPE_F64, numRows ); 410 out = psVectorRecycle( out, numRows, PS_TYPE_F64 ); 411 if (slicePositions != NULL) { 412 slicePositions = psVectorRecycle(slicePositions,numRows,PS_TYPE_U32); 413 outPosition = slicePositions->data.U32; 414 } 401 415 outData = out->data.F64; 402 416 if ( delta < 0 ) { … … 413 427 ( void ) p_psGetStatValue( myStats, &statVal ); // we know it works cause we tested it above 414 428 *outData = statVal; 429 if (outPosition != NULL) { 430 *(outPosition++) = row+r; 431 } 415 432 outData += delta; 416 433 }
Note:
See TracChangeset
for help on using the changeset viewer.
