Visualization Backends ~~~~~~~~~~~~~~~~~~~~~~ pyAFQ can generate figures to visualize the results of tractometry. How these figures are generated depends on the choice of visualization backend. Currently, there are three choices: #. plotly: use `Plotly `_ to generate interactive figures that are exported as html files and rotating GIFs. The rotating GIFs can take a long time to generate (~2 min/gif) using this backend. No additional installations are required to use this backend. #. plotly_no_gif: use `Plotly `_ to generate interavtive figures that are exported as html files, but do not generate GIFs. No additional installations are required to use this backend. #. fury: use `Fury `_ to generate rotating GIFs. Unlike our current setup in Plotly, Fury can generate GIFs quickly. To use this backend, install pyAFQ with the optional fury requirements: pip install pyAFQ[fury] And install `libGL `_. If running fury on a headless environment, additionally install and use `Xvfb `_. Xvfb is used automatically in the api.GroupAFQ object if the virtual_frame_buffer argument is set to True. By default, plotly_no_gif is used. Fury requires additional installations and does not make interactive figures, and Plotly takes a significant amount of time to generate rotating GIFs. Fury Dockerfile for Cloudknot ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If using the fury visualization backend while running pyAFQ on cloudknot, you must provide a base image with the fury requiements installed. Below is an example dockerfile that can be used to build that base image:: # Use official python base image FROM python:3.9 # Install libgl RUN apt-get update RUN apt-get install -y libgl1-mesa-glx RUN apt-get install -y xvfb