Isis 3 Programmer Reference
Isis::GaussianStretch Class Reference

Gaussian stretch class. More...

#include <GaussianStretch.h>

Inheritance diagram for Isis::GaussianStretch:
Inheritance graph
Collaboration diagram for Isis::GaussianStretch:
Collaboration graph

Public Member Functions

 GaussianStretch (Histogram &histogram, const double mean=0.0, const double standardDeviation=1.0)
 Constructs a gaussian stretch object. More...
 
double Map (const double value) const
 Maps an input value to an output value based on the gaussian distribution. More...
 
void Reset ()
 Reset all accumulators and counters to zero. More...
 
void AddData (const double *data, const unsigned int count)
 Add an array of doubles to the accumulators and counters. More...
 
void AddData (const double data)
 Add a double to the accumulators and counters. More...
 
void RemoveData (const double *data, const unsigned int count)
 Remove an array of doubles from the accumulators and counters. More...
 
void RemoveData (const double data)
 
void SetValidRange (const double minimum=Isis::ValidMinimum, const double maximum=Isis::ValidMaximum)
 
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)
 

Private Attributes

Stretch p_stretch
 Value of the mean. More...
 

Detailed Description

Gaussian stretch class.

This class is used to stretch the input histogram to a gaussian distribution with the specified mean and standard deviation.

Author
2006-05-25 Jacob Danton
History:

2006-05-25 Jacob Danton Original Version

2006-10-28 Stuart Sides Fixed stretch pair ordering

2008-09-09 Steven Lambright Fixed stretch pair ordering again; this fix does not solve our problem but makes our tests work and isn't wrong.

Definition at line 51 of file GaussianStretch.h.

Constructor & Destructor Documentation

◆ GaussianStretch()

Isis::GaussianStretch::GaussianStretch ( Histogram histogram,
const double  mean = 0.0,
const double  standardDeviation = 1.0 
)

Constructs a gaussian stretch object.

Parameters
histogramThe input histogram
meanThe mean of the output distribution
standardDeviationThe standard deviation of the output distribution

Definition at line 41 of file GaussianStretch.cpp.

References Isis::Histogram::Bins(), Isis::GaussianDistribution::InverseCumulativeDistribution(), Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), and Isis::Histogram::Percent().

Member Function Documentation

◆ AddData() [1/2]

void Isis::Statistics::AddData ( const double *  data,
const unsigned int  count 
)
inherited

Add an array of doubles to the accumulators and counters.

This method can be invoked multiple times (for example: once for each line in a cube) before obtaining statistics.

Parameters
dataThe data to be added to the data set used for statistical calculations.
countThe number of elements in the incoming data to be added.

Definition at line 154 of file Statistics.cpp.

