IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 25810


Ignore:
Timestamp:
Oct 8, 2009, 9:19:14 AM (17 years ago)
Author:
Paul Price
Message:

Final combination has to go into a nominated readout.

Location:
branches/pap/ppStack/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/pap/ppStack/src/ppStackCombineFinal.c

    r25809 r25810  
    1010#include "ppStackLoop.h"
    1111
    12 bool ppStackCombineFinal(ppStackThreadData *stack, ppStackOptions *options, pmConfig *config)
     12bool ppStackCombineFinal(pmReadout *target, ppStackThreadData *stack,
     13                         ppStackOptions *options, pmConfig *config)
    1314{
    1415    psAssert(stack, "Require stack");
     
    3031        }
    3132
    32         // call: ppStackReadoutFinal(config, outRO, readouts, rejected)
     33        // call: ppStackReadoutFinal(config, target, readouts, rejected)
    3334        psThreadJob *job = psThreadJobAlloc("PPSTACK_FINAL_COMBINE"); // Job to start
     35        psArrayAdd(job->args, 1, target);
    3436        psArrayAdd(job->args, 1, thread);
    3537        psArrayAdd(job->args, 1, options);
     
    6567        }
    6668        if (sumWeights > 0.0) {
    67             pmReadout *outRO = options->outRO;  // Output readout
    68             outRO->covariance = psImageCovarianceSum(options->covariances);
    69             psBinaryOp(outRO->covariance->image, outRO->covariance->image, "/",
     69            target->covariance = psImageCovarianceSum(options->covariances);
     70            psBinaryOp(target->covariance->image, target->covariance->image, "/",
    7071                       psScalarAlloc(sumWeights, PS_TYPE_F32));
    7172            psFree(options->covariances); options->covariances = NULL;
    72             psImageCovarianceTransfer(outRO->variance, outRO->covariance);
     73            psImageCovarianceTransfer(target->variance, target->covariance);
    7374        }
    7475    } else {
    75         options->outRO->covariance = psImageCovarianceNone();
     76        target->covariance = psImageCovarianceNone();
    7677    }
    7778
    7879#ifdef TESTING
    79     pmStackVisualPlotTestImage(outRO->image, "combined_initial.fits");
    80     ppStackWriteImage("combined_final.fits", NULL, outRO->image, config);
     80    pmStackVisualPlotTestImage(target->image, "combined_initial.fits");
     81    ppStackWriteImage("combined_final.fits", NULL, target->image, config);
    8182#endif
    8283
  • branches/pap/ppStack/src/ppStackLoop.c

    r25797 r25810  
    9797    // Final combination
    9898    psTrace("ppStack", 2, "Final stack of convolved images....\n");
    99     if (!ppStackCombineFinal(stack, options, config)) {
     99    if (!ppStackCombineFinal(options->outRO, stack, options, config)) {
    100100        psError(PS_ERR_UNKNOWN, false, "Unable to perform final combination.");
    101101        psFree(stack);
     
    132132        }
    133133        psTrace("ppStack", 2, "Stack of unconvolved images....\n");
    134         if (!ppStackCombineFinal(stack, options, config)) {
     134        if (!ppStackCombineFinal(options->unconvRO, stack, options, config)) {
    135135            psError(PS_ERR_UNKNOWN, false, "Unable to perform unconvolved combination.");
    136136            psFree(stack);
  • branches/pap/ppStack/src/ppStackLoop.h

    r23576 r25810  
    5656// Final combination
    5757bool ppStackCombineFinal(
     58    pmReadout *target,                  // Target readout
    5859    ppStackThreadData *stack,           // Stack
    5960    ppStackOptions *options,            // Options
  • branches/pap/ppStack/src/ppStackReadout.c

    r23577 r25810  
    3939
    4040    psArray *args = job->args;          // Arguments
    41     ppStackThread *thread = args->data[0]; // Thread
    42     ppStackOptions *options = args->data[1]; // Options
    43     pmConfig *config = args->data[2];   // Configuration
    44 
    45     pmReadout *outRO = options->outRO;  // Output readout
     41    pmReadout *target = args->data[0];  // Output readout
     42    ppStackThread *thread = args->data[1]; // Thread
     43    ppStackOptions *options = args->data[2]; // Options
     44    pmConfig *config = args->data[3];   // Configuration
     45
    4646    psVector *mask = options->inputMask; // Mask for inputs
    4747    psArray *rejected = options->rejected; // Rejected pixels
     
    4949    psVector *addVariance = options->matchChi2; // Additional variance when rejecting
    5050
    51     bool status = ppStackReadoutFinal(config, outRO, thread->readouts, mask, rejected,
     51    bool status = ppStackReadoutFinal(config, target, thread->readouts, mask, rejected,
    5252                                      weightings, addVariance); // Status of operation
    5353
  • branches/pap/ppStack/src/ppStackThread.c

    r25799 r25810  
    277277
    278278    {
    279         psThreadTask *task = psThreadTaskAlloc("PPSTACK_FINAL_COMBINE", 3);
     279        psThreadTask *task = psThreadTaskAlloc("PPSTACK_FINAL_COMBINE", 4);
    280280        task->function = &ppStackReadoutFinalThread;
    281281        psThreadTaskAdd(task);
Note: See TracChangeset for help on using the changeset viewer.