mne.VolVectorSourceEstimate

class mne.VolVectorSourceEstimate(data, vertices=None, tmin=None, tstep=None, subject=None, verbose=None)[source]

Container for volume source estimates.

Parameters
dataarray of shape (n_dipoles, 3, n_times)

The data in source space. Each dipole contains three vectors that denote the dipole strength in X, Y and Z directions over time.

verticesarray of shape (n_dipoles,)

The indices of the dipoles in the source space.

tminscalar

Time point of the first sample in data.

tstepscalar

Time step between successive samples in data.

subjectstr | None

The subject name. While not necessary, it is safer to set the subject parameter to avoid analysis errors.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

See also

SourceEstimate

A container for surface source estimates.

VectorSourceEstimate

A container for vector source estimates.

MixedSourceEstimate

A container for mixed surface + volume source estimates.

Notes

New in version 0.9.0.

Attributes
subjectstr | None

The subject name.

timesarray of shape (n_times,)

A timestamp for each sample.

verticesarray of shape (n_dipoles,)

The indices of the dipoles in the source space.

dataarray of shape (n_dipoles, n_times)

Numpy array of source estimate data.

shapetuple

Shape of the data.

Methods

__add__(a)

Add source estimates.

__div__(a)

Divide source estimates.

__hash__(/)

Return hash(self).

__mul__(a)

Multiply source estimates.

__neg__()

Negate the source estimate.

__sub__(a)

Subtract source estimates.

apply_baseline([baseline, verbose])

Baseline correct source estimate data.

as_volume(src[, dest, mri_resolution, format])

Export volume source estimate as a nifti object.

bin(width[, tstart, tstop, func])

Return a source estimate object with data summarized over time bins.

copy()

Return copy of source estimate instance.

crop([tmin, tmax, include_tmax])

Restrict SourceEstimate to a time interval.

extract_label_time_course(labels, src[, ...])

Extract label time courses for lists of labels.

get_peak([tmin, tmax, mode, vert_as_index, ...])

Get location and latency of peak amplitude.

in_label(label, mri, src, *[, verbose])

Get a source estimate object restricted to a label.

magnitude()

Compute magnitude of activity without directionality.

mean()

Make a summary stc file with mean over time points.

plot(src[, subject, subjects_dir, mode, ...])

Plot Nutmeg style volumetric source estimates using nilearn.

plot_3d([subject, hemi, colormap, ...])

Plot VectorSourceEstimate with PySurfer.

project(directions[, src, use_cps])

Project the data for each vertex in a given direction.

resample(sfreq[, npad, window, n_jobs, verbose])

Resample data.

save(fname[, ftype, verbose])

Save the full source estimate to an HDF5 file.

save_as_volume(fname, src[, dest, ...])

Save a volume source estimate in a NIfTI file.

sqrt()

Take the square root.

sum()

Make a summary stc file with sum over time points.

time_as_index(times[, use_rounding])

Convert time to indices.

to_data_frame([index, scalings, ...])

Export data in tabular structure as a pandas DataFrame.

transform(func[, idx, tmin, tmax, copy])

Apply linear transform.

transform_data(func[, idx, tmin_idx, tmax_idx])

Get data after a linear (time) transform has been applied.

__add__(a)[source]

Add source estimates.

__div__(a)[source]

Divide source estimates.

__mul__(a)[source]

Multiply source estimates.

__neg__()[source]

Negate the source estimate.

__sub__(a)[source]

Subtract source estimates.

apply_baseline(baseline=(None, 0), *, verbose=None)[source]

Baseline correct source estimate data.

Parameters
baselineNone | tuple of length 2

The time interval to consider as “baseline” when applying baseline correction. If None, do not apply baseline correction. If a tuple (a, b), the interval is between a and b (in seconds), including the endpoints. If a is None, the beginning of the data is used; and if b is None, it is set to the end of the interval. If (None, None), the entire time interval is used.

Note

The baseline (a, b) includes both endpoints, i.e. all timepoints t such that a <= t <= b.

Correction is applied to each source individually in the following way:

  1. Calculate the mean signal of the baseline period.

  2. Subtract this mean from the entire source estimate data.

Note

