Isis 3 Programmer Reference
Isis::Histogram Class Reference

Container of a cube histogram. More...

#include <Histogram.h>

Inheritance diagram for Isis::Histogram:
Inheritance graph
Collaboration diagram for Isis::Histogram:
Collaboration graph

Public Member Functions

 Histogram (double minimum, double maximum, int bins=1024)
 Constructs a histogram object. More...
 
 Histogram (Cube &cube, int statsBand, Progress *progress=NULL, double startSample=1.0, double startLine=1.0, double endSample=Null, double endLine=Null, int bins=0, bool addCubeData=false)
 
 Histogram (ControlNet &net, double(ControlMeasure::*statFunc)() const, int bins)
 Constructs a histogram from a control netowrk. More...
 
 Histogram (ControlNet &net, double(ControlMeasure::*statFunc)() const, double binWidth)
 Constructs a histogram from a control netowrk. More...
 
 ~Histogram ()
 Destructs a histogram object. More...
 
void SetBins (const int bins)
 Change the number of bins in the histogram and reset counters. More...
 
void Reset ()
 Resets histogram counters to zero. More...
 
virtual void AddData (const double *data, const unsigned int count)
 Add an array of doubles to the histogram counters. More...
 
virtual void AddData (const double data)
 Add a single double data to the histogram. More...
 
virtual void RemoveData (const double *data, const unsigned int count)
 Remove an array of doubles from the histogram counters. More...
 
double Median () const
 Returns the median. More...
 
double Mode () const
 Returns the mode. More...
 
double Percent (const double percent) const
 Computes and returns the value at X percent of the histogram. More...
 
double Skew () const
 Computes and returns the skew. More...
 
BigInt BinCount (const int index) const
 Returns the count at a bin position in the histogram. More...
 
virtual void BinRange (const int index, double &low, double &high) const
 Returns the left edge and right edge values of a bin. More...
 
double BinMiddle (const int index) const
 Returns the value represented by a bin. More...
 
double BinSize () const
 Returns the size of an individual bin. More...
 
int Bins () const
 Returns the number of bins in the histogram. More...
 
BigInt MaxBinCount () const
 Returns the highest bin count. More...
 
double BinRangeStart () const
 
double BinRangeEnd () const
 
void SetValidRange (const double minimum=Isis::ValidMinimum, const double maximum=Isis::ValidMaximum)
 Changes the range of the bins. More...
 
void RemoveData (const double data)
 
double ValidMinimum () const
 
double ValidMaximum () const
 
bool InRange (const double value)
 
bool AboveRange (const double value)
 
bool BelowRange (const double value)
 
double Average () const
 Computes and returns the average. More...
 
double StandardDeviation () const
 Computes and returns the standard deviation. More...
 
double Variance () const
 Computes and returns the variance. More...
 
double Sum () const
 Returns the sum of all the data. More...
 
double SumSquare () const
 Returns the sum of all the squared data. More...
 
double Rms () const
 Computes and returns the rms. More...
 
double Minimum () const
 Returns the absolute minimum double found in all data passed through the AddData method. More...
 
double Maximum () const
 Returns the absolute maximum double found in all data passed through the AddData method. More...
 
