LSST Applications g0265f82a02+c6dfa2ddaf,g1162b98a3f+b2075782a9,g2079a07aa2+1b2e822518,g2bbee38e9b+c6dfa2ddaf,g337abbeb29+c6dfa2ddaf,g3ddfee87b4+a60788ef87,g50ff169b8f+2eb0e556e8,g52b1c1532d+90ebb246c7,g555ede804d+a60788ef87,g591dd9f2cf+ba8caea58f,g5ec818987f+864ee9cddb,g858d7b2824+9ee1ab4172,g876c692160+a40945ebb7,g8a8a8dda67+90ebb246c7,g8cdfe0ae6a+4fd9e222a8,g99cad8db69+5e309b7bc6,g9ddcbc5298+a1346535a5,ga1e77700b3+df8f93165b,ga8c6da7877+aa12a14d27,gae46bcf261+c6dfa2ddaf,gb0e22166c9+8634eb87fb,gb3f2274832+d0da15e3be,gba4ed39666+1ac82b564f,gbb8dafda3b+5dfd9c994b,gbeb006f7da+97157f9740,gc28159a63d+c6dfa2ddaf,gc86a011abf+9ee1ab4172,gcf0d15dbbd+a60788ef87,gdaeeff99f8+1cafcb7cd4,gdc0c513512+9ee1ab4172,ge79ae78c31+c6dfa2ddaf,geb67518f79+ba1859f325,geb961e4c1e+f9439d1e6f,gee10cc3b42+90ebb246c7,gf1cff7945b+9ee1ab4172,w.2024.12
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
lsst::afw::math::StatisticsControl Class Reference

Pass parameters to a Statistics object. More...

#include <Statistics.h>

Public Types

enum  WeightsBoolean { WEIGHTS_FALSE = 0 , WEIGHTS_TRUE = 1 , WEIGHTS_NONE }
 

Public Member Functions

 StatisticsControl (double numSigmaClip=3.0, int numIter=3, lsst::afw::image::MaskPixel andMask=0x0, bool isNanSafe=true, WeightsBoolean useWeights=WEIGHTS_NONE)
 
double getMaskPropagationThreshold (int bit) const
 When pixels with the given bit are rejected, we count what fraction the rejected pixels would have contributed (including the weights, if any) if those pixels had not been rejected, and set that bit in the return value of Statistics::getOrMask() if it exceeds the given threshold.
 
void setMaskPropagationThreshold (int bit, double threshold)
 
double getNumSigmaClip () const noexcept
 
int getNumIter () const noexcept
 
int getAndMask () const noexcept
 
int getNoGoodPixelsMask () const noexcept
 
bool getNanSafe () const noexcept
 
bool getWeighted () const noexcept
 
bool getWeightedIsSet () const noexcept
 
bool getCalcErrorFromInputVariance () const noexcept
 
bool getCalcErrorMosaicMode () const noexcept
 
void setNumSigmaClip (double numSigmaClip)
 
void setNumIter (int numIter)
 
void setAndMask (int andMask)
 
void setNoGoodPixelsMask (int noGoodPixelsMask)
 
void setNanSafe (bool isNanSafe) noexcept
 
void setWeighted (bool useWeights) noexcept
 
void setCalcErrorFromInputVariance (bool calcErrorFromInputVariance) noexcept
 
void setCalcErrorMosaicMode (bool calcErrorMosaicMode) noexcept
 

Friends

class Statistics
 

Detailed Description

Pass parameters to a Statistics object.

A class to pass parameters which control how the stats are calculated.

Definition at line 83 of file Statistics.h.

Member Enumeration Documentation

◆ WeightsBoolean

Enumerator
WEIGHTS_FALSE 
WEIGHTS_TRUE 
WEIGHTS_NONE 

Definition at line 85 of file Statistics.h.

Constructor & Destructor Documentation

◆ StatisticsControl()

lsst::afw::math::StatisticsControl::StatisticsControl ( double numSigmaClip = 3.0,
int numIter = 3,
lsst::afw::image::MaskPixel andMask = 0x0,
bool isNanSafe = true,
WeightsBoolean useWeights = WEIGHTS_NONE )
inline
Parameters
numSigmaClipnumber of standard deviations to clip at
numIterNumber of iterations
andMaskand-Mask: defines which mask bits cause a value to be ignored
isNanSafeflag NaNs & Infs
useWeightsuse weighted statistics (via a vector or an inverse variance)

Definition at line 87 of file Statistics.h.

95 : _numSigmaClip(numSigmaClip),
96 _numIter(numIter),
97 _andMask(andMask),
98 _noGoodPixelsMask(0x0),
99 _isNanSafe(isNanSafe),
100 _useWeights(useWeights),
101 _calcErrorFromInputVariance(false),
102 _calcErrorMosaicMode(false),
103 _maskPropagationThresholds() {
104 try {
105 _noGoodPixelsMask = lsst::afw::image::Mask<>::getPlaneBitMask("NO_DATA");
107 ; // Mask has no NO_DATA plane defined
108 }
109
110 assert(_numSigmaClip > 0);
111 assert(_numIter > 0);
112 }
static MaskPixelT getPlaneBitMask(const std::vector< std::string > &names)
Return the bitmask corresponding to a vector of plane names OR'd together.
Definition Mask.cc:376
Reports invalid arguments.
Definition Runtime.h:66

Member Function Documentation

◆ getAndMask()

int lsst::afw::math::StatisticsControl::getAndMask ( ) const
inlinenoexcept

Definition at line 126 of file Statistics.h.

126{ return _andMask; }

◆ getCalcErrorFromInputVariance()

bool lsst::afw::math::StatisticsControl::getCalcErrorFromInputVariance ( ) const
inlinenoexcept

