niworkflows.viz.plots module

Plotting tools shared across MRIQC and fMRIPrep.

niworkflows.viz.plots.cifti_surfaces_plot(in_cifti, density='32k', surface_type='inflated', clip_range=(0, None), output_file=None, **kwargs)[source]

Plots a CIFTI-2 dense timeseries onto left/right mesh surfaces.

Parameters:
  • in_cifti (str) – CIFTI-2 dense timeseries (.dtseries.nii)

  • density (str) – Surface density

  • surface_type (str) – Inflation level of mesh surfaces. Supported: midthickness, inflated, veryinflated

  • clip_range (tuple or None) – Range to clip in_cifti data prior to plotting. If not None, two values must be provided as lower and upper bounds. If values are None, no clipping is performed for that bound.

  • output_file (str or None) – Path where the output figure should be saved. If this is not defined, then the figure will be returned.

  • kwargs (dict) – Keyword arguments for nilearn.plotting.plot_surf

Outputs:
  • figure (matplotlib.pyplot.figure) – Surface plot figure. Returned only if output_file is None.

  • output_file (str) – The file where the figure is saved.

niworkflows.viz.plots.compcor_variance_plot(metadata_files, metadata_sources=None, output_file=None, varexp_thresh=(0.5, 0.7, 0.9), fig=None)[source]
Parameters:
  • metadata_files (list) – List of paths to files containing component metadata. If more than one decomposition has been performed (e.g., anatomical and temporal CompCor decompositions), then all metadata files can be provided in the list. However, each metadata file should have a corresponding entry in metadata_sources.

  • metadata_sources (list or None) – List of source names (e.g., [‘aCompCor’]) for decompositions. This list should be of the same length as metadata_files.

  • output_file (str or None) – Path where the output figure should be saved. If this is not defined, then the plotting axes will be returned instead of the saved figure path.

  • varexp_thresh (tuple) – Set of variance thresholds to include in the plot (default 0.5, 0.7, 0.9).

  • fig (figure or None) – Existing figure on which to plot.

Returns:

  • ax (axes) – Plotting axes. Returned only if the output_file parameter is None.

  • output_file (str) – The file where the figure is saved.

niworkflows.viz.plots.confoundplot(tseries, gs_ts, gs_dist=None, name=None, units=None, tr=None, hide_x=True, color='b', nskip=0, cutoff=None, ylims=None)[source]
niworkflows.viz.plots.confounds_correlation_plot(confounds_file, columns=None, figure=None, max_dim=20, output_file=None, reference='global_signal', ignore_initial_volumes=0)[source]

Generate a bar plot with the correlation of confounds.

Parameters:
  • confounds_file (str) – File containing all confound regressors to be included in the correlation plot.

  • figure (figure or None) – Existing figure on which to plot.

  • columns (list or None.) – Select a list of columns from the dataset.

  • max_dim (int) – The maximum number of regressors to be included in the output plot. Reductions (e.g., CompCor) of high-dimensional data can yield so many regressors that the correlation structure becomes obfuscated. This criterion selects the max_dim regressors that have the largest correlation magnitude with reference for inclusion in the plot.

  • output_file (str or None) – Path where the output figure should be saved. If this is not defined, then the plotting axes will be returned instead of the saved figure path.

  • reference (str) – confounds_correlation_plot prepares a bar plot of the correlations of each confound regressor with a reference column. By default, this is the global signal (so that collinearities with the global signal can readily be assessed).

  • ignore_initial_volumes (int) – Number of non-steady-state volumes at the beginning of the scan to ignore.

Returns:

  • axes and gridspec – Plotting axes and gridspec. Returned only if output_file is None.

  • output_file (str) – The file where the figure is saved.

class niworkflows.viz.plots.fMRIPlot(timeseries, segments, confounds=None, conf_file=None, tr=None, usecols=None, units=None, vlines=None, spikes_files=None, nskip=0, sort_carpet=True, paired_carpet=False)[source]

Bases: object

Generates the fMRI Summary Plot.

confounds
nskip
paired_carpet
plot(figure=None)[source]

Main plotter

segments
sort_carpet
spikes
timeseries
tr
niworkflows.viz.plots.plot_carpet(data, segments=None, cmap=None, tr=None, detrend=True, subplot=None, title=None, output_file=None, size=(900, 1200), sort_rows='ward', drop_trs=0, legend=True)[source]

Plot an image representation of voxel intensities across time.

This kind of plot is known as “carpet plot” or “Power plot”. See Jonathan Power Neuroimage 2017 Jul 1; 154:150-158.

Parameters:
  • data (N x T numpy.array) – The functional data to be plotted (N sampling locations by T timepoints).

  • segments (dict, optional) – A mapping between segment labels (e.g., “Left Cortex”) and list of indexes in the data array.

  • cmap (colormap) – Overrides the generation of an automated colormap.

  • tr (float , optional) – Specify the TR, if specified it uses this value. If left as None, # of frames is plotted instead of time.

  • detrend (bool, optional) – Detrend and standardize the data prior to plotting.

  • subplot (matplotlib subplot, optional) – Subplot to plot figure on.

  • title (string, optional) – The title displayed on the figure.

  • output_file (string, or None, optional) – The name of an image file to export the plot to. Valid extensions are .png, .pdf, .svg. If output_file is not None, the plot is saved to a file, and the display is closed.

  • size (tuple) – Maximum number of samples to plot (voxels, timepoints)

  • sort_rows (str or False or None) – Apply a clustering algorithm to reorganize the rows of the carpet. "", False, and None skip clustering sorting. "linkage" uses linkage hierarchical clustering scipy.cluster.hierarchy.linkage. Any other value that Python evaluates to True will use the default clustering, which is sklearn.cluster.ward_tree.

niworkflows.viz.plots.spikesplot(ts_z, outer_gs=None, tr=None, zscored=True, spike_thresh=6.0, title='Spike plot', ax=None, cmap='viridis', hide_x=True, nskip=0)[source]

A spikes plot. Thanks to Bob Dogherty (this docstring needs be improved with proper ack)

niworkflows.viz.plots.spikesplot_cb(position, cmap='viridis', fig=None)[source]