FTK's features are partially implemented in ParaView plug-ins. We are addressing the following limitations for future releases:
- We do not currently support distributed and parallel processing with ParaView plug-ins. One can compile FTK with MPI and use
mpiexec
to executeftk
in order to track features with multiple processes - We have limited support for CUDA-accelerated filters. One can compile FTK with CUDA and use
--accelerator cuda
to accelerate computation with a GPU - Performance of our filters (especially 4D filters) may not be optimized because of MPI/CUDA support is missing
- Filters are only supported for
vtkImageData
types for now; use C++ APIs for unstructured mesh data - Post-processing of outputs, e.g. smoothing, simplification, and filtering of critical point trajectories not yet supported in ParaView plug-ins
Currently, the only way to install FTK's ParaView plug-ins is to build from source. See install.md for more details.
See synthetic.md for a comprehensive list of synthetic data sources that are supported
This filter tracks critical points in 2D scalar and vector fields.
The input must be in 2D vtkImageData
type. We currently do not support vtkUnstructuredGrid
as the input.
The filter automatically determines whether the input is a scalar or vector field based on the number of components of the input variable:
- The input is treated as a scalar field if the input variable contains one single component. For example, the
scalar
variable provided byMovingExtremum2DSource
is a scalar field because the variable contains one single component - The input is treated as a vector field if the input variable contains multiple components. For example, the
vector
variable provided by theDoubleGyre2DSource
is a vector field because the variable contains more than one components - If a vector field is provided by two different variables, say
u
andv
, one has to combine the two variables into a multi-component variable using theCalculator
filter withiHat*u + jHat*v
; otherwiseu
orv
will be treated as a scalar field.
InputVariable
specifies the input variableZTimeScale
(by default zero) controls the ratio of z-coordinates over time in the outputs, which can be used to generate spacetime visualizations in 3D (x and y being space and z being time). This option is by default zero in order to behave consistently asCriticalPointTracker3D
, which is not possible to visualize spacetime visualizations in 3D
The outputs are trajectories in vtkPolyData
format with multiple variables:
id
are the integer identifiers of trajectoriestime
are the time coordinates of each pointtype
is the type of critical points. Seeftk/numeric/critical_point_type.hh
for definitions
This filter tracks critical points in 3D scalar and vector fields. We omit descriptions because this filter behaves very similar to CriticalPointTracker2D
.
This filter tracks level sets (contours) in 2D scalar fields.
The input must be in 2D vtkImageData
type; the input variable must contain one single component. We currently do not support vtkUnstructuredGrid
as the input.
Threshold
(by default zero) is the the isovalue for levelest trackingOutputType
controls whether the outputs are "sliced" (contours in individual timesteps) or "traced" (spacetime isosurfaces); see the above imageZTimeScale
(by default zero) controls the ratio of z-coordinates over time in the outputs; see theZTimeScale
inCriticalPointTracker2D
for more details
The "sliced" outputs are contours in the vtkPolyData
format for each tilmestep; the "traced" outputs are surfaces in the vtkPolyData
format. The outputs have multiple variables:
id
are the integer identifiers of trajectoriestime
are the time coordinates of each point
This filter tracked levelests (contours) in 3D scalar fields. We omit descriptions because this filter behaves very similar to LevelSetTracker3D
.