Baseline correction is appropriate when signal and noise are approximately additive, and the noise level can be estimated from the baseline interval. This can be the case for non-normalized source activities (e.g. signed and unsigned MNE), but it is not the case for normalized estimates (e.g. signal-to-noise ratios, dSPM, sLORETA).

Defaults to (None, 0), i.e. beginning of the the data until time point zero.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument. Defaults to self.verbose.

Returns
stcinstance of SourceEstimate

The baseline-corrected source estimate object.

Notes

Baseline correction can be done multiple times.

as_volume(src, dest='mri', mri_resolution=False, format='nifti1')[source]

Export volume source estimate as a nifti object.

Parameters
srcinstance of SourceSpaces

The source spaces (should all be of type volume, or part of a mixed source space).

dest‘mri’ | ‘surf’

If ‘mri’ the volume is defined in the coordinate system of the original T1 image. If ‘surf’ the coordinate system of the FreeSurfer surface is used (Surface RAS).

mri_resolutionbool

It True the image is saved in MRI resolution.

Warning

If you have many time points, the file produced can be huge.

formatstr

Either ‘nifti1’ (default) or ‘nifti2’.

Returns
imginstance of Nifti1Image

The image object.

Notes

New in version 0.9.0.

bin(width, tstart=None, tstop=None, func=<function mean>)[source]

Return a source estimate object with data summarized over time bins.

Time bins of width seconds. This method is intended for visualization only. No filter is applied to the data before binning, making the method inappropriate as a tool for downsampling data.

Parameters
widthscalar

Width of the individual bins in seconds.

tstartscalar | None

Time point where the first bin starts. The default is the first time point of the stc.

tstopscalar | None

Last possible time point contained in a bin (if the last bin would be shorter than width it is dropped). The default is the last time point of the stc.

funccallable()

Function that is applied to summarize the data. Needs to accept a numpy.array as first input and an axis keyword argument.

Returns
stcSourceEstimate | VectorSourceEstimate

The binned source estimate.

copy()[source]

Return copy of source estimate instance.

Returns
stcinstance of SourceEstimate

A copy of the source estimate.

crop(tmin=None, tmax=None, include_tmax=True)[source]

Restrict SourceEstimate to a time interval.

Parameters
tminfloat | None

The first time point in seconds. If None the first present is used.

tmaxfloat | None

The last time point in seconds. If None the last present is used.

include_tmaxbool

If True (default), include tmax. If False, exclude tmax (similar to how Python indexing typically works).

New in version 0.19.

Returns
stcinstance of SourceEstimate

The cropped source estimate.

property data

Numpy array of source estimate data.

extract_label_time_course(labels, src, mode='auto', allow_empty=False, *, mri_resolution=True, verbose=None)[source]

Extract label time courses for lists of labels.

This function will extract one time course for each label. The way the time courses are extracted depends on the mode parameter.

Parameters
labelsLabel | BiHemiLabel | list | tuple | str

If using a surface or mixed source space, this should be the Label’s for which to extract the time course. If working with whole-brain volume source estimates, this must be one of:

  • a string path to a FreeSurfer atlas for the subject (e.g., their ‘aparc.a2009s+aseg.mgz’) to extract time courses for all volumes in the atlas

  • a two-element list or tuple, the first element being a path to an atlas, and the second being a list or dict of volume_labels to extract (see mne.setup_volume_source_space() for details).

Changed in version 0.21.0: Support for volume source estimates.

srcinstance of SourceSpaces

The source spaces for the source time courses.

modestr

Extraction mode, see Notes.

allow_emptybool | str

False (default) will emit an error if there are labels that have no vertices in the source estimate. True and 'ignore' will return all-zero time courses for labels that do not have any vertices in the source estimate, and True will emit a warning while and “ignore” will just log a message.

Changed in version 0.21.0: Support for “ignore”.

mri_resolutionbool

If True (default), the volume source space will be upsampled to the original MRI resolution via trilinear interpolation before the atlas values are extracted. This ensnures that each atlas label will contain source activations. When False, only the original source space points are used, and some atlas labels thus may not contain any source space vertices.

New in version 0.21.0.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument. Defaults to self.verbose.

Returns
label_tcarray | list (or generator) of array, shape (n_labels[, n_orient], n_times)

Extracted time course for each label and source estimate.

See also

extract_label_time_course

