You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.2 KiB
C++

/*=========================================================================
Program: Visualization Toolkit
Module: vtkComputeQuartiles.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 vtkComputeQuartiles
* @brief Extract quartiles and extremum values
* of all columns of a table or all fields of a dataset.
*
*
* vtkComputeQuartiles accepts any vtkDataObject as input and produces a
* vtkTable data as output.
* This filter can be used to generate a table to create box plots
* using a vtkPlotBox instance.
* The filter internally uses vtkOrderStatistics to compute quartiles.
*
* @sa
* vtkTableAlgorithm vtkOrderStatistics vtkPlotBox vtkChartBox
*
* @par Thanks:
* This class was written by Kitware SAS and supported by EDF - www.edf.fr
*/
#ifndef vtkComputeQuartiles_h
#define vtkComputeQuartiles_h
#include "vtkFiltersStatisticsModule.h" // For export macro
#include "vtkTableAlgorithm.h"
class vtkDataSet;
class vtkDoubleArray;
class vtkFieldData;
class vtkTable;
class VTKFILTERSSTATISTICS_EXPORT vtkComputeQuartiles : public vtkTableAlgorithm
{
public:
static vtkComputeQuartiles* New();
vtkTypeMacro(vtkComputeQuartiles, vtkTableAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent) override;
protected:
vtkComputeQuartiles();
~vtkComputeQuartiles() override;
int FillInputPortInformation(int port, vtkInformation* info) override;
int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
vtkInformationVector* outputVector) override;
void ComputeTable(vtkDataObject*, vtkTable*, vtkIdType);
int FieldAssociation;
private:
void operator=(const vtkComputeQuartiles&) = delete;
vtkComputeQuartiles(const vtkComputeQuartiles&) = delete;
int GetInputFieldAssociation();
vtkFieldData* GetInputFieldData(vtkDataObject* input);
};
#endif