Changeset 20180 for trunk/dvoTools/src/dvoMakeCorrUnbin.c
- Timestamp:
- Oct 15, 2008, 5:51:49 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/dvoTools/src/dvoMakeCorrUnbin.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dvoTools/src/dvoMakeCorrUnbin.c
r12925 r20180 5 5 #include "dvoMakeCorr.h" 6 6 7 bool dvoMakeCorrUnbin (pmConfig *config, pmFPAview *view, char *outName, char *inName, char *refName) {7 bool dvoMakeCorrUnbin (pmConfig *config, pmFPAview *view, char *outName, psImage *inImage, pmChip *inChip, char *refName) { 8 8 9 9 bool status; 10 10 11 pmFPAfile *inFile = psMetadataLookupPtr (&status, config->files, inName);12 11 pmFPAfile *refFile = psMetadataLookupPtr (&status, config->files, refName); 13 12 pmFPAfile *outFile = psMetadataLookupPtr (&status, config->files, outName); 14 assert (inFile);15 13 assert (refFile); 16 14 assert (outFile); … … 19 17 assert (refCell); 20 18 21 pm Readout *inData = pmFPAviewThisReadout (view, inFile->fpa);22 assert ( inData);19 pmChip *refChip = pmFPAviewThisChip (view, refFile->fpa); 20 assert (refChip); 23 21 24 22 // determine the output array size based on the reference TRIMSEC values … … 28 26 // I have the fine and ruff image sizes, determine the binning factor 29 27 psImageBinning *binning = psImageBinningAlloc(); 30 binning->nXruff = in Data->image->numCols;31 binning->nYruff = in Data->image->numRows;28 binning->nXruff = inImage->numCols; 29 binning->nYruff = inImage->numRows; 32 30 binning->nXfine = trimsec->x1 - trimsec->x0; 33 31 binning->nYfine = trimsec->y1 - trimsec->y0; 34 32 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; 36 39 37 40 // construct the supporing pmFPA/pmChip/pmCell structures 38 pmReadout *outData = pmFPAviewThisReadout ( view, outFile->fpa);41 pmReadout *outData = pmFPAviewThisReadout (myView, outFile->fpa); 39 42 if (outData == NULL) { 40 pmChip * inChip = pmFPAviewThisChip (view, inFile->fpa);41 pmC hip *outChip = pmFPAviewThisChip (view, outFile->fpa);43 pmChip *outChip = pmFPAviewThisChip (myView, outFile->fpa); 44 pmCell *outCell = pmFPAviewThisCell (myView, outFile->fpa); 42 45 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); 45 49 assert (outData != NULL); 50 51 // outData = pmFPAviewThisReadout (myView, outFile->fpa); 52 // assert (outData != NULL); 46 53 } 47 54 48 55 // 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); 50 57 51 58 // linear interpolation to full fine scale 52 if (!psImageUnbin (outData->image, in Data->image, binning)) {59 if (!psImageUnbin (outData->image, inImage, binning)) { 53 60 psError (PS_ERR_UNKNOWN, true, "failed to unbin image"); 54 61 psFree (binning);
Note:
See TracChangeset
for help on using the changeset viewer.