Referenced by Isis::MultivariateStatistics::AddData(), Isis::CameraStatistics::addStats(), Isis::averageLines(), Isis::averageSamples(), Isis::Process::CalculateStatistics(), Isis::Gruen::CheckConstraints(), Isis::BundleAdjust::computeBundleStatistics(), Isis::AutoReg::ComputeChipZScore(), Isis::ChipViewport::computeStretch(), Isis::GainLineStat(), Isis::ControlNetStatistics::GenerateImageStats(), Isis::ControlPoint::GetLineResidualRms(), Isis::ControlNetStatistics::GetPointDoubleStats(), Isis::ControlPoint::GetResidualRms(), Isis::ControlPoint::GetSampleResidualRms(), Isis::SpatialPlotTool::getSpatialStatistics(), Isis::SpectralPlotTool::getSpectralStatistics(), Isis::ControlPoint::GetStatistic(), Isis::StatisticsTool::getStatistics(), Isis::MosaicSceneItem::getStretch(), Isis::ZeroBufferFit::guess(), Isis::ZeroReverse::init(), Isis::ZeroBufferSmooth::init(), Isis::StandardDeviationOperator::Interest(), Isis::BundleSolutionInfo::outputHeader(), Isis::ControlPointGraphicsItem::paint(), Isis::AutoReg::Reduce(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::VisualDisplay::setPixelData(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::Chip::Statistics(), Isis::Cube::statistics(), and Isis::StretchTool::statsFromCube().

◆ AddData() [2/2]

void Isis::Statistics::AddData ( const double  data)
inherited

Add a double to the accumulators and counters.

This method can be invoked multiple times (for example: once for each pixel in a cube) before obtaining statistics.

Parameters
dataThe data to be added to the data set used for statistical calculations.

Definition at line 171 of file Statistics.cpp.

References Isis::IsHisPixel(), Isis::IsHrsPixel(), Isis::IsLisPixel(), Isis::IsLrsPixel(), Isis::IsNullPixel(), Isis::Statistics::m_hisPixels, Isis::Statistics::m_hrsPixels, Isis::Statistics::m_lisPixels, Isis::Statistics::m_lrsPixels, Isis::Statistics::m_maximum, Isis::Statistics::m_minimum, Isis::Statistics::m_nullPixels, Isis::Statistics::m_overRangePixels, Isis::Statistics::m_sum, Isis::Statistics::m_sumsum, Isis::Statistics::m_totalPixels, Isis::Statistics::m_underRangePixels, and Isis::Statistics::m_validPixels.

◆ 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 634 of file Statistics.cpp.

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

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 611 of file Statistics.cpp.

References Isis::Statistics::ChebyshevMinimum(), Isis::Statistics::m_validPixels, 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().

◆ 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 585 of file Statistics.cpp.

References _FILEINFO_, 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 558 of file Statistics.cpp.

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

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

◆ 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 511 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 522 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 489 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 500 of file Statistics.cpp.

References Isis::Statistics::m_lrsPixels.

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

◆ Map()

double Isis::GaussianStretch::Map ( const double  value) const

Maps an input value to an output value based on the gaussian distribution.

Parameters
valueValue to map
Returns
double The mapped output value is returned by this method

Definition at line 73 of file GaussianStretch.cpp.

◆ 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 416 of file Statistics.cpp.

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

Referenced by Isis::Statistics::BestMaximum(), 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(), 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().

◆ 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 395 of file Statistics.cpp.

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

Referenced by Isis::Statistics::BestMinimum(), Isis::BinaryStretchType::calculateNewStretch(), Isis::SawtoothStretchType::calculateNewStretch(), Isis::AutoReg::ComputeChipZScore(), Isis::BinaryStretchType::endEditChanged(), Isis::LinearStretchType::endEditChanged(), Isis::BinaryStretchType::endSliderMoved(), Isis::LinearStretchType::endSliderMoved(), 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().

◆ 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 478 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 533 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 457 of file Statistics.cpp.

References Isis::Statistics::m_overRangePixels.

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

◆ RemoveData()

void Isis::Statistics::RemoveData ( const double *  data,
const unsigned int  count 
)
inherited

Remove an array of doubles from the accumulators and counters.

Note that is invalidates the absolute minimum and maximum. They will no longer be usable.

Parameters
dataThe data to be removed from data set used for statistical calculations.
countThe number of elements in the data to be removed.
Exceptions
IException::MessageRemoveData is trying to remove data that doesn't exist.

Definition at line 219 of file Statistics.cpp.

Referenced by Isis::MultivariateStatistics::RemoveData().

◆ Reset()

◆ 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 378 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().

◆ StandardDeviation()

◆ Sum()

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

Returns the sum of all the data.

Returns
The sum of the data

Definition at line 354 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 364 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 433 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 468 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 446 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 341 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 654 of file Statistics.cpp.

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

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

Member Data Documentation

◆ p_stretch

Stretch Isis::GaussianStretch::p_stretch
private

Value of the mean.

Definition at line 59 of file GaussianStretch.h.


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