Changeset 42555 for trunk/psModules/src/imcombine/pmStack.c
- Timestamp:
- Dec 3, 2023, 2:51:47 PM (3 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/imcombine/pmStack.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imcombine/pmStack.c
r42091 r42555 1548 1548 } continue; } 1549 1549 1550 // combine pixels, averaging the inner XX percentile range, after rejecting 5-sigma outliers (robust 5 sigma) 1550 1551 bool pmStackCombineByPercentile( 1551 1552 pmReadout *combined, // output stacked readout … … 1553 1554 psArray *stackData, // input exposures 1554 1555 psF64 rejectFraction, // outlier fraction of pixels to reject 1556 int nminpix, // minimum number of input values required to generate an output value 1555 1557 psImageMaskType badMaskBits, // treat these bits as 'bad' 1556 1558 psImageMaskType suspectMaskBits, // treat these bits as 'suspect' 1557 1559 psImageMaskType blankMaskBits // use this mask value for pixels missing input data (distinguish between Ninput = 0 and Ngood = 0?) 1558 ) {1560 ) { 1559 1561 int minInputCols, maxInputCols, minInputRows, maxInputRows; // Smallest and largest values to combine 1560 1562 int xSize, ySize; // Size of the output image … … 1640 1642 nGood ++; 1641 1643 } 1642 # define MIN_GOOD_PERCENTILE 3 1643 1644 if (nGood < MIN_GOOD_PERCENTILE) ESCAPE; 1644 1645 if (nGood < nminpix) ESCAPE; 1645 1646 1646 1647 pixelData->n = nGood; … … 1677 1678 int nGoodClip = Nhi - Nlo; 1678 1679 1679 int isTest = false;1680 int isTest = true; 1680 1681 isTest = isTest || ((x == 4743) && (y == 2903)); 1681 1682 isTest = isTest || ((x == 4953) && (y == 2919)); … … 1702 1703 // 'AT_LEAST' means we reject at least 'rejectFraction' of values, but it could 1703 1704 // be a higher percentage for smaller numbers of inputs. 1704 # define AT_LEAST 11705 # define MIN_GOOD_PERCENTILE 3 1705 # define AT_LEAST 0 1706 1706 1707 # if (AT_LEAST) 1707 1708 int Ns = MIN(MAX(1, 0.5*rejectFraction * nGoodClip), nGoodClip) + Nlo; … … 1713 1714 int Npt = Ne - Ns; 1714 1715 # endif 1715 if ((Npt < 1) || (nGood < MIN_GOOD_PERCENTILE)) ESCAPE;1716 if ((Npt < 1) || (nGood < nminpix)) ESCAPE; 1716 1717 1717 1718 // Set the given (suspect) mask bit if nGoodBits[i] > f*nGood in other words
Note:
See TracChangeset
for help on using the changeset viewer.
