NIPY logo

Site Navigation

NIPY Community

Table Of Contents

Previous topic

neurospin.group.mixed_effects

This Page

neurospin.group.permutation_test

Module: neurospin.group.permutation_test

Inheritance diagram for nipy.neurospin.group.permutation_test:

One and two sample permutation tests.

Classes

permutation_test

class nipy.neurospin.group.permutation_test.permutation_test

Bases: object

This generic permutation test class contains the calibration method which is common to the derived classes permutation_test_onesample and permutation_test_twosample (as well as other common methods)

Methods

calibrate
height_threshold
pvalue
zscore
__init__()

x.__init__(...) initializes x; see help(type(x)) for signature

calibrate(nperms=10000, clusters=None, cluster_stats=[, 'size', 'Fisher'], regions=None, region_stats=[, 'Fisher'], verbose=False)

Calibrate cluster and region summary statistics using permutation test

Parameters :

nperms : int, optional

Number of random permutations generated. Exhaustive permutations are used only if nperms=None, or exceeds total number of possible permutations

clusters : list [(thresh1,diam1),(thresh2,diam2),...], optional

List of cluster extraction pairs: (thresh,diam). thresh provides T values threshold, diam is the maximum cluster diameter, in voxels. Using *diam*==None yields classical suprathreshold clusters.

cluster_stats : list [stat1,...], optional

List of cluster summary statistics id (either ‘size’ or ‘Fisher’)

regions : list [Labels1,Labels2,...]

List of region labels arrays, of size (p,) where p is the number of voxels

region_stats : list [stat1,...], optional

List of cluster summary statistics id (only ‘Fisher’ supported for now)

verbose : boolean, optional

“Chatterbox” mode switch

Returns :

voxel_results : dict

A dictionary containing the following keys: p_values (p,) Uncorrected p-values.``Corr_p_values`` (p,) Corrected p-values, computed by the Tmax procedure. perm_maxT_values (nperms) values of the maximum statistic under permutation.

cluster_results : list [results1,results2,...]

List of permutation test results for each cluster extraction pair. These are dictionaries with the following keys “thresh”, “diam”, “labels”, “expected_voxels_per_cluster”, “expected_number_of_clusters”, and “peak_XYZ” if XYZ field is nonempty and for each summary statistic id “S”: “size_values”, “size_p_values”, “S_Corr_p_values”, “perm_size_values”, “perm_maxsize_values”

region_results :list [results1,results2,...] :

List of permutation test results for each region labels arrays. These are dictionaries with the following keys: “label_values”, “peak_XYZ” (if XYZ field nonempty) and for each summary statistic id “S”: “size_values”, “size_p_values”, “perm_size_values”, “perm_maxsize_values”

height_threshold(pval)

Return the uniform height threshold matching a given permutation-based P-value.

pvalue(Tvalues=None)

Return uncorrected voxel-level pseudo p-values.

zscore(Tvalues=None)

Return z score corresponding to the uncorrected voxel-level pseudo p-value.

permutation_test_onesample

class nipy.neurospin.group.permutation_test.permutation_test_onesample(data, XYZ, axis=0, vardata=None, stat_id='student', base=0.0, niter=5, ndraws=100000)

Bases: nipy.neurospin.group.permutation_test.permutation_test

Class derived from the generic permutation_test class. Inherits the calibrate method

Methods

calibrate
height_threshold
pvalue
zscore
__init__(data, XYZ, axis=0, vardata=None, stat_id='student', base=0.0, niter=5, ndraws=100000)

Initialize permutation_test_onesample instance, compute statistic values in each voxel and under permutation In: data data array

XYZ voxels coordinates
axis <int> Subject axis in data
vardata variance (same shape as data)
optional (if None, mfx statistics cannot be used)
stat_id <char> choice of test statistic
(see onesample.stats for a list of possible stats)

base <float> mean signal under H0 niter <int> number of iterations of EM algorithm ndraws <int> Number of generated random t values

Out:

self.Tvalues voxelwise test statistic values self.random_Tvalues sorted statistic values in random voxels and under random

sign permutation
calibrate(nperms=10000, clusters=None, cluster_stats=[, 'size', 'Fisher'], regions=None, region_stats=[, 'Fisher'], verbose=False)

Calibrate cluster and region summary statistics using permutation test

Parameters :

nperms : int, optional

Number of random permutations generated. Exhaustive permutations are used only if nperms=None, or exceeds total number of possible permutations

clusters : list [(thresh1,diam1),(thresh2,diam2),...], optional

List of cluster extraction pairs: (thresh,diam). thresh provides T values threshold, diam is the maximum cluster diameter, in voxels. Using *diam*==None yields classical suprathreshold clusters.

cluster_stats : list [stat1,...], optional

List of cluster summary statistics id (either ‘size’ or ‘Fisher’)

regions : list [Labels1,Labels2,...]

List of region labels arrays, of size (p,) where p is the number of voxels

region_stats : list [stat1,...], optional

List of cluster summary statistics id (only ‘Fisher’ supported for now)

verbose : boolean, optional

“Chatterbox” mode switch

Returns :

voxel_results : dict

A dictionary containing the following keys: p_values (p,) Uncorrected p-values.``Corr_p_values`` (p,) Corrected p-values, computed by the Tmax procedure. perm_maxT_values (nperms) values of the maximum statistic under permutation.

cluster_results : list [results1,results2,...]

List of permutation test results for each cluster extraction pair. These are dictionaries with the following keys “thresh”, “diam”, “labels”, “expected_voxels_per_cluster”, “expected_number_of_clusters”, and “peak_XYZ” if XYZ field is nonempty and for each summary statistic id “S”: “size_values”, “size_p_values”, “S_Corr_p_values”, “perm_size_values”, “perm_maxsize_values”

region_results :list [results1,results2,...] :

List of permutation test results for each region labels arrays. These are dictionaries with the following keys: “label_values”, “peak_XYZ” (if XYZ field nonempty) and for each summary statistic id “S”: “size_values”, “size_p_values”, “perm_size_values”, “perm_maxsize_values”

height_threshold(pval)

Return the uniform height threshold matching a given permutation-based P-value.

pvalue(Tvalues=None)

Return uncorrected voxel-level pseudo p-values.

zscore(Tvalues=None)

Return z score corresponding to the uncorrected voxel-level pseudo p-value.

permutation_test_onesample_graph

class nipy.neurospin.group.permutation_test.permutation_test_onesample_graph(data, G, axis=0, vardata=None, stat_id='student', base=0.0, niter=5, ndraws=100000)

Bases: nipy.neurospin.group.permutation_test.permutation_test

Class derived from the generic permutation_test class. Inherits the calibrate method

Methods

calibrate
height_threshold
pvalue
zscore
__init__(data, G, axis=0, vardata=None, stat_id='student', base=0.0, niter=5, ndraws=100000)

Initialize permutation_test_onesample instance, compute statistic values in each voxel and under permutation In: data data array

G weighted graph (each vertex corresponds to a voxel) axis <int> Subject axis in data vardata variance (same shape as data)

optional (if None, mfx statistics cannot be used)
stat_id <char> choice of test statistic
(see onesample.stats for a list of possible stats)

base <float> mean signal under H0 niter <int> number of iterations of EM algorithm ndraws <int> Number of generated random t values

Out:

self.Tvalues voxelwise test statistic values self.random_Tvalues sorted statistic values in random voxels and under random

sign permutation
calibrate(nperms=10000, clusters=None, cluster_stats=[, 'size', 'Fisher'], regions=None, region_stats=[, 'Fisher'], verbose=False)

Calibrate cluster and region summary statistics using permutation test

Parameters :

nperms : int, optional

Number of random permutations generated. Exhaustive permutations are used only if nperms=None, or exceeds total number of possible permutations

clusters : list [(thresh1,diam1),(thresh2,diam2),...], optional

