IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 24782


Ignore:
Timestamp:
Jul 12, 2009, 5:44:35 PM (17 years ago)
Author:
eugene
Message:

various fringe fixes

Location:
trunk/ppMerge/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppMerge/src/ppMergeCamera.c

    r23463 r24782  
    337337      case PPMERGE_TYPE_FRINGE:
    338338        fileType = PM_FPA_FILE_FRINGE;
     339        break;
    339340      default:
    340341        psAbort("Unknown frame type: %x", type);
  • trunk/ppMerge/src/ppMergeFiles.c

    r23463 r24782  
    220220      case PPMERGE_TYPE_FRINGE:
    221221        outSuffix = "FRINGE";
     222        break;
    222223      default:
    223224        psAbort("Unknown frame type: %x", type);
  • trunk/ppMerge/src/ppMergeLoop.c

    r24118 r24782  
    9494    psVector *scales = NULL, *zeros = NULL; ///< Scale and zeroes for combination
    9595    psArray *shutters = NULL;           ///< Shutter correction data
     96    psImage *zeroSet = NULL;
    9697    switch (type) {
    9798      case PPMERGE_TYPE_FRINGE:
    98         zeros = psMetadataLookupPtr(NULL, arguments, "ZEROS");
    99         if (!zeros) {
     99        zeroSet = psMetadataLookupPtr(NULL, arguments, "ZEROS");
     100        if (!zeroSet) {
    100101            psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to find ZEROS");
    101102            goto ERROR;
    102103        }
     104        // the zeros vector is passed to pmReadoutCombine for each set of inputs per cell
     105        zeros = psVectorAlloc(zeroSet->numRows, PS_TYPE_F32);
    103106        // Flow through
    104107      case PPMERGE_TYPE_FLAT:
     
    140143    pmFPA *outFPA = output->fpa;        ///< Output FPA
    141144    pmHDU *lastHDU = NULL;              // Last HDU that was updated
     145
    142146    int cellNum = 0;                    ///< Index of cell
    143147    if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
     
    194198            }
    195199
     200            if (zeroSet) {
     201              for (int i = 0; i < zeroSet->numRows; i++) {
     202                zeros->data.F32[i] = zeroSet->data.F32[i][cellNum];
     203              }
     204            }
     205
    196206            ppMergeFileGroup *fileGroup = NULL;
    197207            psArray *fileGroups = psArrayAlloc(nThreads + 1);
     
    335345
    336346            psFree(fileGroups);
     347            psFree(zeros);
    337348
    338349            // XXX eventually need to keep both the shutter and the pattern, as we do with dark
  • trunk/ppMerge/src/ppMergeScaleZero.c

    r23463 r24782  
    8787                }
    8888
     89                // skip cells with video data
    8990                if (cell->readouts->n > 1) {
    90                     psError(PS_ERR_BAD_PARAMETER_VALUE, true,
    91                             "File %d chip %d cell %d contains more than one readout (%ld)",
    92                             i, view->chip, view->cell, cell->readouts->n);
    93                     goto ERROR;
     91                  // psError(PS_ERR_BAD_PARAMETER_VALUE, true, "File %d chip %d cell %d contains more than one readout (%ld)", i, view->chip, view->cell, cell->readouts->n);
     92                  // goto ERROR;
     93                  psWarning("File %d chip %d cell %d contains more than one readout (%ld), skipping", i, view->chip, view->cell, cell->readouts->n);
     94                  continue;
    9495                }
    9596                pmReadout *readout = cell->readouts->data[0]; ///< Readout of interest
Note: See TracChangeset for help on using the changeset viewer.