USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::MultivariateStatistics Class Reference

Container of multivariate statistics. More...

#include <MultivariateStatistics.h>

Public Member Functions

 MultivariateStatistics ()
 Constructs a Multivariate Statistics object with accumulators and counters set to zero.
 
 ~MultivariateStatistics ()
 Destructs a MultivariateStatistics object.
 
void Reset ()
 Resets all accumulators to zero.
 
void AddData (const double *x, const double *y, const unsigned int count)
 Add two arrays of doubles to the accumulators and counters.
 
void AddData (double x, double y, unsigned int count=1)
 Add an x,y value to the accumulators and counters count times.
 
void RemoveData (const double *x, const double *y, const unsigned int count)
 Remove an array of doubles from the accumulators and counters.
 
Isis::Statistics X () const
 Returns a Stats object for all of the X data fed through the AddData method.
 
Isis::Statistics Y () const
 Returns a Stats object for all of the Y data fed through the AddData method.
 
double SumXY () const
 Returns the sum of x*y for all data given through the AddData method.
 
double Covariance () const
 Computes and returns the covariance between the two data sets If there are no valid data (pixels) then NULL8 is returned.
 
double Correlation () const
 Computes and returns the coefficient of correlation (between -1.0 and 1.0) of the two data sets.
 
void LinearRegression (double &a, double &b) const
 Fits a line

\[ y=A+Bx \]

through the data.

 
BigInt ValidPixels () const
 Returns the number of valid pixels processed.
 
BigInt InvalidPixels () const
 Returns the number of invalid pixels encountered.
 
BigInt TotalPixels () const
 Returns the total number of pixels processed.
 

Detailed Description

Container of multivariate statistics.

This class is used to accumulate multivariate statisics on two double arrays. In particular, it is highly useful for obtaining the covariance, correlation, and linear regression analysis on the the data. It ignores input values which are Isis special pixel values. That is, if either co-aligned double value is a special pixel then both values are not used in any statistical computation.

See Also
Histogram
Stats
Author
2004-06-08 Jeff Anderson

Constructor & Destructor Documentation

Isis::MultivariateStatistics::MultivariateStatistics ( )

Constructs a Multivariate Statistics object with accumulators and counters set to zero.

References Reset().

Isis::MultivariateStatistics::~MultivariateStatistics ( )

Destructs a MultivariateStatistics object.

Member Function Documentation

void Isis::MultivariateStatistics::AddData ( const double *  x,
const double *  y,
const unsigned int  count 
)

Add two arrays 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
xArray of doubles to add.
yArray of doubles to add.
countNumber of doubles to process.

References Isis::Statistics::AddData(), and Isis::IsValidPixel().

Referenced by Isis::MaximumCorrelation::MatchAlgorithm().

void Isis::MultivariateStatistics::AddData ( double  x,
double  y,
unsigned int  count = 1 
)

Add an x,y value to the accumulators and counters count times.

This method can be invoked multiple times before obtaining statistics.

Parameters
xx value to add
yy value to add
countNumber of times to add this x,y value

References Isis::Statistics::AddData(), and Isis::IsValidPixel().

double Isis::MultivariateStatistics::Correlation ( ) const

Computes and returns the coefficient of correlation (between -1.0 and 1.0) of the two data sets.

This can be used as a goodness-of-fit measurement. The close the correlation is two -1.0 or 1.0 the more likely the data sets are related (and therefore the regression equation is valid).

Returns
The coefficient of correlation. (between -1.0 and 1.0) The closer to 0.0 implies there is less correlation between the data sets. Returns NULL8 if correlation couldn't be computed.

References Covariance(), Isis::NULL8, and Isis::Statistics::StandardDeviation().

Referenced by Isis::MaximumCorrelation::MatchAlgorithm().

double Isis::MultivariateStatistics::Covariance ( ) const

Computes and returns the covariance between the two data sets If there are no valid data (pixels) then NULL8 is returned.

Returns
Covariance between the two data sets.

References Isis::Statistics::Average(), Isis::NULL8, and Isis::Statistics::Sum().

Referenced by Correlation().

BigInt Isis::MultivariateStatistics::InvalidPixels ( ) const

Returns the number of invalid pixels encountered.

Returns
The number of invalid (unprocessed) pixels.
void Isis::MultivariateStatistics::LinearRegression ( double &  a,
double &  b 
) const

Fits a line

\[ y=A+Bx \]

through the data.

Parameters
aThe additive constant A.
bThe additive constant B.

References _FILEINFO_, Isis::IException::Programmer, Isis::Statistics::Sum(), and Isis::Statistics::SumSquare().

void Isis::MultivariateStatistics::RemoveData ( const double *  x,
const double *  y,
const unsigned int  count 
)

Remove an array of doubles from the accumulators and counters.

Parameters
xPointer to an array of doubles to remove.
yArray of doubles to add.
countNumber of doubles to process.
Returns
(type)return description

References _FILEINFO_, Isis::IsValidPixel(), Isis::IException::Programmer, and Isis::Statistics::RemoveData().

void Isis::MultivariateStatistics::Reset ( )

Resets all accumulators to zero.

References Isis::Statistics::Reset().

Referenced by MultivariateStatistics().

double Isis::MultivariateStatistics::SumXY ( ) const

Returns the sum of x*y for all data given through the AddData method.

Returns
The sum of x*y for all data.
BigInt Isis::MultivariateStatistics::TotalPixels ( ) const

Returns the total number of pixels processed.

Returns
The total number of pixel processed (valid and invalid).
BigInt Isis::MultivariateStatistics::ValidPixels ( ) const

Returns the 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 processed.

Referenced by Isis::Equalization::calculateStatistics(), Isis::OverlapStatistics::IsValid(), and Isis::MaximumCorrelation::MatchAlgorithm().

Isis::Statistics Isis::MultivariateStatistics::X ( ) const

Returns a Stats object for all of the X data fed through the AddData method.

Returns
A Stats object for all X data.

Referenced by Isis::Equalization::calculateStatistics().

Isis::Statistics Isis::MultivariateStatistics::Y ( ) const

Returns a Stats object for all of the Y data fed through the AddData method.

Returns
A Stats object for all Y data.

Referenced by Isis::Equalization::calculateStatistics().


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