nimare.meta.cbma.ale
.SCALE
- class SCALE(voxel_thresh=0.001, n_iters=10000, n_cores=1, use_joblib=False, xyz=None, kernel_transformer=<class 'nimare.meta.kernel.ALEKernel'>, memory_limit=None, **kwargs)[source]
Bases:
nimare.meta.cbma.base.CBMAEstimator
Specific coactivation likelihood estimation.
Changed in version 0.0.10: Replace
ijk
withxyz
. This should be easier for users to collect.- Parameters
voxel_thresh (float, optional) – Uncorrected voxel-level threshold. Default: 0.001
n_iters (int, optional) – Number of iterations for correction. Default: 10000
n_cores (int, optional) – Number of processes to use for meta-analysis. If -1, use all available cores. Default: 1
xyz (
str
or (N x 3) array_like) – Tab-delimited file of coordinates from database or numpy array with XYZ coordinates. Voxels are rows and x, y, z (meaning coordinates) values are the three columnns.kernel_transformer (
KernelTransformer
, optional) – Kernel with which to convolve coordinates from dataset. Default isALEKernel
.memory_limit (
str
or None, optional) – Memory limit to apply to data. If None, no memory management will be applied. Otherwise, the memory limit will be used to (1) assign memory-mapped files and (2) restrict memory during array creation to the limit. Default is None.**kwargs – Keyword arguments. Arguments for the kernel_transformer can be assigned here, with the prefix ‘kernel__’ in the variable name.
References
Langner, Robert, et al. “Meta-analytic connectivity modeling revisited: controlling for activation base rates.” NeuroImage 99 (2014): 559-570. https://doi.org/10.1016/j.neuroimage.2014.06.007
- compute_summarystat(data)[source]
Compute summary statistics from data.
The actual summary statistic varies across Estimators. For ALE and SCALE, the values are known as ALE values. For (M)KDA, they are “OF” scores.
- Parameters
data (array, pandas.DataFrame, or list of img_like) – Data from which to estimate summary statistics. The data can be: (1) a 1d contrast-len or 2d contrast-by-voxel array of MA values, (2) a DataFrame containing coordinates to produce MA values, or (3) a list of imgs containing MA values.
- Returns
stat_values (1d array) – Summary statistic values. One value per voxel.
- correct_fwe_montecarlo(result, voxel_thresh=0.001, n_iters=10000, n_cores=1, vfwe_only=False)[source]
Perform FWE correction using the max-value permutation method.
Only call this method from within a Corrector.
Changed in version 0.0.11:
Rename
*_level-cluster
maps to*_desc-size_level-cluster
.Add new
*_desc-mass_level-cluster
maps that use cluster mass-based inference.
- Parameters
result (
MetaResult
) – Result object from a CBMA meta-analysis.voxel_thresh (
float
, optional) – Cluster-defining p-value threshold. Default is 0.001.n_iters (
int
, optional) – Number of iterations to build the voxel-level, cluster-size, and cluster-mass FWE null distributions. Default is 10000.n_cores (
int
, optional) – Number of cores to use for parallelization. If <=0, defaults to using all available cores. Default is 1.vfwe_only (
bool
, optional) – If True, only calculate the voxel-level FWE-corrected maps. Voxel-level correction can be performed very quickly if the Estimator’snull_method
was “montecarlo”. If this is set to True and the original null method was not montecarlo, an exception will be raised. Default is False.
- Returns
images (
dict
) – Dictionary of 1D arrays corresponding to masked images generated by the correction procedure. The following arrays are generated by this method:logp_desc-size_level-cluster
: Cluster-level FWE-corrected-log10(p)
map based on cluster size. This was previously simply called “logp_level-cluster”. This array is not generated ifvfwe_only
isTrue
.logp_desc-mass_level-cluster
: Cluster-level FWE-corrected-log10(p)
map based on cluster mass. According to 1 and 2, cluster mass-based inference is more powerful than cluster size. This array is not generated ifvfwe_only
isTrue
.logp_level-voxel
: Voxel-level FWE-corrected-log10(p)
map. Voxel-level correction is generally more conservative than cluster-level correction, so it is only recommended for very large meta-analyses (i.e., hundreds of studies), per 3.
Notes
If
vfwe_only
isFalse
, this method adds three new keys to thenull_distributions_
attribute:values_level-voxel_corr-fwe_method-montecarlo
: The maximum summary statistic value from each Monte Carlo iteration. An array of shape (n_iters,).values_desc-size_level-cluster_corr-fwe_method-montecarlo
: The maximum cluster size from each Monte Carlo iteration. An array of shape (n_iters,).values_desc-mass_level-cluster_corr-fwe_method-montecarlo
: The maximum cluster mass from each Monte Carlo iteration. An array of shape (n_iters,).
See also
nimare.correct.FWECorrector
The Corrector from which to call this method.
References
- 1
Bullmore, E. T., Suckling, J., Overmeyer, S., Rabe-Hesketh, S., Taylor, E., & Brammer, M. J. (1999). Global, voxel, and cluster tests, by theory and permutation, for a difference between two groups of structural MR images of the brain. IEEE transactions on medical imaging, 18(1), 32-42. doi: 10.1109/42.750253
- 2
Zhang, H., Nichols, T. E., & Johnson, T. D. (2009). Cluster mass inference via random field theory. Neuroimage, 44(1), 51-61. doi: 10.1016/j.neuroimage.2008.08.017
- 3
Eickhoff, S. B., Nichols, T. E., Laird, A. R., Hoffstaedter, F., Amunts, K., Fox, P. T., … & Eickhoff, C. R. (2016). Behavior, sensitivity, and power of activation likelihood estimation characterized by massive empirical simulation. Neuroimage, 137, 70-85. doi: 10.1016/j.neuroimage.2016.04.072
Examples
>>> meta = MKDADensity() >>> result = meta.fit(dset) >>> corrector = FWECorrector(method='montecarlo', voxel_thresh=0.01, n_iters=5, n_cores=1) >>> cresult = corrector.transform(result)
- fit(dataset, drop_invalid=True)[source]
Fit Estimator to Dataset.
- Parameters
- Returns
MetaResult
– Results of Estimator fitting.- Variables
~Estimator.fit.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 callfit
.