Installation

FURY supports Python 3.5+. You can currently still use Python 2.7 but it will soon stop being supported as the Python 2.7 end of life is on December 31st 2019.

Dependencies

The mandatory dependencies are:

  • numpy >= 1.7.1

  • vtk >= 8.1.0

  • scipy >= 0.9

The optional dependencies are:

  • matplotlib >= 2.0.0

  • dipy >= 0.16.0

Installation with PyPi

In a terminal, issue the following command

pip install fury

Installation with Conda

Our conda package is on the Conda-Forge channel. You will need to run the following command

conda install -c conda-forge fury

Installation via Source

Step 1. Get the latest source by cloning this repo

git clone https://github.com/fury-gl/fury.git

Step 2. Install requirements

pip install -r requirements/default.txt

Step 3. Install fury via

pip install .

or

pip install -e .

Step 4: Enjoy!

Test the Installation

You can check your installation via this command

python -c "from fury import get_info; print(get_info())"

This command will give you important information about FURY’s installation. The next step will be to run a tutorial.

Running the Tests

Let’s install all required packages for the running the test

pip install -r requirements/default.txt
pip install -r requirements/test.txt

There are two ways to run FURY tests:

  • From the command line. You need to be on the FURY package folder

pytest -svv fury
  • To run a specific test file

pytest -svv fury/tests/test_actor.py
  • To run a specific test directory

pytest -svv fury/tests
  • To run a specific test function

pytest -svv -k "test_my_function_name"

Running the Tests Offscreen

FURY is based on VTK which uses OpenGL for all its rendering. For a headless rendering, we recommend to install and use Xvfb software on linux or OSX. Since Xvfb will require an X server (we also recommend to install XQuartz package on OSX). After Xvfb is installed you have 2 options to run FURY tests:

  • First option

export DISPLAY=:0
Xvfb :0 -screen 1920x1080x24 > /dev/null 2>1 &
pytest -svv fury
  • Second option

export DISPLAY=:0
xvfb-run --server-args="-screen 0 1920x1080x24" pytest -svv fury

Populating our Documentation

Folder Structure

Let’s start by showcasing the docs folder structure:

fury
├── docs
│ ├── build
│ ├── make.bat
│ ├── Makefile
│ ├── Readme.md
│ ├── upload_to_gh-pages.py
│ ├── demos
│ ├── tutorials
│ ├── experimental
│ └── source
├── requirements.txt
├── fury
│ ├── actor.py
│ ├── …
│── …


In our docs folder structure above:

  • source is the folder that contains all *.rst files.

  • tutorials is the directory where we have all python scripts that describe how to use the api.

  • demos being the FURY app showcases.

  • experimental directory contains experimental Python scripts. The goal is to keep a trace of expermiental work.

Building the documentation

Step 1. Install all required packages for the documentation generation

pip install -U -r requirements/default.txt
pip install -U -r requirements/optional.txt
pip install -U -r requirements/docs.txt

Step 2. Go to the docs folder and run the following command to generate it (Linux and macOS)

make -C . clean && make -C . html

To generate the documentation without running the examples

make -C . clean && make -C . html-no-examples

or under Windows

make clean
make html

To generate the documentation without running the examples under Windows

make clean
make html-no-examples

Step 3. Congratulations! the build folder has been generated! Go to build/html and open with browser index.html to see your generated documentation.