Extract time courses for multiple STCs.

Notes

Valid values for mode are:

  • 'max'

    Maximum value across vertices at each time point within each label.

  • 'mean'

    Average across vertices at each time point within each label. Ignores orientation of sources for standard source estimates, which varies across the cortical surface, which can lead to cancellation. Vector source estimates are always in XYZ / RAS orientation, and are thus already geometrically aligned.

  • 'mean_flip'

    Finds the dominant direction of source space normal vector orientations within each label, applies a sign-flip to time series at vertices whose orientation is more than 180° different from the dominant direction, and then averages across vertices at each time point within each label.

  • 'pca_flip'

    Applies singular value decomposition to the time courses within each label, and uses the first right-singular vector as the representative label time course. This signal is scaled so that its power matches the average (per-vertex) power within the label, and sign-flipped by multiplying by np.sign(u @ flip), where u is the first left-singular vector and flip is the same sign-flip vector used when mode='mean_flip'. This sign-flip ensures that extracting time courses from the same label in similar STCs does not result in 180° direction/phase changes.

  • 'auto' (default)

    Uses 'mean_flip' when a standard source estimate is applied, and 'mean' when a vector source estimate is supplied.

    New in version 0.21: Support for 'auto', vector, and volume source estimates.

The only modes that work for vector and volume source estimates are 'mean', 'max', and 'auto'.

get_peak(tmin=None, tmax=None, mode='abs', vert_as_index=False, time_as_index=False)[source]

Get location and latency of peak amplitude.

Parameters
tminfloat | None

The minimum point in time to be considered for peak getting.

tmaxfloat | None

The maximum point in time to be considered for peak getting.

mode{‘pos’, ‘neg’, ‘abs’}

How to deal with the sign of the data. If ‘pos’ only positive values will be considered. If ‘neg’ only negative values will be considered. If ‘abs’ absolute values will be considered. Defaults to ‘abs’.

vert_as_indexbool

Whether to return the vertex index (True) instead of of its ID (False, default).

time_as_indexbool

Whether to return the time index (True) instead of the latency (False, default).

Returns
posint

The vertex exhibiting the maximum response, either ID or index.

latencyfloat

The latency in seconds.

in_label(label, mri, src, *, verbose=None)[source]

Get a source estimate object restricted to a label.

SourceEstimate contains the time course of activation of all sources inside the label.

Parameters
labelstr | int

The label to use. Can be the name of a label if using a standard FreeSurfer atlas, or an integer value to extract from the mri.

mristr

Path to the atlas to use.

srcinstance of SourceSpaces

The volumetric source space. It must be a single, whole-brain volume.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument. Defaults to self.verbose.

Returns
stcVolSourceEstimate | VolVectorSourceEstimate

The source estimate restricted to the given label.

Notes

New in version 0.21.0.

magnitude()[source]

Compute magnitude of activity without directionality.

Returns
stcinstance of SourceEstimate

The source estimate without directionality information.

mean()[source]

Make a summary stc file with mean over time points.

Returns
stcSourceEstimate | VectorSourceEstimate

The modified stc.

plot(src, subject=None, subjects_dir=None, mode='stat_map', bg_img='T1.mgz', colorbar=True, colormap='auto', clim='auto', transparent='auto', show=True, initial_time=None, initial_pos=None, verbose=None)[source]

Plot Nutmeg style volumetric source estimates using nilearn.

Parameters
srcinstance of SourceSpaces | instance of SourceMorph

The source space. Can also be a SourceMorph to morph the STC to a new subject (see Examples).

Changed in version 0.18: Support for SpatialImage.

subjectstr | None

The FreeSurfer subject name. If None, stc.subject will be used.

subjects_dirstr | pathlib.Path | None

The path to the directory containing the FreeSurfer subjects reconstructions. If None, defaults to the SUBJECTS_DIR environment variable.

modestr

The plotting mode to use. Either ‘stat_map’ (default) or ‘glass_brain’. For “glass_brain”, activation absolute values are displayed after being transformed to a standard MNI brain.

bg_imginstance of SpatialImage | str

The background image used in the nilearn plotting function. Can also be a string to use the bg_img file in the subject’s MRI directory (default is 'T1.mgz'). Not used in “glass brain” plotting.

