Please find below detailed instructions for the 
installation of TTK 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 18.04.2 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 0.9.8 of 
TTK along with the 
version 5.6.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.7 with ParaView 5.6.0,
 · 
TTK 0.9.6 with ParaView 5.5.2,
 · 
TTK 0.9.5 with ParaView 5.5.0,
 · 
TTK 0.9.4 with ParaView 5.4.1,
 · 
TTK 0.9.3 with ParaView 5.4.1,
 · 
TTK 0.9.2 with ParaView 5.4.0,
 · 
TTK 0.9.1 with ParaView 5.3.0,
 · 
TTK 0.9 with ParaView 5.2.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
$ sudo apt-get install libvtk7-dev
$ sudo apt-get install qt5-default qttools5-dev libqt5x11extras5-dev
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:
 · 
eigen (for scalar field design, version 3.3.7 or later). 
Under 
Ubuntu Linux 18.04.2, enter the following command:
$ sudo apt-get install libeigen3-dev
 · 
graphviz (for graph 
drawing features, version 2.40.1 or later). Under 
Ubuntu Linux 18.04.2, 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 18.04.2, 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.
 · 
ZFP 
(for advanced compression support, version 0.5.4 or later). See the 
following page for installation 
instructions.
 · Other optional dependencies should already be installed by 
default under 
Ubuntu Linux, such as:
   · 
sqlite (for cinema query 
features, version 3.24.0 or later);
   · 
zlib (for further compression support, version 1.2.11 or later)
Note to non-Ubuntu users
We recommend in general to install the version 8 of the VTK library 
instead of the version described above (which 
is only recommended for Ubuntu users).
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.6.1.tar.xz ~/ttk/
$ mv ~/Downloads/ttk-0.9.8.tar.gz ~/ttk/
$ cd ~/ttk
$ tar xvJf ParaView-v5.6.1.tar.xz
$ tar xvzf ttk-0.9.8.tar.gz
You can delete the tarballs after the source trees have been decompressed by 
entering the following commands:
$ rm ParaView-v5.6.1.tar.xz
$ rm ttk-0.9.8.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-0.9.8/paraview/patch
$ ./patch-paraview-5.6.1.sh
 ~/ttk/ParaView-v5.6.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.6.1/
$ mkdir build
$ cd build
$ cmake-gui ../
The configuration window opens. Click on the "Configure" button to proceed.
Once the configuration is finished, please 
tick the "Advanced" check box and 
set the following variables as follows (required 
for TTK's 
installation):
 · CMAKE_BUILD_TYPE=Release
 · PARAVIEW_ENABLE_PYTHON=ON
 · PARAVIEW_INSTALL_DEVELOPMENT_FILES=ON
 · VTK_PYTHON_VERSION=3
 
Optionally, you may want to turn on additional features. See the 
ParaView 
build documentation for further details if needed.
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-0.9.8/
$ 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. 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!