Please find below detailed instructions for the
installation of TTK from sources, under Linux (default target platform).
TTK is also supported on other operating systems:
·
Windows installation instructions;
·
MacOS installation instructions.
These specific notes describe the installation procedure for a
Ubuntu Linux 20.04.1 operating system (but the process should be very
similar
for other Linux distributions).
A video from our
tutorial page
also shows how to proceed on a step-by-step basis.
If you are an advanced user and you do not wish to install ParaView (TTK's
main user interface), you
still
have the possibility to install TTK without ParaView support (although we
highly recommend to activate it).
In that case, simply
download TTK as describded in section 1, install the dependencies as detailed
in
section 2 and finally, directly jump to
section 6
(
"Configuring, building
and installing TTK").
Examples showing how to use TTK libraries from your
own VTK code can be found
on this page.
If you are an advanced user and you do not even wish to install VTK, you still
have the possibility to install TTK without VTK support (although we
highly recommend to activate it).
In that case, simply download TTK as describded in section 1, install the
optional dependencies as detailed in
section 2 and finally, directly jump to section 6 (
"Configuring, building
and
installing TTK").
Examples showing how to use TTK libraries from your own
C++ code can be found
on this page.
Most users will want to activate TTK's ParaView support.
The remainder of these notes
describe
the installation of the
version 1.0.0 of
TTK along with the
version 5.9.1 of ParaView. Other versions of either software packages
may require slight variations in the installation procedure.
For earlier versions of both software packages, you may want to check out
previous versions of our installation notes:
·
TTK 0.9.9 with ParaView 5.8.1,
·
TTK 0.9.8 with ParaView 5.6.1,
·
TTK 0.9.7 with ParaView 5.6.0,
(...)
1. Downloads
TTK builds on top of
ParaView for its main user interface. Thus, you will first
need to download
ParaView's source code.
Note
that TTK plugins for ParaView will only work with a version of ParaView
compiled from source. Thus, if you already installed ParaView with a binary
copy, you may need to un-install it before proceeding.
Next, download TTK from our
download page.
2. Installing the dependencies
Several dependencies will need to be installed in order to
compile ParaView and TTK from source. Please enter the following commands
(omit the
$
character) in a terminal to install them (please see
the documentation of your package manager if your operating system is not
Ubuntu Linux):
$ sudo apt-get install cmake-qt-gui libboost-system-dev libpython3.8-dev libxt-dev libxcursor-dev libopengl-dev
$ sudo apt-get install qt5-default qttools5-dev libqt5x11extras5-dev
libqt5svg5-dev qtxmlpatterns5-dev-tools
Note that these commands will also trigger the installation of the (numerous)
dependencies of these components.
Optional dependencies
In order to enjoy the complete set of TTK features, we also recommend to
install the following,
optional dependencies:
·
embree
(in-situ ray-tracing support for TTK's cinema features, version 3.4.0 or later). See the
following page for installation
instructions.
·
eigen (for scalar field design, version 3.3.7 or later).
Under
Ubuntu Linux 20.04.1, enter the following command:
$ sudo apt-get install libeigen3-dev
·
graphviz (for graph
drawing features, version 2.40.1 or later). Under
Ubuntu Linux 20.04.1, enter the following command:
$ sudo apt-get install graphviz-dev
·
scikit-learn (for data
reduction features, version 0.19.0 or later). Under
Ubuntu Linux 20.04.1, enter the following command:
$ sudo apt-get install python3-sklearn
·
Spectra
(for the computation of the eigenfunctions of the Laplace-Beltrami operator, version 0.8.1 or later). See the
following page for installation
instructions.
·
sqlite (for cinema query
features, version 3.24.0 or later).
Under
Ubuntu Linux 20.04.1, enter the following command:
$ sudo apt-get install libsqlite3-dev
·
ZFP
(for advanced compression support, version 0.5.4 or later). See the
following page for installation
instructions.
·
zlib (for further compression support, version 1.2.11 or later).
Under
Ubuntu Linux 20.04.1, enter the following command:
$ sudo apt-get install zlib1g-dev
Note to Fedora users
You can install the different required packages as follows:
$ sudo dnf install vtk-devel
$ sudo dnf install cmake-gui
$ sudo dnf install qt5-qttools-devel
$ sudo dnf install qt5-qtx11extras
$ sudo dnf install cgnslib
$ sudo dnf install eigen3-devel
$ sudo dnf install graphviz-devel
It has also been reported that the following packages may need to be installed
under Fedora (as of version 30):
lz4
,
protobuf
,
pugixml
,
cgnslib-devel
,
zfp-devel
.
3. Preparing the sources
Move the tarballs to a working directory (for instance called
~/ttk
) and decompress them by entering the following commands in
a terminal (this assumes that you downloaded the tarballs to the
~/Downloads
directory):
$ mkdir ~/ttk
$ mv ~/Downloads/ParaView-v5.9.1.tar.xz ~/ttk/
$ mv ~/Downloads/ttk-1.0.0.tar.gz ~/ttk/
$ cd ~/ttk
$ tar xvJf ParaView-v5.9.1.tar.xz
$ tar xvzf ttk-1.0.0.tar.gz
You can delete the tarballs after the source trees have been decompressed by
entering the following commands:
$ rm ParaView-v5.9.1.tar.xz
$ rm ttk-1.0.0.tar.gz
4. Patching the ParaView source tree
In order to enjoy the complete set of TTK features, we
recommend at this stage to patch the ParaView source tree.
This step is
optional.
To proceed, go to
the patch directory and apply it as follows:
$ cd ~/ttk/ttk-1.0.0/paraview/patch
$ ./patch-paraview-5.9.1.sh
~/ttk/ParaView-v5.9.1/
5.
Configuring, building and installing ParaView
a) Configuration
To enter the configuration menu of ParaView's build, enter
the following commands:
$ cd ~/ttk/ParaView-v5.9.1/
$ mkdir build
$ cd build
$ cmake-gui ../
The configuration window opens. Click on the "Configure" button to proceed.
Once the configuration is finished, you may want to enable additional build options (OSPRay, MPI, etc) to your liking (see the
ParaView
build documentation for further details). Note that certain options require the installation of additional dependencies.
Next, click on the "Generate" button and close the configuration window when
the generation is completed.
Note to Linux Mint users
It has been reported that the following CMake variables need to be updated as follows (as of version 19):
· CMAKE_C_FLAGS=-luuid
· CMAKE_CXX_FLAGS=-luuid
b) Build
Now you can start the compilation process by entering the following command,
where
N
is the number of available cores on your system (this will
take a
LONG time):
$ make -jN
c) Installation
Once the build is finished,
enter the following
command
to install your build of ParaView on your system:
$ sudo make install
6. Configuring, building and installing TTK
a) Configuration
To enter the configuration menu of TTK's build, enter the following
commands:
$ cd ~/ttk/ttk-1.0.0/
$ mkdir build
$ cd build
$ cmake-gui ../
The configuration window opens. Click on the "Configure" button to proceed.
At this stage, under Linux, TTK's build should be automatically configured
correctly
by default and Linux users can click on the "Generate" button.
Once the generation is completed, close the configuration window.
If you are an advanced user and you do not wish to activate TTK's ParaView
support, set the CMake variable
TTK_BUILD_PARAVIEW_PLUGINS
to
OFF
.
Examples showing how to use TTK libraries from your
own VTK code can be found
on this page.
If you are an advanced user and you do not even wish to activate TTK's VTK
support, set the CMake variables
TTK_BUILD_STANDALONE_APPS
and
TTK_BUILD_VTK_WRAPPERS
to
OFF
.
Examples showing how to use TTK libraries from your own
C++ code can be found
on this page.
b) Build
Now you can start the compilation process by entering the following command,
where
N
is the number of available cores on your system (this will
take a
LONG time):
$ make -jN
c) Installation
Once the build is finished,
enter the following
command to install your build of TTK on your system:
$ sudo make install
Note that, in addition to the installation of TTK plugins for ParaView,
the above command also installed a collection of standalone TTK programs
that
can be used outside of ParaView,
either as command line tools or VTK-based graphical user interfaces. To list
them, enter the following commands (this assumes that you did not modify the
default TTK installation path, /usr/local/
):
$ ls /usr/local/bin/*Cmd
$ ls /usr/local/bin/*Gui
7. Setting up environment variables
At this point, for an optimal user experience, we recommend users to define the following environment variables (in particular, when using TTK with python).
Under Ubuntu Linux, this can be done by entering the following commands (omit the
$
character):
$ echo "export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib" >> ~/.bashrc
$ echo "export PV_PLUGIN_PATH=${PV_PLUGIN_PATH}:/usr/local/bin/plugins/"
>> ~/.bashrc
$ echo "export PYTHONPATH=${PYTHONPATH}:/usr/local/lib/python3.8/site-packages/" >> ~/.bashrc
$ source ~/.bashrc
Note that if you decided to change the default installation path of ParaView and TTK, you will need in the above commands to replace
/usr/local
by your custom installation path.
8. Checking your TTK installation
If you applied all the above steps successfully (including step 4), you
can now open a terminal and type the following command to load your
TTK-patched ParaView:
$ paraview
At this point, you should see the following TTK startup screen:
On this screen, clicking on the "Example Visualizations" link should bring you
to the TTK built-in example screen:
From there, clicking on one of the three buttons should generate one of the
following three visualizations:
If this is the case, congratulations!
You have just successfully installed
TTK on your system!
If you have not applied the optional step 4 of this installation procedure,
certain TTK features will not be accessible from ParaView and the above
built-in examples will not be available in your ParaView build. However, most
of TTK features should still work as expected.
Now, please visit our tutorial page to watch video
tutorials showing how to use TTK with ParaView with concrete examples and how to
use it from your own Python or C++ code or how to extend TTK by writing up your
own module!