List of cluster extraction pairs: (thresh,diam). thresh provides T values threshold, diam is the maximum cluster diameter, in voxels. Using *diam*==None yields classical suprathreshold clusters.

cluster_stats : list [stat1,...], optional

List of cluster summary statistics id (either ‘size’ or ‘Fisher’)

regions : list [Labels1,Labels2,...]

List of region labels arrays, of size (p,) where p is the number of voxels

region_stats : list [stat1,...], optional

List of cluster summary statistics id (only ‘Fisher’ supported for now)

verbose : boolean, optional

“Chatterbox” mode switch

Returns :

voxel_results : dict

A dictionary containing the following keys: p_values (p,) Uncorrected p-values.``Corr_p_values`` (p,) Corrected p-values, computed by the Tmax procedure. perm_maxT_values (nperms) values of the maximum statistic under permutation.

cluster_results : list [results1,results2,...]

List of permutation test results for each cluster extraction pair. These are dictionaries with the following keys “thresh”, “diam”, “labels”, “expected_voxels_per_cluster”, “expected_number_of_clusters”, and “peak_XYZ” if XYZ field is nonempty and for each summary statistic id “S”: “size_values”, “size_p_values”, “S_Corr_p_values”, “perm_size_values”, “perm_maxsize_values”

region_results :list [results1,results2,...] :

List of permutation test results for each region labels arrays. These are dictionaries with the following keys: “label_values”, “peak_XYZ” (if XYZ field nonempty) and for each summary statistic id “S”: “size_values”, “size_p_values”, “perm_size_values”, “perm_maxsize_values”

height_threshold(pval)

Return the uniform height threshold matching a given permutation-based P-value.

pvalue(Tvalues=None)

Return uncorrected voxel-level pseudo p-values.

zscore(Tvalues=None)

Return z score corresponding to the uncorrected voxel-level pseudo p-value.

permutation_test_twosample

class nipy.neurospin.group.permutation_test.permutation_test_twosample(data1, data2, XYZ, axis=0, vardata1=None, vardata2=None, stat_id='student', niter=5, ndraws=100000)

Bases: nipy.neurospin.group.permutation_test.permutation_test

Class derived from the generic permutation_test class. Inherits the calibrate method

Methods

calibrate
height_threshold
pvalue
zscore
__init__(data1, data2, XYZ, axis=0, vardata1=None, vardata2=None, stat_id='student', niter=5, ndraws=100000)

Initialize permutation_test_twosample instance, compute statistic values in each voxel and under permutation In: data1, data2 data arrays

XYZ voxels coordinates
axis <int> Subject axis in data
vardata1, vardata2 variance (same shape as data)
optional (if None, mfx statistics cannot be used)
stat_id <char> choice of test statistic
(see onesample.stats for a list of possible stats)

niter <int> number of iterations of EM algorithm ndraws <int> Number of generated random t values

Out:

self.Tvalues voxelwise test statistic values self.random_Tvalues sorted statistic values in random voxels and under random

sign permutation
calibrate(nperms=10000, clusters=None, cluster_stats=[, 'size', 'Fisher'], regions=None, region_stats=[, 'Fisher'], verbose=False)

Calibrate cluster and region summary statistics using permutation test

Parameters :

nperms : int, optional

Number of random permutations generated. Exhaustive permutations are used only if nperms=None, or exceeds total number of possible permutations

clusters : list [(thresh1,diam1),(thresh2,diam2),...], optional

List of cluster extraction pairs: (thresh,diam). thresh provides T values threshold, diam is the maximum cluster diameter, in voxels. Using *diam*==None yields classical suprathreshold clusters.

cluster_stats : list [stat1,...], optional

List of cluster summary statistics id (either ‘size’ or ‘Fisher’)

regions : list [Labels1,Labels2,...]

List of region labels arrays, of size (p,) where p is the number of voxels

region_stats : list [stat1,...], optional

List of cluster summary statistics id (only ‘Fisher’ supported for now)

verbose : boolean, optional

“Chatterbox” mode switch

Returns :

