text: /*=========================================================================
  
  Program:   Visualization Toolkit
  Module:    vtkDescriptiveStatisticsGnuR.h
  
  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
  All rights reserved.
  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
  
  This software is distributed WITHOUT ANY WARRANTY; without even
  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  PURPOSE.  See the above copyright notice for more information.
  
  =========================================================================*/
  /**
   * @class   vtkDescriptiveStatisticsGnu
   * @brief   A class for univariate descriptive statistics using
   * R to calculate p-values
   *
   *
   * Given a selection of columns of interest in an input data table, this
   * class provides the following functionalities, depending on the chosen
   * execution options:
   * * Learn: calculate extremal values, sample mean, and M2, M3, and M4 aggregates
   *   (cf. P. Pebay, Formulas for robust, one-pass parallel computation of covariances
   *   and Arbitrary-Order Statistical Moments, Sandia Report SAND2008-6212, Sep 2008,
   *   http://infoserve.sandia.gov/sand_doc/2008/086212.pdf for details)
   * * Derive: calculate unbiased variance estimator, standard deviation estimator,
   *   two skewness estimators, and two kurtosis excess estimators.
   * * Assess: given an input data set, a reference value and a non-negative deviation,
   *   mark each datum with corresponding relative deviation (1-dimensional Mahlanobis
   *   distance). If the deviation is zero, then mark each datum which are equal to the
   *   reference value with 0, and all others with 1. By default, the reference value
   *   and the deviation are, respectively, the mean and the standard deviation of the
   *   input model.
   *
   * @par Thanks:
   * Thanks to Philippe Pebay and David Thompson from Sandia National Laboratories
   * for implementing this class.
   * Updated by Philippe Pebay, Kitware SAS 2012
  */
  
  #ifndef vtkDescriptiveStatisticsGnuR_h
  #define vtkDescriptiveStatisticsGnuR_h
  
  #include "vtkFiltersStatisticsGnuRModule.h" // For export macro
  #include "vtkDescriptiveStatistics.h"
  
  class vtkDoubleArray;
  
  class VTKFILTERSSTATISTICSGNUR_EXPORT vtkDescriptiveStatisticsGnuR : public vtkDescriptiveStatistics
  {
  public:
    vtkTypeMacro(vtkDescriptiveStatisticsGnuR, vtkDescriptiveStatistics);
    void PrintSelf(ostream& os, vtkIndent indent);
    static vtkDescriptiveStatisticsGnuR* New();
  
  protected:
    vtkDescriptiveStatisticsGnuR();
    ~vtkDescriptiveStatisticsGnuR();
  
    virtual vtkDoubleArray* CalculatePValues(vtkDoubleArray*);
  
  private:
    vtkDescriptiveStatisticsGnuR(const vtkDescriptiveStatisticsGnuR&) VTK_DELETE_FUNCTION;
    void operator=(const vtkDescriptiveStatisticsGnuR&) VTK_DELETE_FUNCTION;
  };
  
  #endif
  