IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 20, 2004, 11:39:14 AM (22 years ago)
Author:
gusciora
Message:

Tests for the subtract sky modules.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/test/tst_pmSubtractSky.c

    r2757 r2761  
    77 *  @author GLG, MHPCC
    88 *
    9  *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2004-12-18 02:28:33 $
     9 *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2004-12-20 21:39:14 $
    1111 *
    1212 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    1515#include "pslib.h"
    1616#include "pmSubtractSky.h"
    17 #define NUM_ROWS 5
    18 #define NUM_COLS 5
     17#define NUM_ROWS 512
     18#define NUM_COLS 512
    1919#define POLY_X_ORDER 3
    20 #define POLY_Y_ORDER 5
    21 
     20#define POLY_Y_ORDER 3
     21#define TOL 1.0
     22#define OBJECT_INTENSITY 2000.0
    2223static int test00(void);
    2324testDescription tests[] = {
     
    4950        for (j=0;j<numCols;j++) {
    5051            myReadout->image->data.F32[i][j] = func(i, j);
    51             //printf("data[%d][%d] is %.2f\n", i, j, myReadout->image->data.F32[i][j]);
    5252        }
    5353    }
     
    5757    for (i=0;i<numRows;i++) {
    5858        for (j=0;j<numCols;j++) {
    59             if (1.0 < fabs(myReadout->image->data.F32[i][j])) {
     59            if (TOL < fabs(myReadout->image->data.F32[i][j])) {
    6060                printf("ERROR: image[%d][%d] is %f, should be 0.0\n", i, j, myReadout->image->data.F32[i][j]);
    6161                testStatus = 1;
     
    7878    psStats *myStats = psStatsAlloc(PS_STAT_SAMPLE_MEAN);
    7979    psPolynomial2D *myPoly = psPolynomial2DAlloc(POLY_X_ORDER, POLY_Y_ORDER, PS_POLYNOMIAL_ORD);
     80    psImage *trueImage = psImageAlloc(numCols, numRows, PS_TYPE_F32);
     81    psF32 errorTolerance = TOL * ((psF32) binFactor);
    8082
    8183    for (i=0;i<numRows;i++) {
    8284        for (j=0;j<numCols;j++) {
    8385            myReadout->image->data.F32[i][j] = func(i, j);
    84             //printf("data[%d][%d] is %.2f\n", i, j, myReadout->image->data.F32[i][j]);
    8586        }
    8687    }
    8788    // We insert a few bright spots in the image.
    88     myReadout->image->data.F32[NUM_ROWS/4][NUM_COLS/4]+= 1000.0;
    89     myReadout->image->data.F32[NUM_ROWS/4][3*NUM_COLS/4]+= 1000.0;
    90     myReadout->image->data.F32[3*NUM_ROWS/4][NUM_COLS/4]+= 1000.0;
    91     myReadout->image->data.F32[3*NUM_ROWS/4][3*NUM_COLS/4]+= 1000.0;
    92     for (i=0;i<numRows;i++) {
    93         for (j=0;j<numCols;j++) {
    94             printf("data[%d][%d] is %.2f\n", i, j, myReadout->image->data.F32[i][j]);
    95         }
    96     }
     89    myReadout->image->data.F32[NUM_ROWS/4][NUM_COLS/4]+= OBJECT_INTENSITY;
     90    myReadout->image->data.F32[NUM_ROWS/4][3*NUM_COLS/4]+= OBJECT_INTENSITY;
     91    myReadout->image->data.F32[3*NUM_ROWS/4][NUM_COLS/4]+= OBJECT_INTENSITY;
     92    myReadout->image->data.F32[3*NUM_ROWS/4][3*NUM_COLS/4]+= OBJECT_INTENSITY;
     93    PS_IMAGE_SET_F32(trueImage, 0.0);
     94    trueImage->data.F32[NUM_ROWS/4][NUM_COLS/4]+= OBJECT_INTENSITY;
     95    trueImage->data.F32[NUM_ROWS/4][3*NUM_COLS/4]+= OBJECT_INTENSITY;
     96    trueImage->data.F32[3*NUM_ROWS/4][NUM_COLS/4]+= OBJECT_INTENSITY;
     97    trueImage->data.F32[3*NUM_ROWS/4][3*NUM_COLS/4]+= OBJECT_INTENSITY;
    9798
    9899    myReadout = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL,
     
    100101    for (i=0;i<numRows;i++) {
    101102        for (j=0;j<numCols;j++) {
    102             if (1.0 < fabs(myReadout->image->data.F32[i][j])) {
    103                 printf("ERROR: image[%d][%d] is %f, should be 0.0\n", i, j, myReadout->image->data.F32[i][j]);
     103            if (errorTolerance < fabs(myReadout->image->data.F32[i][j] - trueImage->data.F32[i][j])) {
     104                printf("ERROR: image[%d][%d] is %f, should be %f\n", i, j,
     105                       myReadout->image->data.F32[i][j], trueImage->data.F32[i][j]);
    104106                testStatus = 1;
    105107            }
     
    109111    psFree(myStats);
    110112    psFree(myPoly);
     113    psFree(trueImage);
    111114    return(testStatus);
    112115}
     
    118121
    119122    psTraceSetLevel(".", 0);
     123
    120124    // Bin Factor == 1
    121     //    testStatus |= doSubtractSkySimple(1, 1, 1);
    122     //    testStatus |= doSubtractSkySimple(NUM_COLS, 1, 1);
    123     //    testStatus |= doSubtractSkySimple(1, NUM_ROWS, 1);
    124     //    testStatus |= doSubtractSkySimple(NUM_COLS, NUM_ROWS, 1);
     125    /*
     126    */
     127    printf("doSubtractSkySimple(1, 1, 1)\n");
     128    testStatus |= doSubtractSkySimple(1, 1, 1);
     129    printf("doSubtractSkySimple(NUM_COLS, 1, 1)\n");
     130    testStatus |= doSubtractSkySimple(NUM_COLS, 1, 1);
     131
     132    printf("doSubtractSkySimple(1, NUM_ROWS, 1)\n");
     133    testStatus |= doSubtractSkySimple(1, NUM_ROWS, 1);
     134    printf("doSubtractSkySimple(NUM_COLS, NUM_ROWS, 1)\n");
     135    testStatus |= doSubtractSkySimple(NUM_COLS, NUM_ROWS, 1);
    125136
    126137    // Bin Factor == 2
    127     //    testStatus |= doSubtractSkySimple(1, 1, 2);
    128     //    testStatus |= doSubtractSkySimple(NUM_COLS, 1, 2);
    129     //    testStatus |= doSubtractSkySimple(1, NUM_ROWS, 2);
    130     //    testStatus |= doSubtractSkySimple(NUM_COLS, NUM_ROWS, 2);
     138    printf("doSubtractSkySimple(1, 1, 2)\n");
     139    testStatus |= doSubtractSkySimple(1, 1, 2);
     140    printf("doSubtractSkySimple(NUM_COLS, 1, 2)\n");
     141    testStatus |= doSubtractSkySimple(NUM_COLS, 1, 2);
     142    printf("doSubtractSkySimple(1, NUM_ROWS, 2)\n");
     143    testStatus |= doSubtractSkySimple(1, NUM_ROWS, 2);
     144    printf("doSubtractSkySimple(NUM_COLS, NUM_ROWS, 2)\n");
     145    testStatus |= doSubtractSkySimple(NUM_COLS, NUM_ROWS, 2);
    131146
     147    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 1)\n");
    132148    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 1);
     149    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 2)\n");
     150    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 2);
     151    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 4)\n");
     152    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 4);
     153    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 8)\n");
     154    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 8);
     155    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 16)\n");
     156    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 16);
     157    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 32)\n");
     158    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 32);
     159    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 64)\n");
     160    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 64);
     161    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 128)\n");
     162    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 128);
     163    printf("doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 256)\n");
     164    testStatus |= doSubtractSkyWithObjects(NUM_COLS, NUM_ROWS, 256);
    133165
    134166    return(testStatus);
Note: See TracChangeset for help on using the changeset viewer.