AFQ.viz.fury_backend
#
Module Contents#
Functions#
|
Helper function to reuse across viz functions |
|
Visualize bundles in 3D using VTK. |
|
|
|
Convert a Fury Scene object into a gif |
|
Render a region of interest into a VTK viz as a volume |
|
Visualize a volume |
|
|
|
Visualize a single bundle in 3D with core bundle and associated profile |
Attributes#
- AFQ.viz.fury_backend._inline_interact(scene, inline, interact)[source]#
Helper function to reuse across viz functions
- AFQ.viz.fury_backend.visualize_bundles(sft, n_points=None, bundle_dict=None, bundle=None, colors=None, color_by_direction=False, opacity=1.0, line_width=2.0, flip_axes=[False, False, False], figure=None, background=(1, 1, 1), interact=False, inline=False, **kwargs)[source]#
Visualize bundles in 3D using VTK. Parameters not described below are extras to conform fury and plotly APIs.
- Parameters
- sftStateful Tractogram, str
A Stateful Tractogram containing streamline information or a path to a trk file In order to visualize individual bundles, the Stateful Tractogram must contain a bundle key in it’s data_per_streamline which is a list of bundle ‘uid’.
- n_pointsint or None
n_points to resample streamlines to before plotting. If None, no resampling is done.
- bundle_dictdict, optional
Keys are names of bundles and values are dicts that specify them. Default: bundles are either not identified, or identified only as unique integers in the metadata.
- bundlestr or int, optional
The name of a bundle to select from among the keys in bundle_dict or an integer for selection from the sft metadata.
- colorsdict or list
If this is a dict, keys are bundle names and values are RGB tuples. If this is a list, each item is an RGB tuple. Defaults to a list with Tableau 20 RGB values if bundle_dict is None, or dict from bundles to Tableau 20 RGB values if bundle_dict is not None.
- color_by_directionbool
Whether to color by direction instead of by bundle. Default: False
- opacityfloat
Float between 0 and 1 defining the opacity of the bundle. Default: 1.0
- backgroundtuple, optional
RGB values for the background. Default: (1, 1, 1), which is white background.
- figurefury Scene object, optional
If provided, the visualization will be added to this Scene. Default: Initialize a new Scene.
- interactbool
Whether to provide an interactive VTK window for interaction. Default: False
- inlinebool
Whether to embed the visualization inline in a notebook. Only works in the notebook context. Default: False.
- Returns
- Fury Scene object
- AFQ.viz.fury_backend.create_gif(figure, file_name, n_frames=60, zoom=1, z_offset=0.5, size=(600, 600), rotate_forward=True)[source]#
Convert a Fury Scene object into a gif
- Parameters
- figure: Fury Scene object
Scene to be converted to a gif
- file_name: str
File to save gif to.
- n_frames: int, optional
Number of frames in gif. Will be evenly distributed throughout the rotation. Default: 60
- zoom: int, optional
How much to magnify the figure in the fig. Default: 1
- size: tuple, optional
Size of the gif. Default: (600, 600)
- rotate_forward: bool, optional
Whether to rotate the figure forward before converting to a gif. Generally necessary for fury scenes. Default: True
- AFQ.viz.fury_backend.visualize_roi(roi, affine_or_mapping=None, static_img=None, roi_affine=None, static_affine=None, reg_template=None, name='ROI', figure=None, color=np.array([1, 0, 0]), flip_axes=None, opacity=1.0, inline=False, interact=False)[source]#
Render a region of interest into a VTK viz as a volume
- Parameters
- roistr or Nifti1Image
The ROI information
- affine_or_mappingndarray, Nifti1Image, or str, optional
An affine transformation or mapping to apply to the ROIs before visualization. Default: no transform.
- static_img: str or Nifti1Image, optional
Template to resample roi to. Default: None
- roi_affine: ndarray, optional
Default: None
- static_affine: ndarray, optional
Default: None
- reg_template: str or Nifti1Image, optional
Template to use for registration. Default: None
- name: str, optional
Name of ROI for the legend. Default: ‘ROI’
- colorndarray, optional
RGB color for ROI. Default: np.array([1, 0, 0])
- flip_axesNone
This parameter is to conform fury and plotly APIs.
- opacityfloat, optional
Opacity of ROI. Default: 1.0
- figurefury Scene object, optional
If provided, the visualization will be added to this Scene. Default: Initialize a new Scene.
- interactbool
Whether to provide an interactive VTK window for interaction. Default: False
- inlinebool
Whether to embed the visualization inline in a notebook. Only works in the notebook context. Default: False.
- Returns
- Fury Scene object
- AFQ.viz.fury_backend.visualize_volume(volume, x=None, y=None, z=None, figure=None, flip_axes=None, opacity=0.6, inline=True, interact=False)[source]#
Visualize a volume
- Parameters
- volumendarray or str
3d volume to visualize.
- figurefury Scene object, optional
If provided, the visualization will be added to this Scene. Default: Initialize a new Scene.
- flip_axesNone
This parameter is to conform fury and plotly APIs.
- opacityfloat, optional
Initial opacity of slices. Default: 0.6
- interactbool
Whether to provide an interactive VTK window for interaction. Default: False
- inlinebool
Whether to embed the visualization inline in a notebook. Only works in the notebook context. Default: False.
- Returns
- Fury Scene object
- AFQ.viz.fury_backend._draw_core(sls, n_points, figure, bundle_name, indiv_profile, labelled_points, dimensions, flip_axes)[source]#
- AFQ.viz.fury_backend.single_bundle_viz(indiv_profile, sft, bundle, scalar_name, bundle_dict=None, flip_axes=[False, False, False], labelled_nodes=[0, -1], figure=None, include_profile=False)[source]#
Visualize a single bundle in 3D with core bundle and associated profile
- Parameters
- indiv_profilendarray
A numpy array containing a tract profile for this bundle for a scalar.
- sftStateful Tractogram, str
A Stateful Tractogram containing streamline information. If bundle is an int, the Stateful Tractogram must contain a bundle key in it’s data_per_streamline which is a list of bundle `’uid’. Otherwise, the entire Stateful Tractogram will be used as the bundle for the visualization.
- bundlestr or int
The name of the bundle to be used as the label for the plot, and for selection from the sft metadata.
- scalar_namestr
The name of the scalar being used.
- bundle_dictdict, optional
This parameter is used if bundle is an int. Keys are names of bundles and values are dicts that specify them. Default: Either the entire sft is treated as a bundle, or identified only as unique integers in the metadata.
- flip_axesndarray
Which axes to flip, to orient the image as RAS, which is how we visualize. For example, if the input image is LAS, use [True, False, False]. Default: [False, False, False]
- labelled_nodeslist or ndarray
Which nodes to label. -1 indicates the last node. Default: [0, -1]
- figurePlotly Figure object, optional
If provided, the visualization will be added to this Figure. Default: Initialize a new Figure.
- include_profilebool, optional
Not yet implemented in fury. Default: False
- Returns
- Fury Figure object