- mne.stats.spatio_temporal_cluster_test(X, threshold=None, n_permutations=1024, tail=0, stat_fun=None, adjacency=None, n_jobs=None, seed=None, max_step=1, spatial_exclude=None, step_down_p=0, t_power=1, out_type='indices', check_disjoint=False, buffer_size=1000, verbose=None)#
Non-parametric cluster-level test for spatio-temporal data.
array, shape (n_observations, p[, q], n_vertices)
The data to be clustered. Each array in
Xshould contain the observations for one group. The first dimension of each array is the number of observations from that group (and may vary between groups). The second, and optionally third, dimensions correspond to the time or time-frequency data. And, the last dimension should be spatial; it is the dimension the adjacency parameter will be applied to. All dimensions except the first should match across all groups.
If numeric, vertices with data values more extreme than
thresholdwill be used to form clusters. If threshold is
None, an F-threshold will be chosen automatically that corresponds to a p-value of 0.05 for the given number of observations (only valid when using an F-statistic). If
'step') then threshold-free cluster enhancement (TFCE) will be used (see the TFCE example and 2).
The number of permutations to compute.
If tail is 1, the statistic is thresholded above threshold. If tail is -1, the statistic is thresholded below threshold. If tail is 0, the statistic is thresholded on both sides of the distribution.
Function called to calculate the test statistic. Must accept 1D-array as input and return a 1D array. If
None(the default), uses
Defines adjacency between locations in the data, where “locations” can be spatial vertices, frequency bins, etc. If
False, assumes no adjacency (each location is treated as independent and unconnected). If
None, a regular lattice adjacency is assumed, connecting each spatial location to its neighbor(s) along the last dimension of each group
adjacencyis a matrix, it is assumed to be symmetric (only the upper triangular half is used) and must be square with dimension equal to
X[k].shape[-1] * X[k].shape[-2](n_times * n_vertices). If spatial adjacency is uniform in time, it is recommended to use a square matrix with dimension
X[k].shape[-1](n_vertices) to save memory and computation, and to use
max_stepto define the extent of temporal adjacency to consider when clustering.
The number of jobs to run in parallel. If
-1, it is set to the number of CPU cores. Requires the
None(default) is a marker for ‘unset’ that will be interpreted as
n_jobs=1(sequential execution) unless the call is performed under a
joblib.parallel_backend()context manager that sets another value for
int| instance of
A seed for the NumPy random number generator (RNG). If
None(default), the seed will be obtained from the operating system (see
RandomStatefor details), meaning it will most likely produce different output every time this function or method is run. To achieve reproducible results, pass a value here to explicitly initialize the RNG with a defined state.
Maximum distance along the second dimension (typically this is the “time” axis) between samples that are considered “connected”. Only used when
connectivityhas shape (n_vertices, n_vertices).
List of spatial indices to exclude from clustering.
To perform a step-down-in-jumps test, pass a p-value for clusters to exclude from each successive iteration. Default is zero, perform no step-down test (since no clusters will be smaller than this value). Setting this to a reasonable value, e.g. 0.05, can increase sensitivity but costs computation time.
Power to raise the statistical values (usually F-values) by before summing (sign will be retained). Note that
t_power=0will give a count of locations in each cluster,
t_power=1will weight each location by its statistical score.
- out_type‘mask’ | ‘indices’
Output format of clusters within a list. If
'mask', returns a list of boolean arrays, each with the same shape as the input data (or slices if the shape is 1D and adjacency is None), with
Truevalues indicating locations that are part of a cluster. If
'indices', returns a list of tuple of ndarray, where each ndarray contains the indices of locations that together form the given cluster along the given dimension. Note that for large datasets,
'indices'may use far less memory than
'mask'. Default is
Whether to check if the connectivity matrix can be separated into disjoint sets before clustering. This may lead to faster clustering, especially if the second dimension of
X(usually the “time” dimension) is large.
Block size to use when computing test statistics. This can significantly reduce memory usage when n_jobs > 1 and memory sharing between processes is enabled (see
Xwill be shared between processes and each process only needs to allocate space for a small block of locations at a time.
- verbosebool |
Eric Maris and Robert Oostenveld. Nonparametric statistical testing of EEG- and MEG-data. Journal of Neuroscience Methods, 164(1):177–190, 2007. doi:10.1016/j.jneumeth.2007.03.024.
Stephen M. Smith and Thomas E. Nichols. Threshold-free cluster enhancement: addressing problems of smoothing, threshold dependence and localisation in cluster inference. NeuroImage, 44(1):83–98, 2009. doi:10.1016/j.neuroimage.2008.03.061.