IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 15, 2008, 5:51:49 PM (18 years ago)
Author:
eugene
Message:

extensive fixes to make these two programs actually work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dvoTools/src/dvoMakeCorrUnbin.c

    r12925 r20180  
    55#include "dvoMakeCorr.h"
    66
    7 bool dvoMakeCorrUnbin (pmConfig *config, pmFPAview *view, char *outName, char *inName, char *refName) {
     7bool dvoMakeCorrUnbin (pmConfig *config, pmFPAview *view, char *outName, psImage *inImage, pmChip *inChip, char *refName) {
    88   
    99    bool status;
    1010
    11     pmFPAfile *inFile = psMetadataLookupPtr (&status, config->files, inName);
    1211    pmFPAfile *refFile = psMetadataLookupPtr (&status, config->files, refName);
    1312    pmFPAfile *outFile = psMetadataLookupPtr (&status, config->files, outName);
    14     assert (inFile);
    1513    assert (refFile);
    1614    assert (outFile);
     
    1917    assert (refCell);
    2018
    21     pmReadout *inData = pmFPAviewThisReadout (view, inFile->fpa);
    22     assert (inData);
     19    pmChip *refChip = pmFPAviewThisChip (view, refFile->fpa);
     20    assert (refChip);
    2321
    2422    // determine the output array size based on the reference TRIMSEC values
     
    2826    // I have the fine and ruff image sizes, determine the binning factor
    2927    psImageBinning *binning = psImageBinningAlloc();
    30     binning->nXruff = inData->image->numCols;
    31     binning->nYruff = inData->image->numRows;
     28    binning->nXruff = inImage->numCols;
     29    binning->nYruff = inImage->numRows;
    3230    binning->nXfine = trimsec->x1 - trimsec->x0;
    3331    binning->nYfine = trimsec->y1 - trimsec->y0;
    3432    psImageBinningSetScale (binning, PS_IMAGE_BINNING_CENTER);
    35     psImageBinningSetSkip(binning, inData->image);
     33    psImageBinningSetSkip(binning, inImage);
     34
     35    // generate a local view of the 0th readout
     36    pmFPAview *myView = pmFPAviewAlloc (0);
     37    *myView = *view;
     38    myView->readout = 0;
    3639
    3740    // construct the supporing pmFPA/pmChip/pmCell structures
    38     pmReadout *outData = pmFPAviewThisReadout (view, outFile->fpa);
     41    pmReadout *outData = pmFPAviewThisReadout (myView, outFile->fpa);
    3942    if (outData == NULL) {
    40         pmChip *inChip = pmFPAviewThisChip (view, inFile->fpa);
    41         pmChip *outChip = pmFPAviewThisChip (view, outFile->fpa);
     43        pmChip *outChip = pmFPAviewThisChip (myView, outFile->fpa);
     44        pmCell *outCell = pmFPAviewThisCell (myView, outFile->fpa);
    4245
    43         pmChipCopyStructure (outChip, inChip, binning->nXbin, binning->nYbin);
    44         outData = pmFPAviewThisReadout (view, outFile->fpa);
     46        pmChipCopyStructure (outChip, refChip, 1, 1);
     47
     48        outData = pmReadoutAlloc (outCell);
    4549        assert (outData != NULL);
     50
     51        // outData = pmFPAviewThisReadout (myView, outFile->fpa);
     52        // assert (outData != NULL);
    4653    }
    4754
    4855    // generate the output (fine-scale) image array
    49     psImageRecycle (outData->image, binning->nXfine, binning->nYfine, PS_TYPE_F32);
     56    outData->image = psImageRecycle (outData->image, binning->nXfine, binning->nYfine, PS_TYPE_F32);
    5057
    5158    // linear interpolation to full fine scale
    52     if (!psImageUnbin (outData->image, inData->image, binning)) {
     59    if (!psImageUnbin (outData->image, inImage, binning)) {
    5360        psError (PS_ERR_UNKNOWN, true, "failed to unbin image");
    5461        psFree (binning);
Note: See TracChangeset for help on using the changeset viewer.