double ChebyshevMinimum (const double percent=99.5) const
 This method returns a minimum such that X percent of the data will fall with K standard deviations of the average (Chebyshev's Theorem). More...
 
double ChebyshevMaximum (const double percent=99.5) const
 This method returns a maximum such that X percent of the data will fall with K standard deviations of the average (Chebyshev's Theorem). More...
 
double BestMinimum (const double percent=99.5) const
 This method returns the better of the absolute minimum or the Chebyshev minimum. More...
 
double BestMaximum (const double percent=99.5) const
 This method returns the better of the absolute maximum or the Chebyshev maximum. More...
 
double ZScore (const double value) const
 This method returns the better of the z-score of the given value. More...
 
BigInt TotalPixels () const
 Returns the total number of pixels processed (valid and invalid). More...
 
BigInt ValidPixels () const
 Returns the total number of valid pixels processed. More...
 
BigInt OverRangePixels () const
 Returns the total number of pixels over the valid range encountered. More...
 
BigInt UnderRangePixels () const
 Returns the total number of pixels under the valid range encountered. More...
 
BigInt NullPixels () const
 Returns the total number of NULL pixels encountered. More...
 
BigInt LisPixels () const
 Returns the total number of low instrument saturation (LIS) pixels encountered. More...
 
BigInt LrsPixels () const
 Returns the total number of low representation saturation (LRS) pixels encountered. More...
 
BigInt HisPixels () const
 Returns the total number of high instrument saturation (HIS) pixels encountered. More...
 
BigInt HrsPixels () const
 Returns the total number of high representation saturation (HRS) pixels encountered. More...
 
BigInt OutOfRangePixels () const
 Returns the total number of pixels outside of the valid range encountered. More...
 
bool RemovedData () const
 
PvlGroup toPvl (QString name="Statistics") const
 Serialize statistics as a pvl group. More...
 
void save (QXmlStreamWriter &stream, const Project *project) const
 
QDataStream & write (QDataStream &stream) const
 Order saved must match the offsets in the static compoundH5DataType() method. More...
 
QDataStream & read (QDataStream &stream)
 

Protected Attributes

std::vector< BigIntp_bins
 The array of counts. More...
 

Private Member Functions

void addMeasureDataFromNet (ControlNet &net, double(ControlMeasure::*statFunc)() const)
 Iterates through all the measures in a network adding them to the histogram. More...
 
void rangesFromNet (ControlNet &net, double(ControlMeasure::*statFunc)() const)
 Iterates through all the measures in a network in order to find the domain of the data. More...
 
void fromPvl (const PvlGroup &inStats)
 Unserializes a Statistics object from a pvl group. More...
 

Private Attributes

double p_binRangeStart
 
double p_binRangeEnd
 
double m_sum
 The sum accumulator, i.e. the sum of added data values. More...
 
double m_sumsum
 The sum-squared accumulator, i.e. More...
 
double m_minimum
 Minimum double value encountered. More...
 
double m_maximum
 Maximum double value encountered. More...
 
double m_validMinimum
 Minimum valid pixel value. More...
 
double m_validMaximum
 Maximum valid pixel value. More...
 
BigInt m_totalPixels
 Count of total pixels processed. More...
 
BigInt m_validPixels
 Count of valid pixels (non-special) processed. More...
 
BigInt m_nullPixels
 Count of null pixels processed. More...
 
BigInt m_lrsPixels
 Count of low instrument saturation pixels processed. More...
 
BigInt m_lisPixels
 Count of low representation saturation pixels processed. More...
 
BigInt m_hrsPixels
 Count of high instrument saturation pixels processed. More...
 
BigInt m_hisPixels
 Count of high instrument representation pixels processed. More...
 
BigInt m_underRangePixels
 Count of pixels less than the valid range. More...
 
BigInt m_overRangePixels
 Count of pixels greater than the valid range. More...
 
bool m_removedData
 Indicates the RemoveData method was called which implies m_minimum and m_maximum are invalid. More...
 

Detailed Description

Container of a cube histogram.

This class is used to accumulate a histogram on double arrays. In particular, it is highly useful for obtaining a histogram on cube data. Parameters which can be computed are the 1) median, 2) mode, and 3) skew. The histogram consists of a fixed set of distinct bins. When an object is created the programmer must provide a minimum and maximum which defines how data is further placed in the bins. The minimum is mapped to the left edge of the first bin [0] and the maximum is mapped to the right edge of the last bin [Bins()-1]. There are a set of methods which return bin information such as 1) count, 2) size, 3) middle value, 4) range, and 5) maximum bin count.

Author
2002-05-13 Jeff Anderson
Todo:
This class needs an example.
History:
2002-05-22 Jeff Anderson moved Reset, AddData, and RemoveData methods into public space.
History:
2002-10-05 Tracie Sucharski added MaxBinCount, a method to return the maximum bin count.
History:
2005-06-21 Modified index computations in AddData and RemoveData to round
History:
2008-08-15 Added BinRange methods and functionality. Now, you can collect statistics over all of the data and also set where the binning will start and end. Increased the default number of bins for floating point cubes.
History:
2012-01-19 Steven Lambright and Jai Rideout - Added constructor parameters to read from the Cube automatically.
History:
2012-04-10 Orrin Thomas - Added constructor parameters to read from ControlNets automatically (For control measure data.)
History:
2015-09-03 Tyler Wilson - Overrode Statistics::SetValidRange to set the bin range as well as the statistical range for the data. The function Histogram::SetBinRange has been removed from this class.
History:
2016-04-20 Makayla Shepherd - Added UnsignedWord pixel type handling.
History:
2017-05-19 Christopher Combs - Modified unitTest.cpp: Removed path of output file name in output PVL to allow the test to pass when not using the standard data areas. Fixes #4738.
History:
2017-09-08 Summer Stapleton - Included test for Isis::Null being returned from accessor method call in Histogram::rangesFromNet(). Fixes #5123, #1673.
History:
2018-07-27 Jesse Mapel - Added support for initializing a histogram from signed and unsigned word cubes. References #971.
History:
2020-06-11 Kaitlyn Lee - Changed how to detemine which bin a pixel/measure falls into in AddData(). Changed how the bin range is calculated in BinRange(). The math for these functions were incorrect and not intuitive. These changes were made alongside changes made to cnethist and hist.

Definition at line 74 of file Histogram.h.

Constructor & Destructor Documentation