colorbarbool, optional

If True, display a colorbar on the right of the plots.

colormapstr | np.ndarray of float, shape(n_colors, 3 | 4)

Name of colormap to use or a custom look up table. If array, must be (n x 3) or (n x 4) array for with RGB or RGBA values between 0 and 255.

climstr | dict

Colorbar properties specification. If ‘auto’, set clim automatically based on data percentiles. If dict, should contain:

kind‘value’ | ‘percent’

Flag to specify type of limits.

limslist | np.ndarray | tuple of float, 3 elements

Lower, middle, and upper bounds for colormap.

pos_limslist | np.ndarray | tuple of float, 3 elements

Lower, middle, and upper bound for colormap. Positive values will be mirrored directly across zero during colormap construction to obtain negative control points.

Note

Only one of lims or pos_lims should be provided. Only sequential colormaps should be used with lims, and only divergent colormaps should be used with pos_lims.

transparentbool | None

If True: use a linear transparency between fmin and fmid and make values below fmin fully transparent (symmetrically for divergent colormaps). None will choose automatically based on colormap type.

showbool

Show figures if True. Defaults to True.

initial_timefloat | None

The initial time to plot. Can be None (default) to use the time point with the maximal absolute value activation across all voxels or the initial_pos voxel (if initial_pos is None or not, respectively).

New in version 0.19.

initial_posndarray, shape (3,) | None

The initial position to use (in m). Can be None (default) to use the voxel with the maximum absolute value activation across all time points or at initial_time (if initial_time is None or not, respectively).

New in version 0.19.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns
figinstance of Figure

The figure.

Notes

Click on any of the anatomical slices to explore the time series. Clicking on any time point will bring up the corresponding anatomical map.

The left and right arrow keys can be used to navigate in time. To move in time by larger steps, use shift+left and shift+right.

In 'glass_brain' mode, values are transformed to the standard MNI brain using the FreeSurfer Talairach transformation $SUBJECTS_DIR/$SUBJECT/mri/transforms/talairach.xfm.

New in version 0.17.

Changed in version 0.19: MRI volumes are automatically transformed to MNI space in 'glass_brain' mode.

Examples

Passing a mne.SourceMorph as the src parameter can be useful for plotting in a different subject’s space (here, a 'sample' STC in 'fsaverage'’s space):

>>> morph = mne.compute_source_morph(src_sample, subject_to='fsaverage')  
>>> fig = stc_vol_sample.plot(morph)  
plot_3d(subject=None, hemi='both', colormap='hot', time_label='auto', smoothing_steps=10, transparent=True, brain_alpha=0.4, overlay_alpha=None, vector_alpha=1.0, scale_factor=None, time_viewer='auto', subjects_dir=None, figure=None, views='axial', colorbar=True, clim='auto', cortex='classic', size=800, background='black', foreground=None, initial_time=None, time_unit='s', show_traces='auto', src=None, volume_options=1.0, view_layout='vertical', add_data_kwargs=None, brain_kwargs=None, verbose=None)[source]

Plot VectorSourceEstimate with PySurfer.

A “glass brain” is drawn and all dipoles defined in the source estimate are shown using arrows, depicting the direction and magnitude of the current moment at the dipole. Additionally, an overlay is plotted on top of the cortex with the magnitude of the current.

Parameters
subjectstr | None

The FreeSurfer subject name. If None, stc.subject will be used.

hemistr, ‘lh’ | ‘rh’ | ‘split’ | ‘both’

The hemisphere to display.

colormapstr | np.ndarray of float, shape(n_colors, 3 | 4)

Name of colormap to use or a custom look up table. If array, must be (n x 3) or (n x 4) array for with RGB or RGBA values between 0 and 255. This should be a sequential colormap.

time_labelstr | callable() | None

Format of the time label (a format string, a function that maps floating point time values to strings, or None for no label). The default is 'auto', which will use time=%0.2f ms if there is more than one time point.

smoothing_stepsint

The amount of smoothing.

transparentbool | None

If True: use a linear transparency between fmin and fmid and make values below fmin fully transparent (symmetrically for divergent colormaps). None will choose automatically based on colormap type.

brain_alphafloat

Alpha value to apply globally to the surface meshes. Defaults to 0.4.