Definition at line 131 of file Statistics.h.

131{ return _calcErrorFromInputVariance; }

◆ getCalcErrorMosaicMode()

bool lsst::afw::math::StatisticsControl::getCalcErrorMosaicMode ( ) const
inlinenoexcept

Definition at line 132 of file Statistics.h.

132{ return _calcErrorMosaicMode; }

◆ getMaskPropagationThreshold()

double lsst::afw::math::StatisticsControl::getMaskPropagationThreshold ( int bit) const

When pixels with the given bit are rejected, we count what fraction the rejected pixels would have contributed (including the weights, if any) if those pixels had not been rejected, and set that bit in the return value of Statistics::getOrMask() if it exceeds the given threshold.

Definition at line 742 of file Statistics.cc.

742 {
743 int oldSize = _maskPropagationThresholds.size();
744 if (oldSize <= bit) {
745 return 1.0;
746 }
747 return _maskPropagationThresholds[bit];
748}
T size(T... args)

◆ getNanSafe()

bool lsst::afw::math::StatisticsControl::getNanSafe ( ) const
inlinenoexcept

Definition at line 128 of file Statistics.h.

128{ return _isNanSafe; }

◆ getNoGoodPixelsMask()

int lsst::afw::math::StatisticsControl::getNoGoodPixelsMask ( ) const
inlinenoexcept

Definition at line 127 of file Statistics.h.

127{ return _noGoodPixelsMask; }

◆ getNumIter()

int lsst::afw::math::StatisticsControl::getNumIter ( ) const
inlinenoexcept

Definition at line 125 of file Statistics.h.

125{ return _numIter; }

◆ getNumSigmaClip()

double lsst::afw::math::StatisticsControl::getNumSigmaClip ( ) const
inlinenoexcept

Definition at line 124 of file Statistics.h.

124{ return _numSigmaClip; }

◆ getWeighted()

bool lsst::afw::math::StatisticsControl::getWeighted ( ) const
inlinenoexcept

Definition at line 129 of file Statistics.h.

129{ return _useWeights == WEIGHTS_TRUE ? true : false; }

◆ getWeightedIsSet()

bool lsst::afw::math::StatisticsControl::getWeightedIsSet ( ) const
inlinenoexcept

Definition at line 130 of file Statistics.h.

130{ return _useWeights != WEIGHTS_NONE ? true : false; }

◆ setAndMask()

void lsst::afw::math::StatisticsControl::setAndMask ( int andMask)
inline

Definition at line 148 of file Statistics.h.

148{ _andMask = andMask; }

◆ setCalcErrorFromInputVariance()

void lsst::afw::math::StatisticsControl::setCalcErrorFromInputVariance ( bool calcErrorFromInputVariance)
inlinenoexcept

Definition at line 152 of file Statistics.h.

152 {
153 _calcErrorFromInputVariance = calcErrorFromInputVariance;
154 }

◆ setCalcErrorMosaicMode()

void lsst::afw::math::StatisticsControl::setCalcErrorMosaicMode ( bool calcErrorMosaicMode)
inlinenoexcept

Definition at line 155 of file Statistics.h.

155 {
156 _calcErrorMosaicMode = calcErrorMosaicMode;
157 }

◆ setMaskPropagationThreshold()

void lsst::afw::math::StatisticsControl::setMaskPropagationThreshold ( int bit,
double threshold )

Definition at line 750 of file Statistics.cc.

750 {
751 int oldSize = _maskPropagationThresholds.size();
752 if (oldSize <= bit) {
753 int newSize = bit + 1;
754 _maskPropagationThresholds.resize(newSize);
755 for (int i = oldSize; i < bit; ++i) {
756 _maskPropagationThresholds[i] = 1.0;
757 }
758 }
759 _maskPropagationThresholds[bit] = threshold;
760}
T resize(T... args)

◆ setNanSafe()

void lsst::afw::math::StatisticsControl::setNanSafe ( bool isNanSafe)
inlinenoexcept

Definition at line 150 of file Statistics.h.

150{ _isNanSafe = isNanSafe; }

◆ setNoGoodPixelsMask()

void lsst::afw::math::StatisticsControl::setNoGoodPixelsMask ( int noGoodPixelsMask)
inline

Definition at line 149 of file Statistics.h.

149{ _noGoodPixelsMask = noGoodPixelsMask; }

◆ setNumIter()

void lsst::afw::math::StatisticsControl::setNumIter ( int numIter)
inline

Definition at line 141 of file Statistics.h.

141 {
142 if (!(numIter > 0)) {
143 throw LSST_EXCEPT(pex::exceptions::InvalidParameterError,
144 "numIter has to be positive.");
145 }
146 _numIter = numIter;
147 }
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition Exception.h:48

◆ setNumSigmaClip()

void lsst::afw::math::StatisticsControl::setNumSigmaClip ( double numSigmaClip)
inline

Definition at line 134 of file Statistics.h.

134 {
135 if (!(numSigmaClip > 0)) {
136 throw LSST_EXCEPT(pex::exceptions::InvalidParameterError,
137 "numSigmaClip has to be positive.");
138 }
139 _numSigmaClip = numSigmaClip;
140 }

◆ setWeighted()

void lsst::afw::math::StatisticsControl::setWeighted ( bool useWeights)
inlinenoexcept

Definition at line 151 of file Statistics.h.

151{ _useWeights = useWeights ? WEIGHTS_TRUE : WEIGHTS_FALSE; }

Friends And Related Symbol Documentation

◆ Statistics

friend class Statistics
friend

Definition at line 160 of file Statistics.h.


The documentation for this class was generated from the following files: