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:
EstimatorBase class for meta-analysis methods in
meta.Warning
Support for
Datasetinputs is deprecated and will be removed in NiMARE 1.0.0. PreferStudyset.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_masknow defaults to False, so voxels are no longer dropped just because they are missing from one input map.generate_descriptionis now accepted and forwarded, as it is for CBMA estimators. It was previously swallowed by**kwargsand had no effect.Unrecognized keyword arguments now raise
TypeErrorinstead of being logged and ignored.Fitting fewer than two analyses now raises
ValueErrorrather than returning maps that are NaN at every voxel.An image with no usable voxel is dropped and named;
drop_invalid=Falseraises.
Changed in version 0.2.1:
New parameters:
memoryandmemory_levelfor 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
Estimatorexcised and used to createIBMAEstimator.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:
- Returns:
Result of Estimator fitting. Subclasses may return a
MetaResultsubclass.- Return type:
- Variables:
inputs (
dict) – Inputs used in _fit.warning:: (..) – Support for
Datasetinputs is deprecated and will be removed in NiMARE 1.0.0. PreferStudyset.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)
- classmethod load(filename, compressed=True)[source]
Load a pickled class instance from file.
- Parameters:
- Returns:
obj – Loaded class object.
- Return type:
class object
- 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
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 (
dictor 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.