overlay_alphafloat

Alpha value to apply globally to the overlay. Defaults to brain_alpha.

vector_alphafloat

Alpha value to apply globally to the vector glyphs. Defaults to 1.

scale_factorfloat | None

Scaling factor for the vector glyphs. By default, an attempt is made to automatically determine a sane value.

time_viewerbool | str

Display time viewer GUI. Can be “auto”, which is True for the PyVista backend and False otherwise.

Changed in version 0.20: Added “auto” option and default.

subjects_dirstr

The path to the freesurfer subjects reconstructions. It corresponds to Freesurfer environment variable SUBJECTS_DIR.

figureinstance of mayavi.core.api.Scene | list | int | None

If None, a new figure will be created. If multiple views or a split view is requested, this must be a list of the appropriate length. If int is provided it will be used to identify the Mayavi figure by it’s id or create a new figure with the given id.

viewsstr | list

View to use. Can be any of:

['lateral', 'medial', 'rostral', 'caudal', 'dorsal', 'ventral',
 'frontal', 'parietal', 'axial', 'sagittal', 'coronal']

Three letter abbreviations (e.g., 'lat') are also supported. Using multiple views (list) is not supported for mpl backend.

colorbarbool

If True, display colorbar on scene.

climstr | dict

Colorbar properties specification. If ‘auto’, set clim automatically based on data percentiles. If dict, should contain:

kind‘value’ | ‘percent’

Flag to specify type of limits.

limslist | np.ndarray | tuple of float, 3 elements

Lower, middle, and upper bound for colormap.

Unlike stc.plot, it cannot use pos_lims, as the surface plot must show the magnitude.

cortexstr or tuple

Specifies how binarized curvature values are rendered. either the name of a preset PySurfer cortex colorscheme (one of ‘classic’, ‘bone’, ‘low_contrast’, or ‘high_contrast’), or the name of mayavi colormap, or a tuple with values (colormap, min, max, reverse) to fully specify the curvature colors.

sizefloat or tuple of float

The size of the window, in pixels. can be one number to specify a square window, or the (width, height) of a rectangular window.

backgroundmatplotlib color

Color of the background of the display window.

foregroundmatplotlib color | None

Color of the foreground of the display window. None will choose black or white based on the background color.

initial_timefloat | None

The time to display on the plot initially. None to display the first time sample (default).

time_unit‘s’ | ‘ms’

Whether time is represented in seconds (“s”, default) or milliseconds (“ms”).

show_tracesbool | str | float

If True, enable interactive picking of a point on the surface of the brain and plot its time course. This feature is only available with the PyVista 3d backend, and requires time_viewer=True. Defaults to ‘auto’, which will use True if and only if time_viewer=True, the backend is PyVista, and there is more than one time point. If float (between zero and one), it specifies what proportion of the total window should be devoted to traces (True is equivalent to 0.25, i.e., it will occupy the bottom 1/4 of the figure).

New in version 0.20.0.

srcinstance of SourceSpaces | None

The source space corresponding to the source estimate. Only necessary if the STC is a volume or mixed source estimate.

volume_optionsfloat | dict | None

Options for volumetric source estimate plotting, with key/value pairs:

  • 'resolution'float | None

    Resolution (in mm) of volume rendering. Smaller (e.g., 1.) looks better at the cost of speed. None (default) uses the volume source space resolution, which is often something like 7 or 5 mm, without resampling.

  • 'blending'str

    Can be “mip” (default) for maximum intensity projection or “composite” for composite blending using alpha values.

  • 'alpha'float | None

    Alpha for the volumetric rendering. Defaults are 0.4 for vector source estimates and 1.0 for scalar source estimates.

  • 'surface_alpha'float | None

    Alpha for the surface enclosing the volume(s). None (default) will use half the volume alpha. Set to zero to avoid plotting the surface.

  • 'silhouette_alpha'float | None

    Alpha for a silhouette along the outside of the volume. None (default) will use 0.25 * surface_alpha.

  • 'silhouette_linewidth'float

    The line width to use for the silhouette. Default is 2.

A float input (default 1.) or None will be used for the 'resolution' entry.

view_layoutstr

Can be “vertical” (default) or “horizontal”. When using “horizontal” mode, the PyVista backend must be used and hemi cannot be “split”.

