paraview.simple.PrincipalComponentAnalysis(*input, **params)

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. <p> This filter performs additional analysis above and beyond the multicorrelative filter. It computes the eigenvalues and eigenvectors of the covariance matrix from the multicorrelative filter. Data is then assessed by projecting the original tuples into a possibly lower-dimensional space. <p> Since the PCA filter uses the multicorrelative filter’s analysis, it shares the same raw covariance table specified in the multicorrelative documentation. The second table in the multiblock dataset comprising the model output is an expanded version of the multicorrelative version. <p> As with the multicorrelative filter, the second model table contains the mean values, the upper-triangular portion of the symmetric covariance matrix, and the non-zero lower-triangular portion of the Cholesky decomposition of the covariance matrix. Below these entries are the eigenvalues of the covariance matrix (in the column labeled “Mean”) and the eigenvectors (as row vectors) in an additional NxN matrix.

Data Descriptors


Specify which type of field data the arrays will be drawn from.


The minimum energy to use when determining the dimensionality of the new space into which the assessment will project tuples.


When reporting assessments, should the full eigenvector decomposition be used to project the original vector into the new space (Full basis), or should a fixed subset of the decomposition be used (Fixed-size basis), or should the projection be clipped to preserve at least some fixed “energy” (Fixed-energy basis)?<p> As an example, suppose the variables of interest were {A,B,C,D,E} and that the eigenvalues of the covariance matrix for these were {5,2,1.5,1,.5}. If the “Full basis” scheme is used, then all 5 components of the eigenvectors will be used to project each {A,B,C,D,E}-tuple in the original data into a new 5-components space.<p> If the “Fixed-size” scheme is used and the “Basis Size” property is set to 4, then only the first 4 eigenvector components will be used to project each {A,B,C,D,E}-tuple into the new space and that space will be of dimension 4, not 5.<p> If the “Fixed-energy basis” scheme is used and the “Basis Energy” property is set to 0.8, then only the first 3 eigenvector components will be used to project each {A,B,C,D,E}-tuple into the new space, which will be of dimension 3. The number 3 is chosen because 3 is the lowest N for which the sum of the first N eigenvalues divided by the sum of all eigenvalues is larger than the specified “Basis Energy” (i.e., (5+2+1.5)/10 = 0.85 > 0.8).


The maximum number of eigenvector components to use when projecting into the new space.


The input to the filter. Arrays from this dataset will be used for computing statistics and/or assessed by a statistical model.


A previously-calculated model with which to assess a separate dataset. This input is optional.


Before the eigenvector decomposition of the covariance matrix takes place, you may normalize each (i,j) entry by sqrt( cov(i,i) * cov(j,j) ). This implies that the variance of each variable of interest should be of equal importance.


Compute robust PCA with medians instead of means.


Specify the task to be performed: modeling and/or assessment. <ol> <li> “Detailed model of input data,” creates a set of output tables containing a calculated statistical model of the <b>entire</b> input dataset;</li> <li> “Model a subset of the data,” creates an output table (or tables) summarizing a <b>randomly-chosen subset</b> of the input dataset;</li> <li> “Assess the data with a model,” adds attributes to the first input dataset using a model provided on the second input port; and</li> <li> “Model and assess the same data,” is really just operations 2 and 3 above applied to the same input dataset. The model is first trained using a fraction of the input data and then the entire dataset is assessed using that model.</li> </ol> When the task includes creating a model (i.e., tasks 2, and 4), you may adjust the fraction of the input dataset used for training. You should avoid using a large fraction of the input data for training as you will then not be able to detect overfitting. The <i>Training fraction</i> setting will be ignored for tasks 1 and 3.


Specify the fraction of values from the input dataset to be used for model fitting. The exact set of values is chosen at random from the dataset.


Choose arrays whose entries will be used to form observations for statistical analysis.

Data Descriptors inherited from Proxy


dictionary for instance variables (if defined)


list of weak references to the object (if defined)


Initialize = aInitialize(self, connection=None, update=True)

Methods inherited from SourceProxy


Called when the filename of a source proxy is changed.


Returns the associated cell data information.

GetDataInformation(self, idx=None)

This method returns a DataInformation wrapper around a vtkPVDataInformation


Returns the associated cell data information.


Returns the associated point data information.

UpdatePipeline(self, time=None)

This method updates the server-side VTK pipeline and the associated data information. Make sure to update a source to validate the output meta-data.


This method updates the meta-data of the server-side VTK pipeline and the associated information properties

__getitem__(self, idx)

Given a slice, int or string, returns the corresponding output port

Methods inherited from Proxy

GetProperty(self, name)

Given a property name, returns the property object.

GetPropertyValue(self, name)

Returns a scalar for properties with 1 elements, the property itself for vectors.

InitializeFromProxy(self, aProxy, update=True)

Constructor. Assigns proxy to self.SMProxy, updates the server object as well as register the proxy in _pyproxies dictionary.


Returns a list of all property names on this proxy.

SetPropertyWithName(self, pname, arg)

Generic method for setting the value of a property.


Destructor. Cleans up all observers as well as remove the proxy from the _pyproxies dictionary

__eq__(self, other)

Returns true if the underlying SMProxies are the same.

__getattr__(self, name)

With the exception of a few overloaded methods, returns the SMProxy method


Return hash(self).

__init__(self, **args)

Default constructor. It can be used to initialize properties by passing keyword arguments where the key is the name of the property. In addition registrationGroup and registrationName (optional) can be specified (as keyword arguments) to automatically register the proxy with the proxy manager.


Creates an iterator for the properties.

__ne__(self, other)

Returns false if the underlying SMProxies are the same.

__setattr__(self, name, value)

Implement setattr(self, name, value).

add_attribute(self, name, value)

For the full list of servermanager proxies, please refer to Available readers, sources, writers, filters and animation cues