◆ Histogram() [1/3]

Isis::Histogram::Histogram ( double  minimum,
double  maximum,
int  nbins = 1024 
)

Constructs a histogram object.

Only data between the minimum and maximum will be binned, and the bin range will be from the minimum to the maximum.

Parameters
minimumMinimum value for binning the data into the histogram.
maximumMaximum value for binning the data into the histogram.
nbinsThe number of bins to use

Definition at line 33 of file Histogram.cpp.

◆ Histogram() [2/3]

Isis::Histogram::Histogram ( ControlNet net,
double(ControlMeasure::*)() const  statFunc,
int  bins 
)

Constructs a histogram from a control netowrk.

Parameters
netReference to a ControlNetwork used to access all the measures.
statFuncPointer to a ControlMeasure acessor, the returns of this function call will be used to build up the network.
binsThe number of bins to divide the histogram into.
Exceptions
Thenumber of Histogram Bins must be greater than 0.

Definition at line 49 of file Histogram.cpp.

◆ Histogram() [3/3]

Isis::Histogram::Histogram ( ControlNet net,
double(ControlMeasure::*)() const  statFunc,
double  binWidth 
)

Constructs a histogram from a control netowrk.

Parameters
NetReference to a ControlNetwork used to access all the measures.
statFuncPointer to a ControlMeasure acessor, the returns of this. function call will be used to build up the network.
binWidthThe width of histogram bins.
Exceptions
Thewidth of Histogram Bins must be greater than 0.

Definition at line 74 of file Histogram.cpp.

References Isis::ValidMaximum, and Isis::ValidMinimum.

◆ ~Histogram()

Isis::Histogram::~Histogram ( )

Destructs a histogram object.

Definition at line 175 of file Histogram.cpp.

Member Function Documentation

◆ AddData() [1/2]

void Isis::Histogram::AddData ( const double *  data,
const unsigned int  count 
)
virtual

Add an array of doubles to the histogram counters.

This method can be invoked multiple times. For example, once for each line in a cube, before obtaining statistics and histogram information.

Parameters
dataPointer to array of double to add.
countNumber of doubles to process.

Reimplemented in Isis::ImageHistogram.

Definition at line 232 of file Histogram.cpp.

References Isis::IsValidPixel().

Referenced by Isis::ChipViewport::computeStretch(), Isis::StretchTool::histFromBuffer(), Isis::StretchTool::histFromCube(), Isis::Cube::histogram(), and Isis::VisualDisplay::setPixelData().

◆ AddData() [2/2]

void Isis::Histogram::AddData ( const double  data)
virtual

Add a single double data to the histogram.

Of course this can be invoke multiple times. e.g. once for each residual in a network for instance.

Parameters
dataa single observation to be added to the histogram

Reimplemented in Isis::ImageHistogram.

Definition at line 262 of file Histogram.cpp.

References Isis::IsValidPixel().

◆ addMeasureDataFromNet()

void Isis::Histogram::addMeasureDataFromNet ( ControlNet net,
double(ControlMeasure::*)() const  statFunc 
)
private

Iterates through all the measures in a network adding them to the histogram.

Parameters
netreference to a ControlNetwork used to access all the measures
statFuncpointer to a ControlMeasure acessor, the returns of this function call will be used to build up the network

Definition at line 105 of file Histogram.cpp.

References Isis::ControlPoint::GetMeasure(), and Isis::ControlNet::GetNumPoints().

◆ Average()

◆ BestMaximum()

double Isis::Statistics::BestMaximum ( const double  percent = 99.5) const
inherited

This method returns the better of the absolute maximum or the Chebyshev maximum.

The better value is considered the value closest to the mean.

Parameters
percentThe probability that the maximum is within K standard deviations of the mean (Used to compute the Chebyshev maximum). Default value = 99.5.
Returns
Best of absolute and Chebyshev maximums
See also
Statistics::Maximum Statistics::ChebyshevMaximum

Definition at line 625 of file Statistics.cpp.

References Isis::Statistics::ChebyshevMaximum(), Isis::Statistics::m_validPixels, Isis::Statistics::Maximum(), and Isis::Statistics::Minimum().

Referenced by Isis::ChipViewport::computeStretch(), Isis::MosaicSceneItem::getStretch(), Isis::StretchTool::histFromBuffer(), Isis::VisualDisplay::setPixelData(), Isis::LinearStretchType::setStretch(), Isis::StretchTool::stretchBand(), and Isis::StretchTool::stretchBuffer().

◆ BestMinimum()

double Isis::Statistics::BestMinimum ( const double  percent = 99.5) const
inherited

This method returns the better of the absolute minimum or the Chebyshev minimum.

The better value is considered the value closest to the mean.

