Upcoming changes to statistics algorithms.

We are starting work to modernize the statistics algorithms. If you have any suggestions or criticisms, please discuss them in this thread. The work is scheduled to take place through September.

Step 1: Partitioned DataSet Collections for Model Tables

The first step of that is to switch statistics algorithms to use vtkPartitionedDataSetCollection to hold model tables rather than vtkMultiBlockDataSet. There is a draft merge request here to illustrate the changes required. It will not be merged for some time as there are more changes to come to improve the usability of these filters in ParaView.

This is a breaking change. VTK discourages classes from switching output data types based on flags and because of the number of classes changed and tests involved, it is not feasible to keep versions of the class around that generate and use multiblock data.

Step 2: Migrate ParaView Classes to VTK

The VTK statistics filters require you to

  1. Adapt any input data (in the form of vtkDataSet, vtkImageData, etc.) into a vtkTable.
  2. Subsample data as needed.
  3. Manage aggregation of models if your input data was composite but you wanted a single model across all leaf data in a composite dataset.
  4. Transfer any statistical assessments of the input data back onto the original geometry.

ParaView has several classes (vtkSciVizStatistics and related classes in VTKExtensions/FiltersStatistics) that we will be migrating to VTK and adapting as needed for the changes above.

Step 3: Improve Handling of Distributed Data

There are situations where ParaView’s handling of distributed data could lead to hangs because not all ranks had data (and would thus skip participating in collective operations like broadcasts). These issues will be fixed.

Step 4: User Interface for Inspecting/Aggregating Model Tables

One of the largest complaints about the statistics filters – especially the multicorrelative and PCA statistics, but others as well – is that the model tables are difficult to read. We will be providing custom Qt widgets (which may live in VTK for use by other applications) that will be used in custom ParaView views.

1 Like