add_data_kwargsdict | None

Additional arguments to brain.add_data (e.g., dict(time_label_size=10)).

brain_kwargsdict | None

Additional arguments to the mne.viz.Brain constructor (e.g., dict(silhouette=True)).

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns
brainmne.viz.Brain

A instance of mne.viz.Brain.

Notes

New in version 0.15.

If the current magnitude overlay is not desired, set overlay_alpha=0 and smoothing_steps=1.

Examples using plot_3d:

project(directions, src=None, use_cps=True)[source]

Project the data for each vertex in a given direction.

Parameters
directionsndarray, shape (n_vertices, 3) | str

Can be:

  • 'normal'

    Project onto the source space normals.

  • 'pca'

    SVD will be used to project onto the direction of maximal power for each source.

  • ndarray, shape (n_vertices, 3)

    Projection directions for each source.

srcinstance of SourceSpaces | None

The source spaces corresponding to the source estimate. Not used when directions is an array, optional when directions='pca'.

use_cpsbool

Whether to use cortical patch statistics to define normal orientations for surfaces (default True). Should be the same value that was used when the forward model was computed (typically True).

Returns
stcinstance of SourceEstimate

The projected source estimate.

directionsndarray, shape (n_vertices, 3)

The directions that were computed (or just used).

Notes

When using SVD, there is a sign ambiguity for the direction of maximal power. When src is None, the direction is chosen that makes the resulting time waveform sum positive (i.e., have positive amplitudes). When src is provided, the directions are flipped in the direction of the source normals, i.e., outward from cortex for surface source spaces and in the +Z / superior direction for volume source spaces.

New in version 0.21.

resample(sfreq, npad='auto', window='boxcar', n_jobs=1, verbose=None)[source]

Resample data.

If appropriate, an anti-aliasing filter is applied before resampling. See Resampling and decimating data for more information.

Parameters
sfreqfloat

New sample rate to use.

npadint | str

Amount to pad the start and end of the data. Can also be “auto” to use a padding that will result in a power-of-two size (can be much faster).

windowstr | tuple

Window to use in resampling. See scipy.signal.resample().

n_jobsint

The number of jobs to run in parallel (default 1). If -1, it is set to the number of CPU cores. Requires the joblib package.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument. Defaults to self.verbose.

Returns
stcinstance of SourceEstimate

The resampled source estimate.

Notes

For some data, it may be more accurate to use npad=0 to reduce artifacts. This is dataset dependent – check your data!

Note that the sample rate of the original data is inferred from tstep.

save(fname, ftype='h5', verbose=None)[source]

Save the full source estimate to an HDF5 file.

Parameters
fnamestr

The file name to write the source estimate to, should end in ‘-stc.h5’.

ftypestr

File format to use. Currently, the only allowed values is “h5”.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument. Defaults to self.verbose.

save_as_volume(fname, src, dest='mri', mri_resolution=False, format='nifti1')[source]

Save a volume source estimate in a NIfTI file.

Parameters
fnamestr

The name of the generated nifti file.

srclist

The list of source spaces (should all be of type volume).

dest‘mri’ | ‘surf’

If ‘mri’ the volume is defined in the coordinate system of the original T1 image. If ‘surf’ the coordinate system of the FreeSurfer surface is used (Surface RAS).

mri_resolutionbool

It True the image is saved in MRI resolution.

Warning

If you have many time points, the file produced can be huge.

formatstr

Either ‘nifti1’ (default) or ‘nifti2’.

New in version 0.17.

Returns
imginstance Nifti1Image

The image object.

Notes

New in version 0.9.0.

property sfreq

Sample rate of the data.

property shape

Shape of the data.

sqrt()[source]

Take the square root.

Returns
stcinstance of SourceEstimate

A copy of the SourceEstimate with sqrt(data).

sum()[source]

Make a summary stc file with sum over time points.

Returns
stcSourceEstimate | VectorSourceEstimate

The modified stc.

time_as_index(times, use_rounding=False)[source]

Convert time to indices.

Parameters
timeslist-like | float | int

List of numbers or a number representing points in time.

use_roundingbool

If True, use rounding (instead of truncation) when converting times to indices. This can help avoid non-unique indices.

