mne.VolVectorSourceEstimate¶

class
mne.
VolVectorSourceEstimate
(data, vertices=None, tmin=None, tstep=None, subject=None, verbose=None)[source]¶ Container for volume source estimates.
 Parameters
 data
array
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.
 vertices
array
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.
 subject
str
None
The subject name. While not necessary, it is safer to set the subject parameter to avoid analysis errors.
 verbosebool,
str
,int
, orNone
If not None, override default verbose level (see
mne.verbose()
and Logging documentation for more).
 data
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
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.
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.
get_peak
([tmin, tmax, mode, vert_as_index, …])Get location and latency of peak amplitude.
Compute magnitude of activity without directionality.
mean
()Make a summary stc file with mean over time points.
normal
(src[, use_cps])Compute activity orthogonal to the cortex.
plot
(src[, subject, subjects_dir, mode, …])Plot Nutmeg style volumetric source estimates using nilearn.
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, scaling_time, …])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.

__hash__
(/)¶ Return hash(self).

as_volume
(src, dest='mri', mri_resolution=False, format='nifti1')[source]¶ Export volume source estimate as a nifti object.
 Parameters
 src
list
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.
 format
str
Either ‘nifti1’ (default) or ‘nifti2’.
 src
 Returns
 imginstance of
Nifti1Image
The image object.
 imginstance of
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.
 func
callable()
Function that is applied to summarize the data. Needs to accept a numpy.array as first input and an
axis
keyword argument.
 Returns
 stc
SourceEstimate
VectorSourceEstimate
The binned source estimate.
 stc

copy
()[source]¶ Return copy of source estimate instance.
 Returns
 stcinstance of
SourceEstimate
A copy of the source estimate.
 stcinstance of

crop
(tmin=None, tmax=None, include_tmax=True)[source]¶ Restrict SourceEstimate to a time interval.
 Parameters
 tmin
float
None
The first time point in seconds. If None the first present is used.
 tmax
float
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.
 tmin
 Returns
 stcinstance of
SourceEstimate
The cropped source estimate.
 stcinstance of

property
data
¶ Numpy array of source estimate data.

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
 tmin
float
None
The minimum point in time to be considered for peak getting.
 tmax
float
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 instead of of its ID. Defaults to False.
 time_as_indexbool
Whether to return the time index instead of the latency. Defaults to False.
 tmin
 Returns
Examples using
get_peak
:

magnitude
()[source]¶ Compute magnitude of activity without directionality.
 Returns
 stcinstance of
SourceEstimate
The source estimate without directionality information.
 stcinstance of

mean
()[source]¶ Make a summary stc file with mean over time points.
 Returns
 stc
SourceEstimate
VectorSourceEstimate
The modified stc.
 stc

normal
(src, use_cps=True)[source]¶ Compute activity orthogonal to the cortex.
 Parameters
 srcinstance of
SourceSpaces
The source space for which this source estimate is specified.
 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).
New in version 0.20.
 srcinstance of
 Returns
 stcinstance of
SourceEstimate
The source estimate only retaining the activity orthogonal to the cortex.
 stcinstance of

plot
(src, subject=None, subjects_dir=None, mode='stat_map', bg_img=None, 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 ofSourceMorph
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
. subject
str
None
The subject name corresponding to FreeSurfer environment variable SUBJECT. If None stc.subject will be used. If that is None, the environment will be used.
 subjects_dir
str
None
The path to the freesurfer subjects reconstructions. It corresponds to Freesurfer environment variable SUBJECTS_DIR.
 mode
str
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
None
The background image used in the nilearn plotting function. If None, it is the T1.mgz file that is found in the subjects_dir. Not used in “glass brain” plotting.
 colorbarbool, optional
If True, display a colorbar on the right of the plots.
 colormap
str
np.ndarray
offloat
, 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.
 clim
str
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.
lims
list  np.ndarray  tuple of float, 3 elementsLower, middle, and upper bounds for colormap.
pos_lims
list  np.ndarray  tuple of float, 3 elementsLower, 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
orpos_lims
should be provided. Only sequential colormaps should be used withlims
, and only divergent colormaps should be used withpos_lims
. transparentbool 
None
If True, use a linear transparency between fmin and fmid. None will choose automatically based on colormap type.
 showbool
Show figures if True. Defaults to True.
 initial_time
float
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 (ifinitial_pos is None
or not, respectively).New in version 0.19.
 initial_pos
ndarray
, 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
(ifinitial_time is None
or not, respectively).New in version 0.19.
 verbosebool,
str
,int
, orNone
If not None, override default verbose level (see
mne.verbose()
and Logging documentation for more).
 srcinstance of
 Returns
 figinstance of
Figure
The figure.
 figinstance of
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 thesrc
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)
Examples using
plot
:

resample
(sfreq, npad='auto', window='boxcar', n_jobs=1, verbose=None)[source]¶ Resample data.
 Parameters
 sfreq
float
New sample rate to use.
 npad
int
str
Amount to pad the start and end of the data. Can also be “auto” to use a padding that will result in a poweroftwo size (can be much faster).
 window
str
tuple
Window to use in resampling. See
scipy.signal.resample()
. n_jobs
int
The number of jobs to run in parallel (default 1). Requires the joblib package.
 verbosebool,
str
,int
, orNone
If not None, override default verbose level (see
mne.verbose()
and Logging documentation for more). Defaults to self.verbose.
 sfreq
 Returns
 stcinstance of
SourceEstimate
The resampled source estimate.
 stcinstance of
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
 fname
str
The file name to write the source estimate to, should end in ‘stc.h5’.
 ftype
str
File format to use. Currently, the only allowed values is “h5”.
 verbosebool,
str
,int
, orNone
If not None, override default verbose level (see
mne.verbose()
and Logging documentation for more). Defaults to self.verbose.
 fname

save_as_volume
(fname, src, dest='mri', mri_resolution=False, format='nifti1')[source]¶ Save a volume source estimate in a NIfTI file.
 Parameters
 fname
str
The name of the generated nifti file.
 src
list
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.
 format
str
Either ‘nifti1’ (default) or ‘nifti2’.
New in version 0.17.
 fname
 Returns
 imginstance
Nifti1Image
The image object.
 imginstance
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).
 stcinstance of

sum
()[source]¶ Make a summary stc file with sum over time points.
 Returns
 stc
SourceEstimate
VectorSourceEstimate
The modified stc.
 stc

property
times
¶ A timestamp for each sample.

property
tmin
¶ The first timestamp.

to_data_frame
(index=None, scaling_time=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'
, apandas.Float64Index
,pandas.Int64Index
, orpandas.TimedeltaIndex
will be used (depending on the value oftime_format
). Defaults toNone
. scaling_time
None
Deprecated; use
time_format
instead. If you need to scale time values by a factor other than 1000 (seconds → milliseconds), create the DataFrame first, then scale itstime
column afterwards. scalings
dict
None
Scaling factor applied to the channels picked. If
None
, defaults todict(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_format
str
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 topandas.Timedelta
values. Defaults to'ms'
.New in version 0.20.
 index‘time’ 
 Returns
 dfinstance of
pandas.DataFrame
A dataframe suitable for usage with other statistical/plotting/analysis packages.
 dfinstance of

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
 func
callable()
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. idx
array
None
Indices of source time courses for which to compute transform. If None, all time courses are used.
 tmin
float
int
None
First time point to include (ms). If None, self.tmin is used.
 tmax
float
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.
 func
 Returns
 stcs
SourceEstimate
VectorSourceEstimate
list
The transformed stc or, in the case of transforms which yield Ndimensional output (where N > 2), a list of stcs. For a list, copy must be True.
 stcs
Notes
Transforms which yield 3D output (e.g. timefrequency 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
 func
callable()
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. idx
array
None
Indicices of source time courses for which to compute transform. If None, all time courses are used.
 tmin_idx
int
None
Index of first time point to include. If None, the index of the first time point is used.
 tmax_idx
int
None
Index of the first time point not to include. If None, time points up to (and including) the last time point are included.
 func
 Returns
 data_t
ndarray
The transformed data.
 data_t
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).