IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 9, 2009, 2:53:12 PM (17 years ago)
Author:
Paul Price
Message:

Merging branches/pap (unconvolved stacks, reworked combinePixels function into clearer roles, only throw out most variant pixel on each iteration, throw suspect pixels out as first rejection step) stack development. I think I've got everything, but not entirely sure, since I've already merged this branch once before (for dual convolution).

Location:
trunk/ppStack
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppStack

  • trunk/ppStack/src/ppStackCombineInitial.c

    r23767 r26076  
    99#include "ppStack.h"
    1010#include "ppStackLoop.h"
     11
     12//#define TESTING                         // Enable test output
    1113
    1214bool ppStackCombineInitial(ppStackThreadData *stack, ppStackOptions *options, pmConfig *config)
     
    6062    // Harvest the jobs, gathering the inspection lists
    6163    options->inspect = psArrayAlloc(options->num);
     64    options->rejected = psArrayAlloc(options->num);
    6265    for (int i = 0; i < options->num; i++) {
    6366        if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i]) {
     
    6568        }
    6669        options->inspect->data[i] = psArrayAllocEmpty(numChunk);
     70        options->rejected->data[i] = psArrayAllocEmpty(numChunk);
    6771    }
    6872    psThreadJob *job;               // Completed job
     
    7175                 "Job has incorrect type: %s", job->type);
    7276        psArray *results = job->results; // Results of job
     77        psAssert(results->n == 2, "Results array has wrong size!");
     78        psArray *inspect = results->data[0]; // Pixels to inspect
     79        psArray *reject = results->data[1];  // Pixels to reject
    7380        for (int i = 0; i < options->num; i++) {
    7481            if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i]) {
    7582                continue;
    7683            }
    77             options->inspect->data[i] = psArrayAdd(options->inspect->data[i], 1, results->data[i]);
     84            options->inspect->data[i] = psArrayAdd(options->inspect->data[i], 1, inspect->data[i]);
     85            options->rejected->data[i] = psArrayAdd(options->rejected->data[i], 1, reject->data[i]);
    7886        }
    7987        psFree(job);
     
    8391
    8492#ifdef TESTING
    85     ppStackWriteImage("combined_initial.fits", NULL, outRO->image, config);
    86     pmStackVisualPlotTestImage(outRO->image, "combined_initial.fits");
     93    ppStackWriteImage("combined_image_initial.fits", NULL, options->outRO->image, config);
     94    ppStackWriteImage("combined_mask_initial.fits", NULL, options->outRO->mask, config);
     95    ppStackWriteImage("combined_variance_initial.fits", NULL, options->outRO->variance, config);
     96
     97    pmStackVisualPlotTestImage(options->outRO->image, "combined_image_initial.fits");
    8798#endif
    88 
    89     psFree(options->matchChi2); options->matchChi2 = NULL;
    90 
    9199
    92100    if (options->stats) {
Note: See TracChangeset for help on using the changeset viewer.