12#include "IException.h"
13#include "MultivariateStatistics.h"
15#include "PvlKeyword.h"
67 const unsigned int count) {
68 for(
unsigned int i = 0; i < count; i++) {
101 for (
unsigned int i = 0; i < count; i++) {
125 const unsigned int count) {
126 for(
unsigned int i = 0; i < count; i++) {
141 std::string m =
"You are removing non-existant data in [MultivariateStatistics::RemoveData]";
177 if(stdX == 0.0 || stdX == Isis::NULL8)
return Isis::NULL8;
178 if(stdY == 0.0 || stdY == Isis::NULL8)
return Isis::NULL8;
179 if(covar == Isis::NULL8)
return Isis::NULL8;
180 return covar / (stdX * stdY);
226 std::string msg =
"Unable to compute linear regression in Multivariate Statistics";
279 PvlGroup xStats = inStats.findGroup(
"XStatistics");
281 PvlGroup yStats = inStats.findGroup(
"YStatistics");
294 if (name.isEmpty()) {
295 name =
"MultivariateStatistics";
319 mStats.addGroup(xStats);
320 mStats.addGroup(yStats);
@ Programmer
This error is for when a programmer made an API call that was illegal.
void LinearRegression(double &a, double &b) const
Fits a line.
void RemoveData(const double *x, const double *y, const unsigned int count)
Remove an array of doubles from the accumulators and counters.
Isis::Statistics p_y
A Statistics object holding y data.
double Correlation() const
Computes and returns the coefficient of correlation (between -1.0 and 1.0) of the two data sets.
Isis::Statistics Y() const
Returns a Stats object for all of the Y data fed through the AddData method.
Isis::Statistics p_x
A Statistics object holding x data.
BigInt p_validPixels
The number of valid (computed) pixels.
double Covariance() const
Computes and returns the covariance between the two data sets If there are no valid data (pixels) the...
MultivariateStatistics()
Constructs a Multivariate Statistics object with accumulators and counters set to zero.
PvlObject toPvl(QString name="MultivariateStatistics") const
Serializes a multivariate statistics object as a PvlObject.
BigInt TotalPixels() const
Returns the total number of pixels processed.
BigInt InvalidPixels() const
Returns the number of invalid pixels encountered.
double SumXY() const
Returns the sum of x*y for all data given through the AddData method.
~MultivariateStatistics()
Destructs a MultivariateStatistics object.
double p_sumxy
The sum of x and y.
BigInt p_invalidPixels
The number of invalid (ignored) pixels.
BigInt ValidPixels() const
Returns the number of valid pixels processed.
Isis::Statistics X() const
Returns a Stats object for all of the X data fed through the AddData method.
void fromPvl(const PvlObject &inStats)
Unserializes a multivariate statistics object from a PvlObject.
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.
BigInt p_totalPixels
The total number of pixels (invalid and valid).
Contains multiple PvlContainers.
A single keyword-value pair.
Contains Pvl Groups and Pvl Objects.
This class is used to accumulate statistics on double arrays.
double Sum() const
Returns the sum of all the data.
double Average() const
Computes and returns the average.
double SumSquare() const
Returns the sum of all the squared data.
PvlGroup toPvl(QString name="Statistics") const
Serialize statistics as a pvl group.
void AddData(const double *data, const unsigned int count)
Add an array of doubles to the accumulators and counters.
void RemoveData(const double *data, const unsigned int count)
Remove an array of doubles from the accumulators and counters.
double StandardDeviation() const
Computes and returns the standard deviation.
void Reset()
Reset all accumulators and counters to zero.
This is free and unencumbered software released into the public domain.
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
bool IsValidPixel(const double d)
Returns if the input pixel is valid.
long long int BigInt
Big int.