nimare.meta.ibma.PermutedOLS

class PermutedOLS(two_sided=True, **kwargs)[source]

Bases: IBMAEstimator

An analysis with permuted ordinary least squares (OLS), using nilearn.

Changed in version 0.2.1:

  • New parameter: aggressive_mask, to control whether to use an aggressive mask.

Changed in version 0.0.12:

  • Use beta maps instead of z maps.

Changed in version 0.0.8:

  • [FIX] Remove single-dimensional entries of each array of returns (dict).

New in version 0.0.4.

This approach is described in Freedman and Lane[1].

Parameters:
  • aggressive_mask (bool, optional) – Voxels with a value of zero of NaN in any of the input maps will be removed from the analysis. If False, all voxels are included by running a separate analysis on bags of voxels that belong that have a valid value across the same studies. Default is True.

  • two_sided (bool, optional) – If True, performs an unsigned t-test. Both positive and negative effects are considered; the null hypothesis is that the effect is zero. If False, only positive effects are considered as relevant. The null hypothesis is that the effect is zero or negative. Default is True.

Notes

Requires beta images.

fit() produces a MetaResult object with the following maps:

“t”

T-statistic map from one-sample test.

“z”

Z-statistic map from one-sample test.

“dof”

Degrees of freedom map from one-sample test.

Available correction methods: PermutedOLS.correct_fwe_montecarlo()

Warning

By default, all image-based meta-analysis estimators adopt an aggressive masking strategy, in which any voxels with a value of zero in any of the input maps will be removed from the analysis. Setting aggressive_mask=False will instead run tha analysis in bags of voxels that have a valid value across the same studies.

References

See also

nilearn.mass_univariate.permuted_ols

The function used for this IBMA.

Methods

correct_fwe_montecarlo(result[, n_iters, ...])

Perform FWE correction using the max-value permutation method.

fit(dataset[, drop_invalid])

Fit Estimator to Dataset.

get_params([deep])

Get parameters for this estimator.

load(filename[, compressed])

Load a pickled class instance from file.

save(filename[, compress])

Pickle the class instance to the provided file.

set_params(**params)

Set the parameters of this estimator.

correct_fwe_montecarlo(result, n_iters=5000, n_cores=1)[source]

Perform FWE correction using the max-value permutation method.

Changed in version 0.0.8:

  • [FIX] Remove single-dimensional entries of each array of returns (dict).

New in version 0.0.4.

Only call this method from within a Corrector.

Parameters:
  • result (MetaResult) – Result object from an ALE meta-analysis.

  • n_iters (int, default=5000) – The number of iterations to run in estimating the null distribution. Default is 5000.

  • n_cores (int, default=1) – Number of cores to use for parallelization. If <=0, defaults to using all available cores. Default is 1.

Returns:

images – Dictionary of 1D arrays corresponding to masked images generated by the correction procedure. The following arrays are generated by this method: ‘p_level-voxel’, ‘z_level-voxel’, ‘logp_level-voxel’.

Return type:

dict

See also

nimare.correct.FWECorrector

The Corrector from which to call this method.

nilearn.mass_univariate.permuted_ols

The function used for this IBMA.

Examples

>>> meta = PermutedOLS()
>>> result = meta.fit(dset)
>>> corrector = FWECorrector(method='montecarlo',
                             n_iters=5, n_cores=1)
>>> cresult = corrector.transform(result)
fit(dataset, drop_invalid=True)[source]

Fit Estimator to Dataset.

Parameters:
  • dataset (Dataset) – Dataset object to analyze.

  • drop_invalid (bool, optional) – Whether to automatically ignore any studies without the required data or not. Default is False.

Returns:

Results of Estimator fitting.

Return type:

MetaResult

Variables:

inputs (dict) – Inputs used in _fit.

Notes

The fit method is a light wrapper that runs input validation and preprocessing before fitting the actual model. Estimators’ individual “fitting” methods are implemented as _fit, although users should call fit.

get_params(deep=True)[source]

Get parameters for this estimator.

Parameters:

deep (bool, default=True) – If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns:

params – Parameter names mapped to their values.

Return type:

dict

classmethod load(filename, compressed=True)[source]

Load a pickled class instance from file.

Parameters:
  • filename (str) – Name of file containing object.

  • compressed (bool, default=True) – If True, the file is assumed to be compressed and gzip will be used to load it. Otherwise, it will assume that the file is not compressed. Default = True.

Returns:

obj – Loaded class object.

Return type:

class object

save(filename, compress=True)[source]

Pickle the class instance to the provided file.

Parameters:
  • filename (str) – File to which object will be saved.

  • compress (bool, optional) – If True, the file will be compressed with gzip. Otherwise, the uncompressed version will be saved. Default = True.

set_params(**params)[source]

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Return type:

self