IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 28, 2009, 10:49:50 AM (17 years ago)
Author:
Paul Price
Message:

Merging pap_branch_20090108: fixed photometric normalisation. Conflicts resolved, code compiles.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppStack/src/ppStackLoop.c

    r21183 r21199  
    357357        }
    358358
     359        // Generate target PSF
    359360        targetPSF = ppStackPSF(config, numCols, numRows, psfs);
    360361        psFree(psfs);
     
    365366            return false;
    366367        }
     368        psMetadataAddPtr(config->arguments, PS_LIST_TAIL, "PSF.TARGET", PS_DATA_UNKNOWN,
     369                         "Target PSF for stack", targetPSF);
    367370
    368371        pmChip *outChip = pmFPAviewThisChip(view, output->fpa); // Output chip
     
    423426            psFree(inputMask);
    424427            psFree(matchChi2);
     428            psFree(fpaList);
     429            psFree(cellList);
    425430            return false;
    426431        }
     
    440445            psFree(inputMask);
    441446            psFree(matchChi2);
     447            psFree(fpaList);
     448            psFree(cellList);
    442449            return false;
    443450        }
     
    446453        psArray *regions = NULL, *kernels = NULL; // Regions and kernels used in subtraction
    447454        psTimerStart("PPSTACK_MATCH");
     455
    448456        if (!ppStackMatch(readout, &regions, &kernels, &matchChi2->data.F32[i], &weightings->data.F32[i],
    449457                          sourceLists->data[i], targetPSF, rng, config)) {
     
    476484        assert(hdu);
    477485        writeImage(imageNames->data[i],  hdu->header, readout->image, config);
    478         writeImage(maskNames->data[i],   hdu->header, readout->mask, config);
     486        psMetadata *maskHeader = psMetadataCopy(NULL, hdu->header); // Copy of header, for mask
     487        pmConfigMaskWriteHeader(config, maskHeader);
     488        writeImage(maskNames->data[i],   maskHeader, readout->mask, config);
     489        psFree(maskHeader);
    479490        writeImage(weightNames->data[i], hdu->header, readout->weight, config);
    480491
     
    486497        cells->data[i] = psMemIncrRefCounter(inCell);
    487498        if (!filesIterateUp(config)) {
     499            psFree(fpaList);
     500            psFree(cellList);
    488501            return false;
    489502        }
     
    503516        psFree(inputMask);
    504517        psFree(matchChi2);
     518        psFree(fpaList);
     519        psFree(cellList);
    505520        return false;
    506521    }
     
    569584            numGood = 0;                    // Number of good images
    570585            for (int i = 0; i < num; i++) {
    571               if (inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_ALL) {
     586              if (inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_ALL) {
    572587                    continue;
    573588                }
     
    612627    pmFPAview *view = NULL;             // View to readout
    613628    psArray *inspect = NULL;            // Array of arrays of pixels to inspect
    614     psVector *exptimes = psVectorAlloc(num, PS_TYPE_F32); // Exposure times for each input
    615629    {
    616630        int row0, col0;                 // Offset for readout
     
    624638            psFree(inputMask);
    625639            psFree(matchChi2);
    626             psFree(exptimes);
    627640            psFree(cells);
    628641            return false;
     
    638651            psFree(inputMask);
    639652            psFree(matchChi2);
    640             psFree(exptimes);
    641653            psFree(cells);
    642654            return false;
     
    657669            psFree(view);
    658670            psFree(outRO);
    659             psFree(exptimes);
    660671            psFree(cells);
    661672            return false;
     
    678689                psFree(view);
    679690                psFree(outRO);
    680                 psFree(exptimes);
    681691                return false;
    682692            }
     
    705715                psFree(view);
    706716                psFree(outRO);
    707                 psFree(exptimes);
    708717                return false;
    709718            }
     
    720729            psFree(view);
    721730            psFree(outRO);
    722             psFree(exptimes);
    723731            return false;
    724732        }
     
    788796                psFree(inspect);
    789797                psFree(rejected);
    790                 psFree(exptimes);
    791798                return false;
    792799            }
     
    804811            psFree(inspect);
    805812            psFree(rejected);
    806             psFree(exptimes);
    807813            return false;
    808814        }
     
    899905            psFree(view);
    900906            psFree(outRO);
    901             psFree(exptimes);
    902907            return false;
    903908        }
     
    928933                psFree(view);
    929934                psFree(outRO);
    930                 psFree(exptimes);
    931935                return false;
    932936            }
     
    950954                psFree(view);
    951955                psFree(outRO);
    952                 psFree(exptimes);
    953956                return false;
    954957            }
     
    963966            psFree(view);
    964967            psFree(outRO);
    965             psFree(exptimes);
    966968            return false;
    967969        }
     
    10421044    psFree(weightNames);
    10431045
    1044     psFree(exptimes);
    10451046    psFree(inputMask);
    10461047    psFree(stack);
Note: See TracChangeset for help on using the changeset viewer.