LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
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. More...
 
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
 
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
 

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 92 of file Statistics.h.

Member Enumeration Documentation

◆ WeightsBoolean

Enumerator
WEIGHTS_FALSE 
WEIGHTS_TRUE 
WEIGHTS_NONE 

Definition at line 94 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 96 of file Statistics.h.

104  : _numSigmaClip(numSigmaClip),
105  _numIter(numIter),
106  _andMask(andMask),
107  _noGoodPixelsMask(0x0),
108  _isNanSafe(isNanSafe),
109  _useWeights(useWeights),
110  _calcErrorFromInputVariance(false),
111  _maskPropagationThresholds() {
112  try {
113  _noGoodPixelsMask = lsst::afw::image::Mask<>::getPlaneBitMask("NO_DATA");
115  ; // Mask has no NO_DATA plane defined
116  }
117 
118  assert(_numSigmaClip > 0);
119  assert(_numIter > 0);
120  }
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:372
Reports invalid arguments.
Definition: Runtime.h:66

Member Function Documentation

◆ getAndMask()

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

Definition at line 134 of file Statistics.h.

134 { return _andMask; }

◆ getCalcErrorFromInputVariance()

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

Definition at line 139 of file Statistics.h.

139 { return _calcErrorFromInputVariance; }

◆ 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 718 of file Statistics.cc.

718  {
719  int oldSize = _maskPropagationThresholds.size();
720  if (oldSize <= bit) {
721  return 1.0;
722  }
723  return _maskPropagationThresholds[bit];
724 }
T size(T... args)

◆ getNanSafe()

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

Definition at line 136 of file Statistics.h.

136 { return _isNanSafe; }

◆ getNoGoodPixelsMask()

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

Definition at line 135 of file Statistics.h.

135 { return _noGoodPixelsMask; }

◆ getNumIter()

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

Definition at line 133 of file Statistics.h.

133 { return _numIter; }

◆ getNumSigmaClip()

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

Definition at line 132 of file Statistics.h.

132 { return _numSigmaClip; }

◆ getWeighted()

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

Definition at line 137 of file Statistics.h.

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

◆ getWeightedIsSet()

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

Definition at line 138 of file Statistics.h.

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

◆ setAndMask()

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

Definition at line 155 of file Statistics.h.

155 { _andMask = andMask; }

◆ setCalcErrorFromInputVariance()

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

Definition at line 159 of file Statistics.h.

159  {
160  _calcErrorFromInputVariance = calcErrorFromInputVariance;
161  }

◆ setMaskPropagationThreshold()

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

Definition at line 726 of file Statistics.cc.

726  {
727  int oldSize = _maskPropagationThresholds.size();
728  if (oldSize <= bit) {
729  int newSize = bit + 1;
730  _maskPropagationThresholds.resize(newSize);
731  for (int i = oldSize; i < bit; ++i) {
732  _maskPropagationThresholds[i] = 1.0;
733  }
734  }
735  _maskPropagationThresholds[bit] = threshold;
736 }
T resize(T... args)

◆ setNanSafe()

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

Definition at line 157 of file Statistics.h.

157 { _isNanSafe = isNanSafe; }

◆ setNoGoodPixelsMask()

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

Definition at line 156 of file Statistics.h.

156 { _noGoodPixelsMask = noGoodPixelsMask; }

◆ setNumIter()

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

Definition at line 148 of file Statistics.h.

148  {
149  if (!(numIter > 0)) {
150  throw LSST_EXCEPT(pex::exceptions::InvalidParameterError,
151  "numIter has to be positive.");
152  }
153  _numIter = numIter;
154  }
#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 141 of file Statistics.h.

141  {
142  if (!(numSigmaClip > 0)) {
143  throw LSST_EXCEPT(pex::exceptions::InvalidParameterError,
144  "numSigmaClip has to be positive.");
145  }
146  _numSigmaClip = numSigmaClip;
147  }

◆ setWeighted()

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

Definition at line 158 of file Statistics.h.

158 { _useWeights = useWeights ? WEIGHTS_TRUE : WEIGHTS_FALSE; }

Friends And Related Function Documentation

◆ Statistics

friend class Statistics
friend

Definition at line 164 of file Statistics.h.


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