IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 18, 2005, 7:18:20 PM (21 years ago)
Author:
desonia
Message:

fixes to psRegion.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/image/tst_psImageStats.c

    r3973 r3977  
    113113            tmpImage2 = psImageAlloc( IMAGE_X_SIZE*2, IMAGE_Y_SIZE*2, PS_TYPE_F32 );
    114114            tmpMask2 = psImageAlloc( IMAGE_X_SIZE*2, IMAGE_Y_SIZE*2, PS_TYPE_U8 );
    115             tmpImage = psImageSubset(tmpImage2, (psRegion) {
    116                                          IMAGE_X_SIZE/4, IMAGE_Y_SIZE/4,
    117                                          IMAGE_X_SIZE/4+IMAGE_X_SIZE, IMAGE_Y_SIZE/4+IMAGE_Y_SIZE
    118                                      }
    119                                     );
    120             tmpMask= psImageSubset(tmpMask2,(psRegion) {
    121                                        IMAGE_X_SIZE/4, IMAGE_Y_SIZE/4,
    122                                        IMAGE_X_SIZE/4+IMAGE_X_SIZE, IMAGE_Y_SIZE/4+IMAGE_Y_SIZE
    123                                    }
    124                                   );
     115            tmpImage = psImageSubset(tmpImage2, psRegionSet(IMAGE_X_SIZE/4, IMAGE_X_SIZE/4+IMAGE_X_SIZE,
     116                                     IMAGE_Y_SIZE/4, IMAGE_Y_SIZE/4+IMAGE_Y_SIZE));
     117            tmpMask= psImageSubset(tmpMask2, psRegionSet(IMAGE_X_SIZE/4, IMAGE_X_SIZE/4+IMAGE_X_SIZE,
     118                                   IMAGE_Y_SIZE/4, IMAGE_Y_SIZE/4+IMAGE_Y_SIZE));
    125119        }
    126120
     
    291285            tmpImage2 = psImageAlloc( IMAGE_X_SIZE*2, IMAGE_Y_SIZE*2, PS_TYPE_F32 );
    292286            tmpMask2 = psImageAlloc( IMAGE_X_SIZE*2, IMAGE_Y_SIZE*2, PS_TYPE_U8 );
    293             tmpImage = psImageSubset(tmpImage2,(psRegion) {
    294                                          IMAGE_X_SIZE/4, IMAGE_Y_SIZE/4,
    295                                          IMAGE_X_SIZE/4+IMAGE_X_SIZE, IMAGE_Y_SIZE/4+IMAGE_Y_SIZE
    296                                      }
    297                                     );
    298             tmpMask = psImageSubset(tmpMask2,(psRegion) {
    299                                         IMAGE_X_SIZE/4, IMAGE_Y_SIZE/4,
    300                                         IMAGE_X_SIZE/4+IMAGE_X_SIZE, IMAGE_Y_SIZE/4+IMAGE_Y_SIZE
    301                                     }
    302                                    );
    303         }
    304 
    305         for ( i = 0;i < tmpImage->numRows;i++ ) {
    306             for ( j = 0;j < tmpImage->numCols;j++ ) {
    307                 tmpImage->data.F32[ i ][ j ] = ( float ) ( i + j );
    308             }
    309         }
    310         for ( i = 0;i < tmpMask->numRows;i++ ) {
    311             for ( j = 0;j < tmpMask->numCols;j++ ) {
    312                 if ( ( i > ( tmpMask->numRows / 2 ) ) &&
    313                         ( j > ( tmpMask->numCols / 2 ) ) ) {
    314                     tmpMask->data.U8[ i ][ j ] = 1;
    315                 } else {
    316                     tmpMask->data.U8[ i ][ j ] = 0;
    317                 }
    318             }
    319         }
    320 
    321         myStats = psStatsAlloc( PS_STAT_SAMPLE_MEAN );
    322         /*************************************************************************/
    323         /*  Calculate Sample Mean with no mask                           */
    324         /*************************************************************************/
    325         psStats* tmpStats = myStats;
    326         myStats = psImageStats( myStats, tmpImage, NULL, 0 );
    327         if ( myStats != tmpStats ) {
    328             fprintf(stderr,"ERROR: input psStats not equal to return psStats\n");
    329             psAbort(__func__,"Failed input psStats equal to returned psStats");
    330         }
    331         fprintf(stderr, "The sample mean was %.2f\n", myStats->sampleMean );
    332 
    333         /*************************************************************************/
    334         /*  Calculate Sample Mean with mask                              */
    335         /*************************************************************************/
    336 
    337         myStats = psImageStats( myStats, tmpImage, tmpMask, 1 );
    338         fprintf(stderr, "The sample mean was %.2f\n", myStats->sampleMean );
    339 
    340         /*************************************************************************/
    341         /*  Deallocate data structures                                   */
    342         /*************************************************************************/
    343         psFree( myStats );
    344         psFree( tmpImage );
    345         psFree( tmpMask );
    346         psFree( tmpImage2 );
    347         psFree( tmpMask2 );
    348     }
    349 
    350     /*************************************************************************/
    351     /*  Test With Various Null Inputs                                        */
    352     /*************************************************************************/
    353 
    354     tmpImage = psImageAlloc( IMAGE_X_SIZE, IMAGE_Y_SIZE, PS_TYPE_F32 );
    355     tmpMask = psImageAlloc( IMAGE_X_SIZE, IMAGE_Y_SIZE, PS_TYPE_U8 );
    356     myStats = psStatsAlloc( 0 );
    357 
    358     myStats2 = psImageStats( myStats, NULL, NULL, 0 );
    359     if ( myStats2 != NULL ) {
    360         fprintf(stderr, "ERROR: myStats2 = psImageStats(myStats, NULL, NULL, 0) != NULL\n" );
    361     }
    362 
    363     myStats2 = psImageStats( NULL, tmpImage, NULL, 0 );
    364     if ( myStats2 != NULL ) {
    365         fprintf(stderr, "ERROR: myStats2 = psImageStats(NULL, tmpImage, NULL, 0) != NULL\n" );
    366     }
    367 
    368     myStats2 = psImageStats( myStats, tmpImage, NULL, 0 );
    369 
    370     psFree( myStats );
    371     psFree( tmpImage );
    372     psFree( tmpMask );
    373 
    374     tmpImage = psImageAlloc( IMAGE_X_SIZE, IMAGE_Y_SIZE, PS_TYPE_F32);
    375     tmpMask = psImageAlloc( IMAGE_X_SIZE, IMAGE_Y_SIZE, PS_TYPE_U32);
    376     myStats = psStatsAlloc( PS_STAT_SAMPLE_MEAN );
    377     myStats2 = psImageStats( myStats, tmpImage, tmpMask, 0 );
    378     if ( myStats2 != NULL ) {
    379         fprintf(stderr, "ERROR: psImageStats did not return null when mask is invalid type.\n");
    380     }
    381     psFree(tmpImage);
    382     psFree(tmpMask);
    383     psFree(myStats);
    384 
    385     return ( !testStatus );
     287            tmpImage = psImageSubset(tmpImage2, psRegionSet(IMAGE_X_SIZE/4, IMAGE_X_SIZE/4+IMAGE_X_SIZE,
     288                                     IMAGE_Y_SIZE/4, IMAGE_Y_SIZE/4+IMAGE_Y_SIZE
     289                                 }
     290                                                       );
     291        tmpMask = psImageSubset(tmpMask2, psRegionSet(IMAGE_X_SIZE/4, IMAGE_X_SIZE/4+IMAGE_X_SIZE,
     292                                IMAGE_Y_SIZE/4, IMAGE_Y_SIZE/4+IMAGE_Y_SIZE
     293                            }
     294                                                 );
     295}
     296
     297for ( i = 0;i < tmpImage->numRows;i++ )
     298{
     299    for ( j = 0;j < tmpImage->numCols;j++ ) {
     300        tmpImage->data.F32[ i ][ j ] = ( float ) ( i + j );
     301    }
     302}
     303for ( i = 0;i < tmpMask->numRows;i++ )
     304{
     305    for ( j = 0;j < tmpMask->numCols;j++ ) {
     306        if ( ( i > ( tmpMask->numRows / 2 ) ) &&
     307                ( j > ( tmpMask->numCols / 2 ) ) ) {
     308            tmpMask->data.U8[ i ][ j ] = 1;
     309        } else {
     310            tmpMask->data.U8[ i ][ j ] = 0;
     311        }
     312    }
     313}
     314
     315myStats = psStatsAlloc( PS_STAT_SAMPLE_MEAN );
     316/*************************************************************************/
     317/*  Calculate Sample Mean with no mask                           */
     318/*************************************************************************/
     319psStats* tmpStats = myStats;
     320myStats = psImageStats( myStats, tmpImage, NULL, 0 );
     321if ( myStats != tmpStats )
     322{
     323    fprintf(stderr,"ERROR: input psStats not equal to return psStats\n");
     324    psAbort(__func__,"Failed input psStats equal to returned psStats");
     325}
     326fprintf(stderr, "The sample mean was %.2f\n", myStats->sampleMean );
     327
     328/*************************************************************************/
     329/*  Calculate Sample Mean with mask                              */
     330/*************************************************************************/
     331
     332myStats = psImageStats( myStats, tmpImage, tmpMask, 1 );
     333fprintf(stderr, "The sample mean was %.2f\n", myStats->sampleMean );
     334
     335/*************************************************************************/
     336/*  Deallocate data structures                                   */
     337/*************************************************************************/
     338psFree( myStats );
     339psFree( tmpImage );
     340psFree( tmpMask );
     341psFree( tmpImage2 );
     342psFree( tmpMask2 );
     343}
     344
     345/*************************************************************************/
     346/*  Test With Various Null Inputs                                        */
     347/*************************************************************************/
     348
     349tmpImage = psImageAlloc( IMAGE_X_SIZE, IMAGE_Y_SIZE, PS_TYPE_F32 );
     350tmpMask = psImageAlloc( IMAGE_X_SIZE, IMAGE_Y_SIZE, PS_TYPE_U8 );
     351myStats = psStatsAlloc( 0 );
     352
     353myStats2 = psImageStats( myStats, NULL, NULL, 0 );
     354if ( myStats2 != NULL ) {
     355    fprintf(stderr, "ERROR: myStats2 = psImageStats(myStats, NULL, NULL, 0) != NULL\n" )
     356    ;
     357}
     358
     359myStats2 = psImageStats( NULL, tmpImage, NULL, 0 );
     360if ( myStats2 != NULL ) {
     361    fprintf(stderr, "ERROR: myStats2 = psImageStats(NULL, tmpImage, NULL, 0) != NULL\n" )
     362    ;
     363}
     364
     365myStats2 = psImageStats( myStats, tmpImage, NULL, 0 );
     366
     367psFree( myStats );
     368psFree( tmpImage );
     369psFree( tmpMask );
     370
     371tmpImage = psImageAlloc( IMAGE_X_SIZE, IMAGE_Y_SIZE, PS_TYPE_F32);
     372tmpMask = psImageAlloc( IMAGE_X_SIZE, IMAGE_Y_SIZE, PS_TYPE_U32);
     373myStats = psStatsAlloc( PS_STAT_SAMPLE_MEAN );
     374myStats2 = psImageStats( myStats, tmpImage, tmpMask, 0 );
     375if ( myStats2 != NULL ) {
     376    fprintf(stderr, "ERROR: psImageStats did not return null when mask is invalid type.\n")
     377    ;
     378}
     379psFree(tmpImage);
     380psFree(tmpMask);
     381psFree(myStats);
     382
     383return ( !testStatus );
    386384}
    387385
Note: See TracChangeset for help on using the changeset viewer.