Parameters
percentThe probability that the minimum is within K standard deviations of the mean (Used to compute the Chebyshev minimum). Default value = 99.5.
Returns
Best of absolute and Chebyshev minimums
See also
Statistics::Minimum Statistics::ChebyshevMinimum

Definition at line 598 of file Statistics.cpp.

References Isis::Statistics::ChebyshevMinimum(), Isis::Statistics::m_validPixels, Isis::Statistics::Maximum(), and Isis::Statistics::Minimum().

Referenced by Isis::ChipViewport::computeStretch(), Isis::MosaicSceneItem::getStretch(), Isis::StretchTool::histFromBuffer(), Isis::VisualDisplay::setPixelData(), Isis::LinearStretchType::setStretch(), Isis::StretchTool::stretchBand(), and Isis::StretchTool::stretchBuffer().

◆ BinCount()

BigInt Isis::Histogram::BinCount ( const int  index) const

Returns the count at a bin position in the histogram.

Parameters
indexIndex of the desired bin 0 to Bins()-1.
Returns
The count at a bin position in the histogram.

Definition at line 403 of file Histogram.cpp.

Referenced by Isis::QHistogram::Load(), Isis::HistogramTool::refreshPlot(), and Isis::HistogramWidget::setHistogram().

◆ BinMiddle()

double Isis::Histogram::BinMiddle ( const int  index) const

Returns the value represented by a bin.

This is not the count, but the actual data value at the middle of the bin.

Parameters
indexIndex of the desired bin 0 to Bins()-1.
Returns
The middle value of the bin.

Definition at line 449 of file Histogram.cpp.

Referenced by Isis::QHistogram::Load(), Isis::HistogramTool::refreshPlot(), and Isis::HistogramWidget::setHistogram().

◆ BinRange()

void Isis::Histogram::BinRange ( const int  index,
double &  low,
double &  high 
) const
virtual

Returns the left edge and right edge values of a bin.

That is the range of data the bin covers.

Exceptions
iExceptionThe programmer has passed in an index outside of 0 to Bins()-1.
Parameters
indexIndex of the desired bin 0 to Bins()-1.
lowThe value at the left edge of the requested bin.
highThe value at the right edge of the requested bin.

Reimplemented in Isis::ImageHistogram.

Definition at line 427 of file Histogram.cpp.

◆ Bins()

int Isis::Histogram::Bins ( ) const

Returns the number of bins in the histogram.

Returns
The number of bins in the histogram.

Definition at line 483 of file Histogram.cpp.

Referenced by Isis::GaussianStretch::GaussianStretch(), Isis::QHistogram::Load(), Isis::HistogramTool::refreshPlot(), and Isis::HistogramWidget::setHistogram().

◆ BinSize()

double Isis::Histogram::BinSize ( ) const

Returns the size of an individual bin.

Essentially, the difference of the high and low edge values (BinRange) of a bin. This value is constant for all bins.

Returns
The size of the individual bin.

Definition at line 470 of file Histogram.cpp.

Referenced by Isis::BinaryStretchType::calculateNewStretch(), Isis::SawtoothStretchType::calculateNewStretch(), Isis::HistogramTool::refreshPlot(), Isis::HistogramWidget::setHistogram(), Isis::BinaryStretchType::setStretch(), Isis::LinearStretchType::setStretch(), Isis::SawtoothStretchType::setStretch(), Isis::SawtoothStretchType::widthEditChanged(), and Isis::SawtoothStretchType::widthSliderMoved().

◆ ChebyshevMaximum()

double Isis::Statistics::ChebyshevMaximum ( const double  percent = 99.5) const
inherited

