Skip to content
Extracting different feature lines from piecewise linear tensor fields
C++ Python CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Find Tensor Feature Lines in Piecewise Linear Tensor Fields

Implements algorithm for finding different feature lines in piecewise linear tensor fields. Includes degenerate lines, tensor core lines, and parallel eigenvector lines. Based on the work from two of my papers:


Build process

cd tensor-lines/cpp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make install



Main program. Computes feature lines on a VTK Unstructured grid file. Execute tensor_lines -h for valid command line options. Input file needs to be in VTK legacy format with tensors as point data (arrays with 9 components containing 3x3 tensor in row-major order).

The main algorithm is implemented in src/ and does not depend on VTK. A VTK filter using the algorithm to find intersections of feature lines with tetrahedral cell faces and connecting them to lines is implemented in src/


Small tool to generate example datasets of a linear tensor field. Execute generate_tet_dataset -h for usage information. Generates a mesh in tetrahedral form with variable number of subdivision levels. Tensors at the four corners can be specified manually or randomly. Subdivision interpolates linearly between the corners.


Small tool to generate example datasets of several analytic tensor fields with variable sampling density. Execute generate_grid_dataset -h for usage information. Samples the analytic tensor field on a regular grid and subdivides the cells into tetrahedra.

You can’t perform that action at this time.