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++) {
130 p_x.RemoveData(&x[i], 1);
131 p_y.RemoveData(&y[i], 1);
141 std::string m =
"You are removing non-existant data in [MultivariateStatistics::RemoveData]";
175 double stdX =
p_x.StandardDeviation();
176 double stdY =
p_y.StandardDeviation();
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";
294 if (name.isEmpty()) {
295 name =
"MultivariateStatistics";
@ 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.
void addGroup(const Isis::PvlGroup &group)
Add a group to the object.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
This class is used to accumulate statistics on double arrays.
PvlGroup toPvl(QString name="Statistics") const
Serialize statistics as a pvl group.
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.