nimare.meta.ibma.IBMAEstimator

class IBMAEstimator(aggressive_mask=False, memory=Memory(location=None), memory_level=0, generate_description=True, *, mask=None, groupby=None, **kwargs)[source]

Bases: Estimator

Base class for meta-analysis methods in meta.

Warning

Support for Dataset inputs is deprecated and will be removed in NiMARE 1.0.0. Prefer Studyset.

Changed in version 0.21.0:

  • New parameter: groupby, identifying which images are statistically dependent on each other because they come from the same participants.

  • aggressive_mask now defaults to False, so voxels are no longer dropped just because they are missing from one input map.

  • generate_description is now accepted and forwarded, as it is for CBMA estimators. It was previously swallowed by **kwargs and had no effect.

  • Unrecognized keyword arguments now raise TypeError instead of being logged and ignored.

  • Fitting fewer than two analyses now raises ValueError rather than returning maps that are NaN at every voxel.

  • An image with no usable voxel is dropped and named; drop_invalid=False raises.

Changed in version 0.2.1:

  • New parameters: memory and memory_level for memory caching.

Changed in version 0.2.0:

  • Remove resample and memory_limit arguments. Resampling is now performed only if shape/affines are different.

Added in version 0.0.12:

  • IBMA-specific elements of Estimator excised and used to create IBMAEstimator.

  • Generic kwargs and args converted to named kwargs. All remaining kwargs are for resampling.

Methods

fit(dataset[, drop_invalid])

Fit Estimator to a collection.

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.

share_masked_image_cache(cache)

Reuse already-masked input images across repeated fits of the same studyset.

fit(dataset, drop_invalid=True)[source]

Fit Estimator to a collection.

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

  • drop_invalid (bool, optional) – Whether to automatically ignore any studies without the required data, or with data that cannot be used, such as an all-zero image. Default is True.

Returns:

Result of Estimator fitting. Subclasses may return a MetaResult subclass.

Return type:

MetaResult

Variables:
  • inputs (dict) – Inputs used in _fit.

  • warning:: (..) – Support for Dataset inputs is deprecated and will be removed in NiMARE 1.0.0. Prefer Studyset.

  • and (The fit method is a light wrapper that runs input validation)

  • individual (preprocessing before fitting the actual model. Estimators')

  • should ("fitting" methods are implemented as _fit, although users)

  • fit. (call)

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

share_masked_image_cache(cache)[source]

Reuse already-masked input images across repeated fits of the same studyset.

A leave-one-out diagnostic fits this estimator once per study, over subsets of one fixed set of images. Masking is per-image and does not depend on which other images are in the fit, so the default – reload, resample and mask every file on every fit – repeats the same work a number of times that grows with the square of the studyset.

Parameters:

cache (dict or None) – Mapping used to hold one masked row per image path. Callers that want the reuse to span several estimators (the copies a diagnostic refits) must hand the same dict to each of them; passing None turns the reuse off again. The caller owns the dict, and therefore its lifetime: entries live until it is dropped. It is only valid while the files it was filled from are unchanged.

Notes

The cached row is never handed out, only copied into each fit’s own array, so a caller that edits inputs_ cannot corrupt a later fit.

Examples using nimare.meta.ibma.IBMAEstimator

Use NeuroVault statistical maps in NiMARE

Use NeuroVault statistical maps in NiMARE

Image-based meta-analysis algorithms

Image-based meta-analysis algorithms

The Corrector class

The Corrector class

Compare image and coordinate based meta-analyses

Compare image and coordinate based meta-analyses