Fit a multivariate Gaussian to data and/or assess Mahalanobis distance of each datum from the mean. More...
#include <vtkPSciVizMultiCorrelativeStats.h>
Public Types | |
typedef vtkSciVizStatistics | Superclass |
Public Types inherited from vtkSciVizStatistics | |
enum | Tasks { MODEL_INPUT, CREATE_MODEL, ASSESS_INPUT, MODEL_AND_ASSESS } |
Possible tasks the filter can perform. More... | |
typedef vtkTableAlgorithm | Superclass |
Public Types inherited from vtkTableAlgorithm | |
typedef vtkAlgorithm | Superclass |
Public Types inherited from vtkAlgorithm | |
enum | DesiredOutputPrecision |
enum | DesiredOutputPrecision |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Public Member Functions inherited from vtkSciVizStatistics | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
int | GetNumberOfAttributeArrays () |
Return the number of columns available for the current value of AttributeMode. More... | |
const char * | GetAttributeArrayName (int n) |
Get the name of the n-th array ffor the current value of AttributeMode. More... | |
int | GetAttributeArrayStatus (const char *arrName) |
Get the status of the specified array (i.e., whether or not it is a column of interest). More... | |
vtkInformationIntegerKey * | MULTIPLE_MODELS () |
A key used to mark the output model data object (output port 0) when it is a multiblock of models (any of which may be multiblock dataset themselves) as opposed to a multiblock dataset containing a single model. More... | |
virtual int | GetAttributeMode () |
Set/get the type of field attribute (cell, point, field) More... | |
virtual void | SetAttributeMode (int) |
Set/get the type of field attribute (cell, point, field) More... | |
void | EnableAttributeArray (const char *arrName) |
An alternate interface for preparing a selection of arrays in ParaView. More... | |
void | ClearAttributeArrays () |
An alternate interface for preparing a selection of arrays in ParaView. More... | |
virtual void | SetTrainingFraction (double) |
Set/get the amount of data to be used for training. More... | |
virtual double | GetTrainingFraction () |
Set/get the amount of data to be used for training. More... | |
virtual void | SetController (vtkMultiProcessController *) |
Get/Set the multiprocess controller. More... | |
virtual vtkMultiProcessController * | GetController () |
Get/Set the multiprocess controller. More... | |
virtual void | SetTask (int) |
Set/get whether this filter should create a model of the input or assess the input or both. More... | |
virtual int | GetTask () |
Set/get whether this filter should create a model of the input or assess the input or both. More... | |
Public Member Functions inherited from vtkTableAlgorithm | |
vtkTableAlgorithm * | NewInstance () const |
vtkTable * | GetOutput () |
vtkTable * | GetOutput (int index) |
void | SetInputData (vtkDataObject *obj) |
void | SetInputData (int index, vtkDataObject *obj) |
vtkTable * | GetOutput () |
vtkTable * | GetOutput (int index) |
void | SetInputData (vtkDataObject *obj) |
void | SetInputData (int index, vtkDataObject *obj) |
Public Member Functions inherited from vtkAlgorithm | |
vtkAlgorithm * | NewInstance () const |
int | HasExecutive () |
vtkExecutive * | GetExecutive () |
virtual void | SetExecutive (vtkExecutive *executive) |
virtual int | ModifyRequest (vtkInformation *request, int when) |
vtkInformation * | GetInputPortInformation (int port) |
vtkInformation * | GetOutputPortInformation (int port) |
int | GetNumberOfInputPorts () |
int | GetNumberOfOutputPorts () |
void | UpdateProgress (double amount) |
vtkInformation * | GetInputArrayInformation (int idx) |
void | RemoveAllInputs () |
vtkDataObject * | GetOutputDataObject (int port) |
virtual void | RemoveInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | RemoveInputConnection (int port, int idx) |
virtual void | RemoveAllInputConnections (int port) |
int | GetNumberOfInputConnections (int port) |
int | GetTotalNumberOfInputConnections () |
vtkAlgorithmOutput * | GetInputConnection (int port, int index) |
vtkAlgorithm * | GetInputAlgorithm (int port, int index, int &algPort) |
vtkAlgorithm * | GetInputAlgorithm (int port, int index) |
vtkExecutive * | GetInputExecutive (int port, int index) |
vtkInformation * | GetInputInformation (int port, int index) |
vtkInformation * | GetOutputInformation (int port) |
virtual int | Update (int port, vtkInformationVector *requests) |
virtual int | Update (vtkInformation *requests) |
virtual int | UpdateExtent (const int extents[6]) |
virtual void | UpdateInformation () |
virtual void | UpdateDataObject () |
virtual void | PropagateUpdateExtent () |
virtual void | UpdateWholeExtent () |
void | ConvertTotalInputToPortConnection (int ind, int &port, int &conn) |
int | SetUpdateExtentToWholeExtent (int port) |
int | SetUpdateExtentToWholeExtent () |
void | SetUpdateExtent (int port, int extent[6]) |
void | SetUpdateExtent (int extent[6]) |
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime) |
virtual vtkInformation * | GetInformation () |
virtual void | SetInformation (vtkInformation *) |
void | Register (vtkObjectBase *o) VTK_OVERRIDE |
void | UnRegister (vtkObjectBase *o) VTK_OVERRIDE |
virtual void | SetAbortExecute (int) |
virtual int | GetAbortExecute () |
virtual void | AbortExecuteOn () |
virtual void | AbortExecuteOff () |
virtual void | SetProgress (double) |
virtual double | GetProgress () |
void | SetProgressText (const char *ptext) |
virtual char * | GetProgressText () |
virtual unsigned long | GetErrorCode () |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
vtkDataObject * | GetInputDataObject (int port, int connection) |
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
virtual void | SetInputDataObject (int port, vtkDataObject *data) |
virtual void | SetInputDataObject (vtkDataObject *data) |
virtual void | AddInputDataObject (int port, vtkDataObject *data) |
virtual void | AddInputDataObject (vtkDataObject *data) |
vtkAlgorithmOutput * | GetOutputPort (int index) |
vtkAlgorithmOutput * | GetOutputPort () |
vtkAlgorithm * | GetInputAlgorithm () |
vtkExecutive * | GetInputExecutive () |
vtkInformation * | GetInputInformation () |
virtual void | Update (int port) |
virtual void | Update () |
virtual int | UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=0) |
virtual int | UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0) |
virtual void | SetReleaseDataFlag (int) |
virtual int | GetReleaseDataFlag () |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output) |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
void | SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel) |
void | SetUpdateExtent (int piece, int numPieces, int ghostLevel) |
int * | GetUpdateExtent () |
int * | GetUpdateExtent (int port) |
void | GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
void | GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
void | GetUpdateExtent (int extent[6]) |
void | GetUpdateExtent (int port, int extent[6]) |
int | GetUpdatePiece () |
int | GetUpdatePiece (int port) |
int | GetUpdateNumberOfPieces () |
int | GetUpdateNumberOfPieces (int port) |
int | GetUpdateGhostLevel () |
int | GetUpdateGhostLevel (int port) |
void | SetProgressObserver (vtkProgressObserver *) |
virtual vtkProgressObserver * | GetProgressObserver () |
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime) |
virtual vtkInformation * | GetInformation () |
virtual void | SetInformation (vtkInformation *) |
void | Register (vtkObjectBase *o) VTK_OVERRIDE |
void | UnRegister (vtkObjectBase *o) VTK_OVERRIDE |
virtual void | SetAbortExecute (int) |
virtual int | GetAbortExecute () |
virtual void | AbortExecuteOn () |
virtual void | AbortExecuteOff () |
virtual void | SetProgress (double) |
virtual double | GetProgress () |
void | SetProgressText (const char *ptext) |
virtual char * | GetProgressText () |
virtual unsigned long | GetErrorCode () |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
vtkDataObject * | GetInputDataObject (int port, int connection) |
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
virtual void | SetInputDataObject (int port, vtkDataObject *data) |
virtual void | SetInputDataObject (vtkDataObject *data) |
virtual void | AddInputDataObject (int port, vtkDataObject *data) |
virtual void | AddInputDataObject (vtkDataObject *data) |
vtkAlgorithmOutput * | GetOutputPort (int index) |
vtkAlgorithmOutput * | GetOutputPort () |
vtkAlgorithm * | GetInputAlgorithm () |
vtkExecutive * | GetInputExecutive () |
vtkInformation * | GetInputInformation () |
virtual void | Update (int port) |
virtual void | Update () |
virtual int | UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=0) |
virtual int | UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0) |
virtual void | SetReleaseDataFlag (int) |
virtual int | GetReleaseDataFlag () |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output) |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
void | SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel) |
void | SetUpdateExtent (int piece, int numPieces, int ghostLevel) |
int * | GetUpdateExtent () |
int * | GetUpdateExtent (int port) |
void | GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
void | GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
void | GetUpdateExtent (int extent[6]) |
void | GetUpdateExtent (int port, int extent[6]) |
int | GetUpdatePiece () |
int | GetUpdatePiece (int port) |
int | GetUpdateNumberOfPieces () |
int | GetUpdateNumberOfPieces (int port) |
int | GetUpdateGhostLevel () |
int | GetUpdateGhostLevel (int port) |
void | SetProgressObserver (vtkProgressObserver *) |
virtual vtkProgressObserver * | GetProgressObserver () |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual vtkMTimeType | GetMTime () |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
void | SetReferenceCount (int) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
Additional Inherited Members | |
Public Attributes inherited from vtkAlgorithm | |
SINGLE_PRECISION | |
DOUBLE_PRECISION | |
DEFAULT_PRECISION | |
int | AbortExecute |
Static Protected Member Functions inherited from vtkAlgorithm | |
static vtkInformationIntegerKey * | PORT_REQUIREMENTS_FILLED () |
Protected Attributes inherited from vtkSciVizStatistics | |
int | AttributeMode |
int | Task |
double | TrainingFraction |
vtkSciVizStatisticsP * | P |
vtkMultiProcessController * | Controller |
Protected Attributes inherited from vtkAlgorithm | |
vtkInformation * | Information |
double | Progress |
char * | ProgressText |
vtkProgressObserver * | ProgressObserver |
unsigned long | ErrorCode |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Static Protected Attributes inherited from vtkAlgorithm | |
static vtkExecutive * | DefaultExecutivePrototype |
Fit a multivariate Gaussian to data and/or assess Mahalanobis distance of each datum from the mean.
This filter either computes a statistical model of a dataset or takes such a model as its second input. Then, the model (however it is obtained) may optionally be used to assess the input dataset.
This filter computes the covariance matrix for all the arrays you select plus the mean of each array. The model is thus a multivariate Gaussian distribution with the mean vector and variances provided. Data is assessed using this model by computing the Mahalanobis distance for each input point. This distance will always be positive.
The learned model output format is rather dense and can be confusing, so it is discussed here. The first filter output is a multiblock dataset consisting of 2 tables:
The raw covariance table has 3 meaningful columns: 2 titled "Column1" and "Column2" whose entries generally refer to the N arrays you selected when preparing the filter and 1 column titled "Entries" that contains numeric values. The first row will always contain the number of observations in the statistical analysis. The next N rows contain the mean for each of the N arrays you selected. The remaining rows contain covariances of pairs of arrays.
The second table (covariance matrix and Cholesky decomposition) contains information derived from the raw covariance data of the first table. The first N rows of the first column contain the name of one array you selected for analysis. These rows are followed by a single entry labeled "Cholesky" for a total of N+1 rows. The second column, Mean contains the mean of each variable in the first N entries and the number of observations processed in the final (N+1) row.
The remaining columns (there are N, one for each array) contain 2 matrices in triangular format. The upper right triangle contains the covariance matrix (which is symmetric, so its lower triangle may be inferred). The lower left triangle contains the Cholesky decomposition of the covariance matrix (which is triangular, so its upper triangle is zero). Because the diagonal must be stored for both matrices, an additional row is required - hence the N+1 rows and the final entry of the column named "Column".
Definition at line 63 of file vtkPSciVizMultiCorrelativeStats.h.
Definition at line 68 of file vtkPSciVizMultiCorrelativeStats.h.
|
protected |
|
overrideprotected |
|
static |
|
virtual |
Reimplemented from vtkSciVizStatistics.
Reimplemented from vtkSciVizStatistics.
|
static |
|
overridevirtual |
Reimplemented from vtkTableAlgorithm.
|
overrideprotectedvirtual |
Method subclasses must override to calculate a full model from the given input data.
The model should be placed on the first output port of the passed vtkInformationVector as well as returned in the model parameter.
Implements vtkSciVizStatistics.
|
overrideprotectedvirtual |
Method subclasses must override to assess an input table given a model of the proper type.
The dataset parameter contains a shallow copy of input port 0 and should be modified to include the assessment.
Adding new arrays to point/cell/vertex/edge data should not pose a problem, but any alterations to the dataset itself will probably require that you create a deep copy before modification.
observations | - a table containing the field data of the dataset converted to a table |
dataset | - a shallow copy of the input dataset that should be altered to include an assessment of the output. |
model | - the statistical model with which to assess the observations. |
Implements vtkSciVizStatistics.