Returns
indexndarray

Indices corresponding to the times supplied.

property times

A timestamp for each sample.

property tmin

The first timestamp.

to_data_frame(index=None, scalings=None, long_format=False, time_format='ms')[source]

Export data in tabular structure as a pandas DataFrame.

Vertices are converted to columns in the DataFrame. By default, an additional column “time” is added, unless index='time' (in which case time values form the DataFrame’s index).

Parameters
index‘time’ | None

Kind of index to use for the DataFrame. If None, a sequential integer index (pandas.RangeIndex) will be used. If 'time', a pandas.Float64Index, pandas.Int64Index, or pandas.TimedeltaIndex will be used (depending on the value of time_format). Defaults to None.

scalingsdict | None

Scaling factor applied to the channels picked. If None, defaults to dict(eeg=1e6, mag=1e15, grad=1e13) — i.e., converts EEG to µV, magnetometers to fT, and gradiometers to fT/cm.

long_formatbool

If True, the DataFrame is returned in long format where each row is one observation of the signal at a unique combination of time point and vertex. Defaults to False.

time_formatstr | None

Desired time format. If None, no conversion is applied, and time values remain as float values in seconds. If 'ms', time values will be rounded to the nearest millisecond and converted to integers. If 'timedelta', time values will be converted to pandas.Timedelta values. Default is 'ms' in version 0.22, and will change to None in version 0.23.

New in version 0.20.

Returns
dfinstance of pandas.DataFrame

A dataframe suitable for usage with other statistical/plotting/analysis packages.

transform(func, idx=None, tmin=None, tmax=None, copy=False)[source]

Apply linear transform.

The transform is applied to each source time course independently.

Parameters
funccallable()

The transform to be applied, including parameters (see, e.g., functools.partial()). The first parameter of the function is the input data. The first two dimensions of the transformed data should be (i) vertices and (ii) time. See Notes for details.

idxarray | None

Indices of source time courses for which to compute transform. If None, all time courses are used.

tminfloat | int | None

First time point to include (ms). If None, self.tmin is used.

tmaxfloat | int | None

Last time point to include (ms). If None, self.tmax is used.

copybool

If True, return a new instance of SourceEstimate instead of modifying the input inplace.

Returns
stcsSourceEstimate | VectorSourceEstimate | list

The transformed stc or, in the case of transforms which yield N-dimensional output (where N > 2), a list of stcs. For a list, copy must be True.

Notes

Transforms which yield 3D output (e.g. time-frequency transforms) are valid, so long as the first two dimensions are vertices and time. In this case, the copy parameter must be True and a list of SourceEstimates, rather than a single instance of SourceEstimate, will be returned, one for each index of the 3rd dimension of the transformed data. In the case of transforms yielding 2D output (e.g. filtering), the user has the option of modifying the input inplace (copy = False) or returning a new instance of SourceEstimate (copy = True) with the transformed data.

Applying transforms can be significantly faster if the SourceEstimate object was created using “(kernel, sens_data)”, for the “data” parameter as the transform is applied in sensor space. Inverse methods, e.g., “apply_inverse_epochs”, or “apply_lcmv_epochs” do this automatically (if possible).

transform_data(func, idx=None, tmin_idx=None, tmax_idx=None)[source]

Get data after a linear (time) transform has been applied.

The transform is applied to each source time course independently.

Parameters
funccallable()

The transform to be applied, including parameters (see, e.g., functools.partial()). The first parameter of the function is the input data. The first return value is the transformed data, remaining outputs are ignored. The first dimension of the transformed data has to be the same as the first dimension of the input data.

idxarray | None

Indicices of source time courses for which to compute transform. If None, all time courses are used.

tmin_idxint | None

Index of first time point to include. If None, the index of the first time point is used.

tmax_idxint | None

Index of the first time point not to include. If None, time points up to (and including) the last time point are included.

Returns
data_tndarray

The transformed data.

Notes

Applying transforms can be significantly faster if the SourceEstimate object was created using “(kernel, sens_data)”, for the “data” parameter as the transform is applied in sensor space. Inverse methods, e.g., “apply_inverse_epochs”, or “apply_lcmv_epochs” do this automatically (if possible).

property tstep

The change in time between two consecutive samples (1 / sfreq).