voxel_results : dict

A dictionary containing the following keys: p_values (p,) Uncorrected p-values.``Corr_p_values`` (p,) Corrected p-values, computed by the Tmax procedure. perm_maxT_values (nperms) values of the maximum statistic under permutation.

cluster_results : list [results1,results2,...]

List of permutation test results for each cluster extraction pair. These are dictionaries with the following keys “thresh”, “diam”, “labels”, “expected_voxels_per_cluster”, “expected_number_of_clusters”, and “peak_XYZ” if XYZ field is nonempty and for each summary statistic id “S”: “size_values”, “size_p_values”, “S_Corr_p_values”, “perm_size_values”, “perm_maxsize_values”

region_results :list [results1,results2,...] :

List of permutation test results for each region labels arrays. These are dictionaries with the following keys: “label_values”, “peak_XYZ” (if XYZ field nonempty) and for each summary statistic id “S”: “size_values”, “size_p_values”, “perm_size_values”, “perm_maxsize_values”

height_threshold(pval)

Return the uniform height threshold matching a given permutation-based P-value.

pvalue(Tvalues=None)

Return uncorrected voxel-level pseudo p-values.

zscore(Tvalues=None)

Return z score corresponding to the uncorrected voxel-level pseudo p-value.

Functions

nipy.neurospin.group.permutation_test.compute_cluster_stats(Tvalues, labels, random_Tvalues, cluster_stats=[, 'size', 'Fisher'])

size_values, Fisher_values = compute_cluster_stats(Tvalues, labels, random_Tvalues, cluster_stats=[“size”,”Fisher”]) Compute summary statistics in each cluster In: see permutation_test_onesample class docstring Out: size_values Array of size nclust, or None if “size” not in cluster_stats

Fisher_values Array of size nclust, or None if “Fisher” not in cluster_stats
nipy.neurospin.group.permutation_test.compute_region_stat(Tvalues, labels, label_values, random_Tvalues)

Fisher_values = compute_region_stat(Tvalues, labels, label_values, random_Tvalues) Compute summary statistics in each cluster In: see permutation_test_onesample class docstring Out: Fisher_values Array of size nregions

nipy.neurospin.group.permutation_test.extract_clusters_from_diam(T, XYZ, th, diam, k=18)

Extract clusters from a statistical map under diameter constraint and above given threshold In: T (p) statistical map

XYZ (3,p) voxels coordinates th <float> minimum threshold diam <int> maximal diameter (in voxels) k <int> the number of neighbours considered. (6,18 or 26)

Out: labels (p) cluster labels

nipy.neurospin.group.permutation_test.extract_clusters_from_graph(T, G, th)

This returns a label vector of same size as T, defining connected components for subgraph of weighted graph G containing vertices s.t. T >= th

nipy.neurospin.group.permutation_test.extract_clusters_from_thresh(T, XYZ, th, k=18)

Extract clusters from statistical map above specified threshold In: T (p) statistical map

XYZ (3,p) voxels coordinates th <float> threshold k <int> the number of neighbours considered. (6,18 or 26)

Out: labels (p) cluster labels

nipy.neurospin.group.permutation_test.max_dist(XYZ, I, J)

Maximum distance between two set of points In: XYZ (3,p) voxels coordinates

I (q) index of points J (r) index of points

Out: d <float>

nipy.neurospin.group.permutation_test.onesample_stat(Y, V, stat_id, base=0.0, axis=0, Magics=None, niter=5)

Wrapper for os_stat and os_stat_mfx

nipy.neurospin.group.permutation_test.peak_XYZ(XYZ, Tvalues, labels, label_values)

Returns (3, n_labels) array of maximum T values coordinates for each label value

nipy.neurospin.group.permutation_test.sorted_values(a)

Extract list of distinct sortedvalues from an array

nipy.neurospin.group.permutation_test.twosample_stat(Y1, V1, Y2, V2, stat_id, axis=0, Magics=None, niter=5)

Wrapper for ts_stat and ts_stat_mfx