This method returns a maximum such that X percent of the data will fall with K standard deviations of the average (Chebyshev's Theorem).

It can be used to obtain a minimum that does not include statistical outliers.

Parameters
percentThe probability that the maximum is within K standard deviations of the mean. Default value = 99.5.
Returns
maximum value excluding statistical outliers
Exceptions
Isis::IException::Message

Definition at line 572 of file Statistics.cpp.

References Isis::Statistics::Average(), Isis::Statistics::m_validPixels, Isis::IException::Programmer, and Isis::Statistics::StandardDeviation().

Referenced by Isis::Statistics::BestMaximum().

◆ ChebyshevMinimum()

double Isis::Statistics::ChebyshevMinimum ( const double  percent = 99.5) const
inherited

This method returns a minimum such that X percent of the data will fall with K standard deviations of the average (Chebyshev's Theorem).

It can be used to obtain a minimum that does not include statistical outliers.

Parameters
percentThe probability that the minimum is within K standard deviations of the mean. Default value = 99.5.
Returns
Minimum value (excluding statistical outliers)
Exceptions
Isis::IException::Message

Definition at line 545 of file Statistics.cpp.

References Isis::Statistics::Average(), Isis::Statistics::m_validPixels, Isis::IException::Programmer, and Isis::Statistics::StandardDeviation().

Referenced by Isis::Statistics::BestMinimum().

◆ fromPvl()

◆ HisPixels()

BigInt Isis::Statistics::HisPixels ( ) const
inherited

Returns the total number of high instrument saturation (HIS) pixels encountered.

Returns
The number of HIS pixels (data) processed

Definition at line 498 of file Statistics.cpp.

References Isis::Statistics::m_hisPixels.

Referenced by Isis::ZeroReverse::init(), and Isis::Statistics::toPvl().

◆ HrsPixels()

BigInt Isis::Statistics::HrsPixels ( ) const
inherited

Returns the total number of high representation saturation (HRS) pixels encountered.

Returns
The number of HRS pixels (data) processed

Definition at line 509 of file Statistics.cpp.

References Isis::Statistics::m_hrsPixels.

Referenced by Isis::Statistics::toPvl().

◆ LisPixels()

BigInt Isis::Statistics::LisPixels ( ) const
inherited

Returns the total number of low instrument saturation (LIS) pixels encountered.

Returns
The number of LIS pixels (data) processed

Definition at line 476 of file Statistics.cpp.

References Isis::Statistics::m_lisPixels.

Referenced by Isis::ZeroReverse::init(), and Isis::Statistics::toPvl().

◆ LrsPixels()

BigInt Isis::Statistics::LrsPixels ( ) const
inherited

Returns the total number of low representation saturation (LRS) pixels encountered.

Returns
The number of LRS pixels (data) processed

Definition at line 487 of file Statistics.cpp.

References Isis::Statistics::m_lrsPixels.

Referenced by Isis::Statistics::toPvl().

◆ MaxBinCount()

BigInt Isis::Histogram::MaxBinCount ( ) const

Returns the highest bin count.

Returns
The highest bin count.

Definition at line 493 of file Histogram.cpp.

Referenced by Isis::HistogramWidget::setHistogram().

◆ Maximum()

double Isis::Statistics::Maximum ( ) const
inherited

Returns the absolute maximum double found in all data passed through the AddData method.

If there are no valid pixels, then NULL8 is returned.

Returns
Current maximum value in data set
Exceptions
Isis::IException::MessageThe data set is blank, so the maximum is invalid.

Definition at line 403 of file Statistics.cpp.

References Isis::Statistics::m_maximum, Isis::Statistics::m_removedData, Isis::Statistics::m_validPixels, and Isis::IException::Programmer.

Referenced by Isis::Statistics::BestMaximum(), Isis::Statistics::BestMinimum(), Isis::BinaryStretchType::calculateNewStretch(), Isis::SawtoothStretchType::calculateNewStretch(), Isis::AutoReg::ComputeChipZScore(), Isis::BinaryStretchType::endEditChanged(), Isis::LinearStretchType::endEditChanged(), Isis::BinaryStretchType::endSliderMoved(), Isis::LinearStretchType::endSliderMoved(), Isis::QnetPointJigsawErrorFilter::filter(), Isis::QnetPointRegistrationErrorFilter::filter(), Isis::GaussianStretch::GaussianStretch(), Isis::ControlNetStatistics::GenerateControlNetStats(), Isis::ControlNet::GetMaximumResidual(), Isis::ControlNetStatistics::GetPointDoubleStats(), Isis::StatisticsTool::getStatistics(), Isis::SawtoothStretchType::offsetEditChanged(), Isis::SawtoothStretchType::offsetSliderMoved(), Isis::ControlPointGraphicsItem::paint(), Isis::VisualDisplay::paintPixmap(), Isis::HistogramTool::refreshPlot(), Isis::SawtoothStretchType::SawtoothStretchType(), Isis::ScatterPlotData::ScatterPlotData(), Isis::HistogramWidget::setHistogram(), Isis::BinaryStretchType::setStretch(), Isis::BinaryStretchType::startEditChanged(), Isis::LinearStretchType::startEditChanged(), Isis::BinaryStretchType::startSliderMoved(), Isis::LinearStretchType::startSliderMoved(), Isis::Gruen::StatsLog(), Isis::StretchTool::stretchBuffer(), Isis::CameraStatistics::toPvl(), Isis::Statistics::toPvl(), Isis::SawtoothStretchType::widthEditChanged(), Isis::SawtoothStretchType::widthSliderMoved(), and Isis::Statistics::ZScore().

◆ Median()

double Isis::Histogram::Median ( ) const

Returns the median.

Returns
The median

Definition at line 319 of file Histogram.cpp.

Referenced by Isis::HistogramTool::refreshPlot(), and Isis::SawtoothStretchType::SawtoothStretchType().

◆ Minimum()

double Isis::Statistics::Minimum ( ) const
inherited

Returns the absolute minimum double found in all data passed through the AddData method.

If there are no valid pixels, then NULL8 is returned.

Returns
Current minimum value in data set.
Exceptions
Isis::IException::MessageThe data set is blank, so the minimum is invalid.

Definition at line 382 of file Statistics.cpp.

References Isis::Statistics::m_minimum, Isis::Statistics::m_removedData, Isis::Statistics::m_validPixels, and Isis::IException::Programmer.

Referenced by Isis::Statistics::BestMaximum(), Isis::Statistics::BestMinimum(), Isis::BinaryStretchType::calculateNewStretch(), Isis::SawtoothStretchType::calculateNewStretch(), Isis::AutoReg::ComputeChipZScore(), Isis::BinaryStretchType::endEditChanged(), Isis::LinearStretchType::endEditChanged(), Isis::BinaryStretchType::endSliderMoved(), Isis::LinearStretchType::endSliderMoved(), Isis::GaussianStretch::GaussianStretch(), Isis::ControlNetStatistics::GenerateControlNetStats(), Isis::ControlNetStatistics::GetPointDoubleStats(), Isis::StatisticsTool::getStatistics(), Isis::SawtoothStretchType::offsetEditChanged(), Isis::SawtoothStretchType::offsetSliderMoved(), Isis::VisualDisplay::paintPixmap(), Isis::HistogramTool::refreshPlot(), Isis::SawtoothStretchType::SawtoothStretchType(), Isis::ScatterPlotData::ScatterPlotData(), Isis::HistogramWidget::setHistogram(), Isis::BinaryStretchType::setStretch(), Isis::BinaryStretchType::startEditChanged(), Isis::LinearStretchType::startEditChanged(), Isis::BinaryStretchType::startSliderMoved(), Isis::LinearStretchType::startSliderMoved(), Isis::Gruen::StatsLog(), Isis::StretchTool::stretchBuffer(), Isis::CameraStatistics::toPvl(), Isis::Statistics::toPvl(), Isis::SawtoothStretchType::widthEditChanged(), and Isis::SawtoothStretchType::widthSliderMoved().

◆ Mode()

double Isis::Histogram::Mode ( ) const

Returns the mode.

Returns
The mode

Definition at line 328 of file Histogram.cpp.

Referenced by Isis::HistogramTool::refreshPlot().

◆ NullPixels()

BigInt Isis::Statistics::NullPixels ( ) const
inherited

Returns the total number of NULL pixels encountered.

Returns
The number of NULL pixels (data) processed

Definition at line 465 of file Statistics.cpp.

References Isis::Statistics::m_nullPixels.

Referenced by Isis::ZeroReverse::init(), and Isis::Statistics::toPvl().

◆ OutOfRangePixels()

BigInt Isis::Statistics::OutOfRangePixels ( ) const
inherited

Returns the total number of pixels outside of the valid range encountered.

Returns
The number of Out of Range pixels (data) processed

Definition at line 520 of file Statistics.cpp.

References Isis::Statistics::m_overRangePixels, and Isis::Statistics::m_underRangePixels.

◆ OverRangePixels()

BigInt Isis::Statistics::OverRangePixels ( ) const
inherited

Returns the total number of pixels over the valid range encountered.

Returns
The number of pixels less than the ValidMaximum() processed

Definition at line 444 of file Statistics.cpp.

References Isis::Statistics::m_overRangePixels.

Referenced by Isis::Statistics::toPvl().

◆ Percent()

double Isis::Histogram::Percent ( const double  percent) const

Computes and returns the value at X percent of the histogram.

For example, Percent(50.0) is equivalent to the computing the median. While Percent(0.5) and Percent(99.5) would obtain a minimum and maximum for the data that could be used for a good contrast stretch.

Parameters
percentX percent of the histogram to compute.
Returns
The value at X percent of the histogram.

Definition at line 351 of file Histogram.cpp.

Referenced by Isis::BinaryStretchType::BinaryStretchType(), Isis::ChipViewport::computeStretch(), Isis::GaussianStretch::GaussianStretch(), Isis::Stretch::Parse(), Isis::VisualDisplay::setPixelData(), Isis::StretchTool::stretchBand(), and Isis::StretchTool::stretchBuffer().

◆ rangesFromNet()

void Isis::Histogram::rangesFromNet ( ControlNet net,
double(ControlMeasure::*)() const  statFunc 
)
private

Iterates through all the measures in a network in order to find the domain of the data.

Parameters
netreference to a ControlNetwork used to access all the measures
statFuncpointer to a ControlMeasure acessor, the returns of this function call will be used to build up the network
Exceptions
Thenet file appears to have 1 or fewer measures, thus no histogram can be formed

Definition at line 135 of file Histogram.cpp.

References Isis::ControlPoint::GetMeasure(), Isis::ControlNet::GetNumPoints(), and Isis::IsSpecial().

◆ RemoveData()

void Isis::Histogram::RemoveData ( const double *  data,
const unsigned int  count 
)
virtual

Remove an array of doubles from the histogram counters.

Note that this invalidates the absolute minimum and maximum. They will no longer be useable.

See also
Stats
Parameters
dataPointer to array of doubles to remove.
countnumber of doubles to process.

Reimplemented in Isis::ImageHistogram.

Definition at line 291 of file Histogram.cpp.

References Isis::IsValidPixel().

◆ Reset()

void Isis::Histogram::Reset ( )

Resets histogram counters to zero.

Definition at line 210 of file Histogram.cpp.

◆ Rms()

double Isis::Statistics::Rms ( ) const
inherited

Computes and returns the rms.

If there are no valid pixels, then NULL8 is returned.

Returns
The rms (root mean square)
History:
2011-06-13 Ken Edmundson.

Definition at line 365 of file Statistics.cpp.

References Isis::Statistics::m_sumsum, and Isis::Statistics::m_validPixels.

Referenced by Isis::BundleAdjust::computeBundleStatistics(), Isis::ControlPoint::GetLineResidualRms(), Isis::ControlPoint::GetResidualRms(), Isis::ControlPoint::GetSampleResidualRms(), and Isis::BundleSolutionInfo::outputHeader().

◆ SetBins()

void Isis::Histogram::SetBins ( const int  bins)

Change the number of bins in the histogram and reset counters.

Definition at line 219 of file Histogram.cpp.

◆ SetValidRange()

void Isis::Histogram::SetValidRange ( const double  minimum = Isis::ValidMinimum,
const double  maximum = Isis::ValidMaximum 
)

Changes the range of the bins.

This function also sets the range of the parent statistics class and resets the stats/histogram counters. So binRange = setValidRange. Should only be called once, prior to Adding data to the histogram.

Parameters
binStartThe start of the bin range
binEndThe end of the bin range

Definition at line 192 of file Histogram.cpp.

Referenced by Isis::Cube::histogram().

◆ Skew()

double Isis::Histogram::Skew ( ) const

Computes and returns the skew.

If there are no valid pixels then NULL8 is returned. Recognize that because of the binning which occurs, in order to generate the histogram, the skew may not be precise but will be very close.

Returns
The skew.

Definition at line 384 of file Histogram.cpp.

Referenced by Isis::HistogramTool::refreshPlot().

◆ StandardDeviation()

◆ Sum()

double Isis::Statistics::Sum ( ) const
inherited

Returns the sum of all the data.

Returns
The sum of the data

Definition at line 341 of file Statistics.cpp.

References Isis::Statistics::m_sum.

Referenced by Isis::MultivariateStatistics::Covariance(), Isis::MultivariateStatistics::LinearRegression(), and Isis::Statistics::toPvl().

◆ SumSquare()

double Isis::Statistics::SumSquare ( ) const
inherited

Returns the sum of all the squared data.

Returns
The sum of the squared data

Definition at line 351 of file Statistics.cpp.

References Isis::Statistics::m_sumsum.

Referenced by Isis::MultivariateStatistics::LinearRegression(), and Isis::Statistics::toPvl().

◆ toPvl()

◆ TotalPixels()

BigInt Isis::Statistics::TotalPixels ( ) const
inherited

Returns the total number of pixels processed (valid and invalid).

Returns
The number of pixels (data) processed

Definition at line 420 of file Statistics.cpp.

References Isis::Statistics::m_totalPixels.

Referenced by Isis::VisualDisplay::paintPixmap(), and Isis::Statistics::toPvl().

◆ UnderRangePixels()

BigInt Isis::Statistics::UnderRangePixels ( ) const
inherited

Returns the total number of pixels under the valid range encountered.

Returns
The number of pixels less than the ValidMinimum() processed

Definition at line 455 of file Statistics.cpp.

References Isis::Statistics::m_underRangePixels.

Referenced by Isis::Statistics::toPvl().

◆ ValidPixels()

BigInt Isis::Statistics::ValidPixels ( ) const
inherited

Returns the total number of valid pixels processed.

Only valid pixels are utilized when computing the average, standard deviation, variance, minimum and maximum.

Returns
The number of valid pixels (data) processed

Definition at line 433 of file Statistics.cpp.

References Isis::Statistics::m_validPixels.

Referenced by Isis::OverlapNormalization::AddOverlap(), Isis::ControlNetStatistics::GetPointDoubleStats(), Isis::StatisticsTool::getStatistics(), Isis::QHistogram::Load(), Isis::HistogramTool::refreshPlot(), Isis::StretchTool::stretchBuffer(), Isis::Statistics::toPvl(), and Isis::StretchTool::updateHistograms().

◆ Variance()

double Isis::Statistics::Variance ( ) const
inherited

Computes and returns the variance.

If there are no valid pixels, then NULL8 is returned.

Returns
The variance
History:
2003-08-27 Jeff Anderson - Modified Variance method to compute using n*(n-1) instead of n*n.

Definition at line 328 of file Statistics.cpp.

References Isis::Statistics::m_sum, Isis::Statistics::m_sumsum, and Isis::Statistics::m_validPixels.

Referenced by Isis::HistogramTool::refreshPlot(), Isis::Statistics::StandardDeviation(), and Isis::Statistics::toPvl().

◆ write()

◆ ZScore()

double Isis::Statistics::ZScore ( const double  value) const
inherited

This method returns the better of the z-score of the given value.

The z-score is the number of standard deviations the value lies above or below the average.

Parameters
valueThe value to calculate the z-score of.
Returns
z-score

Definition at line 649 of file Statistics.cpp.

References Isis::Statistics::Average(), Isis::Statistics::Maximum(), Isis::IException::Programmer, Isis::Statistics::StandardDeviation(), and Isis::toString().

Referenced by Isis::AutoReg::ComputeChipZScore().

Member Data Documentation

◆ m_hisPixels

BigInt Isis::Statistics::m_hisPixels
privateinherited

Count of high instrument representation pixels processed.

Definition at line 203 of file Statistics.h.

Referenced by Isis::Statistics::AddData(), Isis::Statistics::fromPvl(), Isis::Statistics::HisPixels(), Isis::Statistics::Reset(), and Isis::Statistics::write().

◆ m_hrsPixels

BigInt Isis::Statistics::m_hrsPixels
privateinherited

Count of high instrument saturation pixels processed.

Definition at line 202 of file Statistics.h.

Referenced by Isis::Statistics::AddData(), Isis::Statistics::fromPvl(), Isis::Statistics::HrsPixels(), Isis::Statistics::Reset(), and Isis::Statistics::write().

◆ m_lisPixels

BigInt Isis::Statistics::m_lisPixels
privateinherited

Count of low representation saturation pixels processed.

Definition at line 201 of file Statistics.h.

Referenced by Isis::Statistics::AddData(), Isis::Statistics::fromPvl(), Isis::Statistics::LisPixels(), Isis::Statistics::Reset(), and Isis::Statistics::write().

◆ m_lrsPixels

BigInt Isis::Statistics::m_lrsPixels
privateinherited

Count of low instrument saturation pixels processed.

Definition at line 200 of file Statistics.h.

Referenced by Isis::Statistics::AddData(), Isis::Statistics::fromPvl(), Isis::Statistics::LrsPixels(), Isis::Statistics::Reset(), and Isis::Statistics::write().

◆ m_maximum

double Isis::Statistics::m_maximum
privateinherited

◆ m_minimum

double Isis::Statistics::m_minimum
privateinherited

◆ m_nullPixels

BigInt Isis::Statistics::m_nullPixels
privateinherited

◆ m_overRangePixels

BigInt Isis::Statistics::m_overRangePixels
privateinherited

◆ m_removedData

bool Isis::Statistics::m_removedData
privateinherited

Indicates the RemoveData method was called which implies m_minimum and m_maximum are invalid.

Definition at line 206 of file Statistics.h.

Referenced by Isis::Statistics::fromPvl(), Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), Isis::Statistics::Reset(), and Isis::Statistics::write().

◆ m_sum

double Isis::Statistics::m_sum
privateinherited

◆ m_sumsum

double Isis::Statistics::m_sumsum
privateinherited

The sum-squared accumulator, i.e.

the sum of the squares of the data values.

Definition at line 191 of file Statistics.h.

Referenced by Isis::Statistics::AddData(), Isis::Statistics::fromPvl(), Isis::Statistics::Reset(), Isis::Statistics::Rms(), Isis::Statistics::SumSquare(), Isis::Statistics::Variance(), and Isis::Statistics::write().

◆ m_totalPixels

BigInt Isis::Statistics::m_totalPixels
privateinherited

◆ m_underRangePixels

BigInt Isis::Statistics::m_underRangePixels
privateinherited

◆ m_validMaximum

double Isis::Statistics::m_validMaximum
privateinherited

Maximum valid pixel value.

Definition at line 196 of file Statistics.h.

Referenced by Isis::Statistics::fromPvl(), and Isis::Statistics::write().

◆ m_validMinimum

double Isis::Statistics::m_validMinimum
privateinherited

Minimum valid pixel value.

Definition at line 195 of file Statistics.h.

Referenced by Isis::Statistics::fromPvl(), and Isis::Statistics::write().

◆ m_validPixels

◆ p_bins

std::vector<BigInt> Isis::Histogram::p_bins
protected

The array of counts.

Definition at line 121 of file Histogram.h.

Referenced by Isis::ImageHistogram::AddData(), Isis::ImageHistogram::BinRange(), and Isis::ImageHistogram::RemoveData().


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