Two-sample ALE meta-analysis

Meta-analytic projects often involve a number of common steps comparing two or more samples.

In this example, we replicate the ALE-based analyses from Enge et al.[1].

A common project workflow with two meta-analytic samples involves the following:

  1. Run a within-sample meta-analysis of the first sample.

  2. Characterize/summarize the results of the first meta-analysis.

  3. Run a within-sample meta-analysis of the second sample.

  4. Characterize/summarize the results of the second meta-analysis.

  5. Compare the two samples with a subtraction analysis.

  6. Compare the two within-sample meta-analyses with a conjunction analysis.

import os

import matplotlib.pyplot as plt
from nilearn.plotting import plot_stat_map

Load Sleuth text files into Datasets

The data for this example are a subset of studies from a meta-analysis on semantic cognition in children [1]. A first group of studies probed children’s semantic world knowledge (e.g., correctly naming an object after hearing its auditory description) while a second group of studies asked children to decide if two (or more) words were semantically related to one another or not.

Individual group ALEs

Computing separate ALE analyses for each group is not strictly necessary for performing the subtraction analysis but will help the experimenter to appreciate the similarities and differences between the groups.

from nimare.correct import FWECorrector
from nimare.meta.cbma import ALE

ale = ALE(null_method="approximate")
knowledge_results = ale.fit(knowledge_dset)
related_results = ale.fit(related_dset)

corr = FWECorrector(method="montecarlo", voxel_thresh=0.001, n_iters=100, n_cores=2)
knowledge_corrected_results = corr.transform(knowledge_results)
related_corrected_results = corr.transform(related_results)

fig, axes = plt.subplots(figsize=(12, 10), nrows=2)
knowledge_img = knowledge_corrected_results.get_map(
    "z_desc-size_level-cluster_corr-FWE_method-montecarlo"
)
plot_stat_map(
    knowledge_img,
    cut_coords=4,
    display_mode="z",
    title="Semantic knowledge",
    threshold=2.326,  # cluster-level p < .01, one-tailed
    cmap="RdBu_r",
    vmax=4,
    axes=axes[0],
    figure=fig,
)

related_img = related_corrected_results.get_map(
    "z_desc-size_level-cluster_corr-FWE_method-montecarlo"
)
plot_stat_map(
    related_img,
    cut_coords=4,
    display_mode="z",
    title="Semantic relatedness",
    threshold=2.326,  # cluster-level p < .01, one-tailed
    cmap="RdBu_r",
    vmax=4,
    axes=axes[1],
    figure=fig,
)
fig.show()
08 plot cbma subtraction conjunction

Out:

  0%|          | 0/100 [00:00<?, ?it/s]
  1%|1         | 1/100 [00:00<01:36,  1.03it/s]
  3%|3         | 3/100 [00:01<01:00,  1.60it/s]
  5%|5         | 5/100 [00:02<00:50,  1.88it/s]
  7%|7         | 7/100 [00:03<00:49,  1.88it/s]
  9%|9         | 9/100 [00:04<00:45,  1.98it/s]
 11%|#1        | 11/100 [00:05<00:45,  1.95it/s]
 13%|#3        | 13/100 [00:06<00:43,  2.00it/s]
 15%|#5        | 15/100 [00:07<00:43,  1.95it/s]
 17%|#7        | 17/100 [00:08<00:41,  1.99it/s]
 19%|#9        | 19/100 [00:09<00:41,  1.97it/s]
 21%|##1       | 21/100 [00:10<00:38,  2.05it/s]
 23%|##3       | 23/100 [00:11<00:38,  2.00it/s]
 25%|##5       | 25/100 [00:12<00:36,  2.04it/s]
 27%|##7       | 27/100 [00:13<00:36,  1.99it/s]
 29%|##9       | 29/100 [00:14<00:34,  2.03it/s]
 31%|###1      | 31/100 [00:15<00:34,  2.00it/s]
 33%|###3      | 33/100 [00:16<00:32,  2.06it/s]
 35%|###5      | 35/100 [00:17<00:32,  2.02it/s]
 37%|###7      | 37/100 [00:18<00:30,  2.08it/s]
 39%|###9      | 39/100 [00:19<00:30,  2.02it/s]
 41%|####1     | 41/100 [00:20<00:28,  2.08it/s]
 43%|####3     | 43/100 [00:21<00:28,  2.03it/s]
 45%|####5     | 45/100 [00:22<00:26,  2.08it/s]
 47%|####6     | 47/100 [00:23<00:25,  2.06it/s]
 48%|####8     | 48/100 [00:23<00:21,  2.37it/s]
 49%|####9     | 49/100 [00:24<00:24,  2.05it/s]
 50%|#####     | 50/100 [00:24<00:20,  2.46it/s]
 51%|#####1    | 51/100 [00:25<00:25,  1.95it/s]
 52%|#####2    | 52/100 [00:25<00:21,  2.21it/s]
 53%|#####3    | 53/100 [00:26<00:22,  2.05it/s]
 54%|#####4    | 54/100 [00:26<00:20,  2.29it/s]
 55%|#####5    | 55/100 [00:27<00:23,  1.95it/s]
 56%|#####6    | 56/100 [00:27<00:20,  2.16it/s]
 57%|#####6    | 57/100 [00:28<00:21,  2.04it/s]
 58%|#####8    | 58/100 [00:28<00:18,  2.27it/s]
 59%|#####8    | 59/100 [00:29<00:20,  1.97it/s]
 60%|######    | 60/100 [00:29<00:18,  2.14it/s]
 61%|######1   | 61/100 [00:30<00:18,  2.09it/s]
 62%|######2   | 62/100 [00:30<00:17,  2.17it/s]
 63%|######3   | 63/100 [00:31<00:18,  2.03it/s]
 64%|######4   | 64/100 [00:31<00:17,  2.10it/s]
 65%|######5   | 65/100 [00:31<00:16,  2.10it/s]
 66%|######6   | 66/100 [00:32<00:15,  2.17it/s]
 67%|######7   | 67/100 [00:32<00:16,  2.03it/s]
 68%|######8   | 68/100 [00:33<00:15,  2.09it/s]
 69%|######9   | 69/100 [00:33<00:14,  2.17it/s]
 70%|#######   | 70/100 [00:34<00:14,  2.13it/s]
 71%|#######1  | 71/100 [00:34<00:13,  2.11it/s]
 72%|#######2  | 72/100 [00:35<00:13,  2.00it/s]
 73%|#######3  | 73/100 [00:35<00:12,  2.25it/s]
 74%|#######4  | 74/100 [00:36<00:12,  2.08it/s]
 75%|#######5  | 75/100 [00:36<00:11,  2.13it/s]
 76%|#######6  | 76/100 [00:37<00:11,  2.02it/s]
 77%|#######7  | 77/100 [00:37<00:10,  2.25it/s]
 78%|#######8  | 78/100 [00:38<00:10,  2.07it/s]
 79%|#######9  | 79/100 [00:38<00:09,  2.14it/s]
 80%|########  | 80/100 [00:39<00:10,  1.98it/s]
 81%|########1 | 81/100 [00:39<00:08,  2.30it/s]
 82%|########2 | 82/100 [00:40<00:08,  2.07it/s]
 83%|########2 | 83/100 [00:40<00:08,  2.11it/s]
 84%|########4 | 84/100 [00:41<00:07,  2.03it/s]
 85%|########5 | 85/100 [00:41<00:06,  2.24it/s]
 86%|########6 | 86/100 [00:41<00:06,  2.08it/s]
 87%|########7 | 87/100 [00:42<00:06,  2.15it/s]
 88%|########8 | 88/100 [00:42<00:06,  1.99it/s]
 89%|########9 | 89/100 [00:43<00:04,  2.30it/s]
 90%|######### | 90/100 [00:43<00:04,  2.07it/s]
 91%|#########1| 91/100 [00:44<00:04,  2.19it/s]
 92%|#########2| 92/100 [00:44<00:04,  2.00it/s]
 93%|#########3| 93/100 [00:45<00:03,  2.26it/s]
 94%|#########3| 94/100 [00:45<00:02,  2.05it/s]
 95%|#########5| 95/100 [00:46<00:02,  2.14it/s]
 96%|#########6| 96/100 [00:46<00:02,  1.99it/s]
 97%|#########7| 97/100 [00:46<00:01,  2.29it/s]
 98%|#########8| 98/100 [00:47<00:00,  2.09it/s]
 99%|#########9| 99/100 [00:48<00:00,  2.13it/s]
100%|##########| 100/100 [00:48<00:00,  2.33it/s]
100%|##########| 100/100 [00:48<00:00,  2.06it/s]

  0%|          | 0/100 [00:00<?, ?it/s]
  1%|1         | 1/100 [00:00<01:16,  1.30it/s]
  3%|3         | 3/100 [00:01<00:51,  1.87it/s]
  5%|5         | 5/100 [00:02<00:44,  2.15it/s]
  7%|7         | 7/100 [00:03<00:42,  2.19it/s]
  9%|9         | 9/100 [00:04<00:38,  2.36it/s]
 11%|#1        | 11/100 [00:04<00:37,  2.34it/s]
 12%|#2        | 12/100 [00:05<00:32,  2.75it/s]
 13%|#3        | 13/100 [00:05<00:37,  2.34it/s]
 15%|#5        | 15/100 [00:06<00:36,  2.32it/s]
 16%|#6        | 16/100 [00:06<00:30,  2.77it/s]
 17%|#7        | 17/100 [00:07<00:35,  2.32it/s]
 19%|#9        | 19/100 [00:08<00:35,  2.28it/s]
 21%|##1       | 21/100 [00:09<00:33,  2.37it/s]
 23%|##3       | 23/100 [00:09<00:33,  2.33it/s]
 25%|##5       | 25/100 [00:10<00:30,  2.43it/s]
 27%|##7       | 27/100 [00:11<00:30,  2.41it/s]
 29%|##9       | 29/100 [00:12<00:28,  2.48it/s]
 31%|###1      | 31/100 [00:13<00:28,  2.39it/s]
 33%|###3      | 33/100 [00:13<00:27,  2.46it/s]
 35%|###5      | 35/100 [00:14<00:27,  2.37it/s]
 37%|###7      | 37/100 [00:15<00:26,  2.35it/s]
 39%|###9      | 39/100 [00:16<00:26,  2.30it/s]
 41%|####1     | 41/100 [00:17<00:24,  2.40it/s]
 43%|####3     | 43/100 [00:18<00:24,  2.35it/s]
 45%|####5     | 45/100 [00:19<00:22,  2.41it/s]
 47%|####6     | 47/100 [00:19<00:22,  2.37it/s]
 49%|####9     | 49/100 [00:20<00:21,  2.39it/s]
 51%|#####1    | 51/100 [00:21<00:20,  2.36it/s]
 53%|#####3    | 53/100 [00:22<00:19,  2.41it/s]
 55%|#####5    | 55/100 [00:23<00:19,  2.30it/s]
 57%|#####6    | 57/100 [00:24<00:18,  2.38it/s]
 59%|#####8    | 59/100 [00:25<00:17,  2.35it/s]
 61%|######1   | 61/100 [00:25<00:16,  2.40it/s]
 63%|######3   | 63/100 [00:26<00:15,  2.37it/s]
 65%|######5   | 65/100 [00:27<00:14,  2.42it/s]
 67%|######7   | 67/100 [00:28<00:14,  2.35it/s]
 69%|######9   | 69/100 [00:29<00:12,  2.42it/s]
 71%|#######1  | 71/100 [00:30<00:12,  2.39it/s]
 73%|#######3  | 73/100 [00:30<00:10,  2.46it/s]
 75%|#######5  | 75/100 [00:31<00:10,  2.39it/s]
 77%|#######7  | 77/100 [00:32<00:09,  2.44it/s]
 79%|#######9  | 79/100 [00:33<00:08,  2.39it/s]
 81%|########1 | 81/100 [00:34<00:07,  2.46it/s]
 83%|########2 | 83/100 [00:34<00:06,  2.44it/s]
 84%|########4 | 84/100 [00:35<00:05,  2.72it/s]
 85%|########5 | 85/100 [00:35<00:06,  2.45it/s]
 86%|########6 | 86/100 [00:35<00:05,  2.71it/s]
 87%|########7 | 87/100 [00:36<00:05,  2.33it/s]
 88%|########8 | 88/100 [00:36<00:04,  2.56it/s]
 89%|########9 | 89/100 [00:37<00:04,  2.46it/s]
 90%|######### | 90/100 [00:37<00:03,  2.64it/s]
 91%|#########1| 91/100 [00:38<00:03,  2.36it/s]
 92%|#########2| 92/100 [00:38<00:03,  2.39it/s]
 93%|#########3| 93/100 [00:38<00:02,  2.41it/s]
 94%|#########3| 94/100 [00:39<00:02,  2.50it/s]
 95%|#########5| 95/100 [00:39<00:02,  2.32it/s]
 96%|#########6| 96/100 [00:40<00:01,  2.40it/s]
 97%|#########7| 97/100 [00:40<00:01,  2.47it/s]
 98%|#########8| 98/100 [00:40<00:00,  2.56it/s]
 99%|#########9| 99/100 [00:41<00:00,  2.37it/s]
100%|##########| 100/100 [00:41<00:00,  2.75it/s]
100%|##########| 100/100 [00:41<00:00,  2.40it/s]

Characterize the relative contributions of experiments in the ALE results

NiMARE contains two methods for this: Jackknife and FocusCounter. We will show both below, but for the sake of speed we will only apply one to each subgroup meta-analysis.

from nimare.diagnostics import FocusCounter

counter = FocusCounter(
    target_image="z_desc-size_level-cluster_corr-FWE_method-montecarlo",
    voxel_thresh=None,
)
knowledge_count_table, knowledge_clusters_table, _ = counter.transform(knowledge_corrected_results)

Out:

  0%|          | 0/21 [00:00<?, ?it/s]
 10%|9         | 2/21 [00:00<00:01, 13.63it/s]
 19%|#9        | 4/21 [00:00<00:01, 12.64it/s]
 29%|##8       | 6/21 [00:00<00:01, 12.31it/s]
 38%|###8      | 8/21 [00:00<00:01, 12.06it/s]
 48%|####7     | 10/21 [00:00<00:00, 11.92it/s]
 57%|#####7    | 12/21 [00:00<00:00, 11.85it/s]
 67%|######6   | 14/21 [00:01<00:00, 11.83it/s]
 76%|#######6  | 16/21 [00:01<00:00, 11.78it/s]
 86%|########5 | 18/21 [00:01<00:00, 11.76it/s]
 95%|#########5| 20/21 [00:01<00:00, 11.74it/s]
100%|##########| 21/21 [00:01<00:00, 11.91it/s]

Clusters table.

Cluster ID X Y Z Peak Stat Cluster Size (mm3)
0 PositiveTail 1 36.0 24.0 -6.0 2.326348 1128
1 PositiveTail 2 -2.0 20.0 46.0 2.326348 3472
2 PositiveTail 3 -34.0 22.0 0.0 2.326348 992
3 PositiveTail 4 -44.0 12.0 30.0 2.326348 3096
4 PositiveTail 5 -52.0 -38.0 4.0 1.880794 672
5 PositiveTail 6 54.0 -28.0 4.0 0.643345 512
6 PositiveTail 7 -6.0 -14.0 12.0 0.643345 512


Contribution table. Here PostiveTail refers to clusters with positive statistics.

id PositiveTail 1 PositiveTail 2 PositiveTail 3 PositiveTail 4 PositiveTail 5 PositiveTail 6 PositiveTail 7
0 arnoldussen2006nc- 0 0 0 1 0 0 0
1 arnoldussen2006rm- 0 0 0 1 0 0 0
2 backes2002- 0 1 0 1 0 0 0
3 balsamo2002- 0 0 0 0 1 0 0
4 balsamo2006- 0 1 0 1 0 0 0
5 bauer2017- 1 0 0 0 0 0 1
6 berl2014- 1 2 0 2 0 1 1
7 brauer2007- 0 1 0 0 0 0 0
8 gaillard2001- 0 0 0 1 0 0 0
9 gaillard2003- 1 1 0 1 0 0 0


from nimare.diagnostics import Jackknife

jackknife = Jackknife(
    target_image="z_desc-size_level-cluster_corr-FWE_method-montecarlo",
    voxel_thresh=None,
)
related_jackknife_table, _, _ = jackknife.transform(related_corrected_results)
related_jackknife_table.head(10)

Out:

  0%|          | 0/16 [00:00<?, ?it/s]
  6%|6         | 1/16 [00:01<00:28,  1.89s/it]
 12%|#2        | 2/16 [00:03<00:26,  1.91s/it]
 19%|#8        | 3/16 [00:05<00:24,  1.89s/it]
 25%|##5       | 4/16 [00:07<00:22,  1.89s/it]
 31%|###1      | 5/16 [00:09<00:20,  1.88s/it]
 38%|###7      | 6/16 [00:11<00:18,  1.87s/it]
 44%|####3     | 7/16 [00:13<00:16,  1.88s/it]
 50%|#####     | 8/16 [00:15<00:15,  1.88s/it]
 56%|#####6    | 9/16 [00:16<00:13,  1.88s/it]
 62%|######2   | 10/16 [00:18<00:11,  1.88s/it]
 69%|######8   | 11/16 [00:20<00:09,  1.88s/it]
 75%|#######5  | 12/16 [00:22<00:07,  1.87s/it]
 81%|########1 | 13/16 [00:24<00:05,  1.87s/it]
 88%|########7 | 14/16 [00:26<00:03,  1.85s/it]
 94%|#########3| 15/16 [00:28<00:01,  1.84s/it]
100%|##########| 16/16 [00:29<00:00,  1.83s/it]
100%|##########| 16/16 [00:29<00:00,  1.86s/it]
id PositiveTail 1 PositiveTail 2 PositiveTail 3 PositiveTail 4 PositiveTail 5
0 booth2001- 0.0 0.0 0.029415 0.054821 0.0
1 booth2003- 0.0 0.0 0.0 0.000008 0.0
2 booth2007- 0.021799 0.068333 0.051598 0.000028 0.000019
3 cao2008- 0.134026 0.06561 0.035607 0.094222 0.0
4 chou2006a- 0.211268 0.123099 0.000075 0.095687 0.0
5 chou2006b- 0.21024 0.117018 0.004724 0.117981 0.0
6 chou2009- 0.188491 0.1575 0.22325 0.212472 0.330668
7 chou2019- 0.0 0.061734 0.0 0.0 0.0
8 fan2020- 0.0 0.070051 0.002654 0.101595 0.0
9 lee2011aud- 0.000026 0.000246 0.164283 0.068827 0.243831


Subtraction analysis

Typically, one would use at least 10000 iterations for a subtraction analysis. However, we have reduced this to 100 iterations for this example.

from nimare.meta.cbma import ALESubtraction

sub = ALESubtraction(n_iters=100, n_cores=1)
res_sub = sub.fit(knowledge_dset, related_dset)
img_sub = res_sub.get_map("z_desc-group1MinusGroup2")

plot_stat_map(
    img_sub,
    cut_coords=4,
    display_mode="z",
    title="Subtraction",
    cmap="RdBu_r",
    vmax=4,
)
08 plot cbma subtraction conjunction

Out:

  0%|          | 0/100 [00:00<?, ?it/s]
  1%|1         | 1/100 [00:00<00:45,  2.19it/s]
  2%|2         | 2/100 [00:00<00:44,  2.19it/s]
  3%|3         | 3/100 [00:01<00:44,  2.18it/s]
  4%|4         | 4/100 [00:01<00:44,  2.17it/s]
  5%|5         | 5/100 [00:02<00:43,  2.17it/s]
  6%|6         | 6/100 [00:02<00:42,  2.19it/s]
  7%|7         | 7/100 [00:03<00:42,  2.19it/s]
  8%|8         | 8/100 [00:03<00:41,  2.19it/s]
  9%|9         | 9/100 [00:04<00:41,  2.20it/s]
 10%|#         | 10/100 [00:04<00:41,  2.19it/s]
 11%|#1        | 11/100 [00:05<00:40,  2.19it/s]
 12%|#2        | 12/100 [00:05<00:40,  2.17it/s]
 13%|#3        | 13/100 [00:05<00:40,  2.16it/s]
 14%|#4        | 14/100 [00:06<00:39,  2.17it/s]
 15%|#5        | 15/100 [00:06<00:39,  2.16it/s]
 16%|#6        | 16/100 [00:07<00:39,  2.15it/s]
 17%|#7        | 17/100 [00:07<00:38,  2.16it/s]
 18%|#8        | 18/100 [00:08<00:37,  2.17it/s]
 19%|#9        | 19/100 [00:08<00:37,  2.17it/s]
 20%|##        | 20/100 [00:09<00:36,  2.20it/s]
 21%|##1       | 21/100 [00:09<00:35,  2.20it/s]
 22%|##2       | 22/100 [00:10<00:35,  2.21it/s]
 23%|##3       | 23/100 [00:10<00:34,  2.22it/s]
 24%|##4       | 24/100 [00:10<00:34,  2.20it/s]
 25%|##5       | 25/100 [00:11<00:34,  2.19it/s]
 26%|##6       | 26/100 [00:11<00:33,  2.19it/s]
 27%|##7       | 27/100 [00:12<00:33,  2.18it/s]
 28%|##8       | 28/100 [00:12<00:33,  2.18it/s]
 29%|##9       | 29/100 [00:13<00:32,  2.19it/s]
 30%|###       | 30/100 [00:13<00:32,  2.19it/s]
 31%|###1      | 31/100 [00:14<00:31,  2.18it/s]
 32%|###2      | 32/100 [00:14<00:31,  2.17it/s]
 33%|###3      | 33/100 [00:15<00:31,  2.16it/s]
 34%|###4      | 34/100 [00:15<00:30,  2.13it/s]
 35%|###5      | 35/100 [00:16<00:30,  2.13it/s]
 36%|###6      | 36/100 [00:16<00:29,  2.14it/s]
 37%|###7      | 37/100 [00:17<00:29,  2.14it/s]
 38%|###8      | 38/100 [00:17<00:29,  2.13it/s]
 39%|###9      | 39/100 [00:17<00:28,  2.14it/s]
 40%|####      | 40/100 [00:18<00:28,  2.14it/s]
 41%|####1     | 41/100 [00:18<00:27,  2.14it/s]
 42%|####2     | 42/100 [00:19<00:27,  2.14it/s]
 43%|####3     | 43/100 [00:19<00:26,  2.15it/s]
 44%|####4     | 44/100 [00:20<00:25,  2.15it/s]
 45%|####5     | 45/100 [00:20<00:25,  2.18it/s]
 46%|####6     | 46/100 [00:21<00:24,  2.17it/s]
 47%|####6     | 47/100 [00:21<00:24,  2.16it/s]
 48%|####8     | 48/100 [00:22<00:24,  2.15it/s]
 49%|####9     | 49/100 [00:22<00:23,  2.15it/s]
 50%|#####     | 50/100 [00:23<00:23,  2.14it/s]
 51%|#####1    | 51/100 [00:23<00:23,  2.13it/s]
 52%|#####2    | 52/100 [00:23<00:22,  2.16it/s]
 53%|#####3    | 53/100 [00:24<00:21,  2.18it/s]
 54%|#####4    | 54/100 [00:24<00:21,  2.18it/s]
 55%|#####5    | 55/100 [00:25<00:20,  2.16it/s]
 56%|#####6    | 56/100 [00:25<00:20,  2.13it/s]
 57%|#####6    | 57/100 [00:26<00:20,  2.14it/s]
 58%|#####8    | 58/100 [00:26<00:19,  2.14it/s]
 59%|#####8    | 59/100 [00:27<00:19,  2.14it/s]
 60%|######    | 60/100 [00:27<00:18,  2.16it/s]
 61%|######1   | 61/100 [00:28<00:18,  2.16it/s]
 62%|######2   | 62/100 [00:28<00:17,  2.15it/s]
 63%|######3   | 63/100 [00:29<00:17,  2.14it/s]
 64%|######4   | 64/100 [00:29<00:16,  2.14it/s]
 65%|######5   | 65/100 [00:30<00:16,  2.14it/s]
 66%|######6   | 66/100 [00:30<00:15,  2.13it/s]
 67%|######7   | 67/100 [00:30<00:15,  2.12it/s]
 68%|######8   | 68/100 [00:31<00:15,  2.13it/s]
 69%|######9   | 69/100 [00:31<00:14,  2.13it/s]
 70%|#######   | 70/100 [00:32<00:14,  2.13it/s]
 71%|#######1  | 71/100 [00:32<00:13,  2.12it/s]
 72%|#######2  | 72/100 [00:33<00:13,  2.12it/s]
 73%|#######3  | 73/100 [00:33<00:12,  2.11it/s]
 74%|#######4  | 74/100 [00:34<00:12,  2.09it/s]
 75%|#######5  | 75/100 [00:34<00:12,  2.08it/s]
 76%|#######6  | 76/100 [00:35<00:11,  2.03it/s]
 77%|#######7  | 77/100 [00:35<00:11,  2.07it/s]
 78%|#######8  | 78/100 [00:36<00:10,  2.11it/s]
 79%|#######9  | 79/100 [00:36<00:09,  2.13it/s]
 80%|########  | 80/100 [00:37<00:09,  2.13it/s]
 81%|########1 | 81/100 [00:37<00:08,  2.14it/s]
 82%|########2 | 82/100 [00:38<00:08,  2.13it/s]
 83%|########2 | 83/100 [00:38<00:07,  2.14it/s]
 84%|########4 | 84/100 [00:39<00:07,  2.15it/s]
 85%|########5 | 85/100 [00:39<00:06,  2.15it/s]
 86%|########6 | 86/100 [00:39<00:06,  2.14it/s]
 87%|########7 | 87/100 [00:40<00:06,  2.14it/s]
 88%|########8 | 88/100 [00:40<00:05,  2.14it/s]
 89%|########9 | 89/100 [00:41<00:05,  2.14it/s]
 90%|######### | 90/100 [00:41<00:04,  2.13it/s]
 91%|#########1| 91/100 [00:42<00:04,  2.16it/s]
 92%|#########2| 92/100 [00:42<00:03,  2.15it/s]
 93%|#########3| 93/100 [00:43<00:03,  2.17it/s]
 94%|#########3| 94/100 [00:43<00:02,  2.17it/s]
 95%|#########5| 95/100 [00:44<00:02,  2.15it/s]
 96%|#########6| 96/100 [00:44<00:01,  2.16it/s]
 97%|#########7| 97/100 [00:45<00:01,  2.17it/s]
 98%|#########8| 98/100 [00:45<00:00,  2.16it/s]
 99%|#########9| 99/100 [00:45<00:00,  2.17it/s]
100%|##########| 100/100 [00:46<00:00,  2.20it/s]
100%|##########| 100/100 [00:46<00:00,  2.15it/s]

  0%|          | 0/228483 [00:00<?, ?it/s]
  0%|          | 973/228483 [00:00<00:23, 9720.97it/s]
  1%|          | 1961/228483 [00:00<00:23, 9810.90it/s]
  1%|1         | 2949/228483 [00:00<00:22, 9842.12it/s]
  2%|1         | 3934/228483 [00:00<00:22, 9843.38it/s]
  2%|2         | 4919/228483 [00:00<00:22, 9789.07it/s]
  3%|2         | 5904/228483 [00:00<00:22, 9809.03it/s]
  3%|3         | 6885/228483 [00:00<00:22, 9763.62it/s]
  3%|3         | 7872/228483 [00:00<00:22, 9795.45it/s]
  4%|3         | 8852/228483 [00:00<00:22, 9766.20it/s]
  4%|4         | 9836/228483 [00:01<00:22, 9787.10it/s]
  5%|4         | 10827/228483 [00:01<00:22, 9823.27it/s]
  5%|5         | 11810/228483 [00:01<00:22, 9814.00it/s]
  6%|5         | 12792/228483 [00:01<00:22, 9800.98it/s]
  6%|6         | 13773/228483 [00:01<00:21, 9765.41it/s]
  6%|6         | 14751/228483 [00:01<00:21, 9769.16it/s]
  7%|6         | 15741/228483 [00:01<00:21, 9805.96it/s]
  7%|7         | 16737/228483 [00:01<00:21, 9849.25it/s]
  8%|7         | 17727/228483 [00:01<00:21, 9862.24it/s]
  8%|8         | 18724/228483 [00:01<00:21, 9892.50it/s]
  9%|8         | 19714/228483 [00:02<00:21, 9864.03it/s]
  9%|9         | 20701/228483 [00:02<00:21, 9846.97it/s]
  9%|9         | 21686/228483 [00:02<00:21, 9830.92it/s]
 10%|9         | 22670/228483 [00:02<00:20, 9829.88it/s]
 10%|#         | 23653/228483 [00:02<00:20, 9813.24it/s]
 11%|#         | 24635/228483 [00:02<00:20, 9793.32it/s]
 11%|#1        | 25615/228483 [00:02<00:20, 9785.68it/s]
 12%|#1        | 26594/228483 [00:02<00:20, 9743.35it/s]
 12%|#2        | 27583/228483 [00:02<00:20, 9785.12it/s]
 13%|#2        | 28562/228483 [00:02<00:20, 9748.64it/s]
 13%|#2        | 29543/228483 [00:03<00:20, 9764.56it/s]
 13%|#3        | 30530/228483 [00:03<00:20, 9795.98it/s]
 14%|#3        | 31510/228483 [00:03<00:20, 9761.45it/s]
 14%|#4        | 32487/228483 [00:03<00:29, 6724.05it/s]
 15%|#4        | 33464/228483 [00:03<00:26, 7414.22it/s]
 15%|#5        | 34444/228483 [00:03<00:24, 7998.01it/s]
 16%|#5        | 35430/228483 [00:03<00:22, 8478.48it/s]
 16%|#5        | 36403/228483 [00:03<00:21, 8815.23it/s]
 16%|#6        | 37388/228483 [00:03<00:20, 9103.31it/s]
 17%|#6        | 38351/228483 [00:04<00:20, 9251.47it/s]
 17%|#7        | 39335/228483 [00:04<00:20, 9420.43it/s]
 18%|#7        | 40305/228483 [00:04<00:19, 9501.98it/s]
 18%|#8        | 41291/228483 [00:04<00:19, 9606.64it/s]
 18%|#8        | 42263/228483 [00:04<00:19, 9587.76it/s]
 19%|#8        | 43238/228483 [00:04<00:19, 9635.67it/s]
 19%|#9        | 44207/228483 [00:04<00:19, 9608.77it/s]
 20%|#9        | 45192/228483 [00:04<00:18, 9679.23it/s]
 20%|##        | 46163/228483 [00:04<00:18, 9660.61it/s]
 21%|##        | 47132/228483 [00:04<00:18, 9667.63it/s]
 21%|##1       | 48110/228483 [00:05<00:18, 9700.85it/s]
 21%|##1       | 49097/228483 [00:05<00:18, 9750.48it/s]
 22%|##1       | 50073/228483 [00:05<00:18, 9692.32it/s]
 22%|##2       | 51051/228483 [00:05<00:18, 9718.32it/s]
 23%|##2       | 52024/228483 [00:05<00:18, 9667.94it/s]
 23%|##3       | 53007/228483 [00:05<00:18, 9715.57it/s]
 24%|##3       | 53990/228483 [00:05<00:17, 9748.77it/s]
 24%|##4       | 54978/228483 [00:05<00:17, 9785.17it/s]
 24%|##4       | 55965/228483 [00:05<00:17, 9809.44it/s]
 25%|##4       | 56947/228483 [00:05<00:17, 9801.08it/s]
 25%|##5       | 57928/228483 [00:06<00:17, 9803.10it/s]
 26%|##5       | 58914/228483 [00:06<00:17, 9818.92it/s]
 26%|##6       | 59896/228483 [00:06<00:17, 9807.61it/s]
 27%|##6       | 60879/228483 [00:06<00:17, 9812.75it/s]
 27%|##7       | 61861/228483 [00:06<00:17, 9769.16it/s]
 28%|##7       | 62840/228483 [00:06<00:16, 9774.25it/s]
 28%|##7       | 63818/228483 [00:06<00:16, 9757.47it/s]
 28%|##8       | 64800/228483 [00:06<00:16, 9775.56it/s]
 29%|##8       | 65778/228483 [00:06<00:16, 9769.56it/s]
 29%|##9       | 66755/228483 [00:06<00:16, 9734.00it/s]
 30%|##9       | 67752/228483 [00:07<00:16, 9802.40it/s]
 30%|###       | 68740/228483 [00:07<00:16, 9820.96it/s]
 31%|###       | 69723/228483 [00:07<00:16, 9743.28it/s]
 31%|###       | 70706/228483 [00:07<00:16, 9766.94it/s]
 31%|###1      | 71683/228483 [00:07<00:23, 6549.39it/s]
 32%|###1      | 72684/228483 [00:07<00:21, 7318.47it/s]
 32%|###2      | 73662/228483 [00:07<00:19, 7910.52it/s]
 33%|###2      | 74656/228483 [00:07<00:18, 8428.65it/s]
 33%|###3      | 75626/228483 [00:08<00:17, 8768.11it/s]
 34%|###3      | 76626/228483 [00:08<00:16, 9106.59it/s]
 34%|###3      | 77611/228483 [00:08<00:16, 9316.79it/s]
 34%|###4      | 78588/228483 [00:08<00:15, 9446.45it/s]
 35%|###4      | 79557/228483 [00:08<00:15, 9512.87it/s]
 35%|###5      | 80549/228483 [00:08<00:15, 9632.46it/s]
 36%|###5      | 81525/228483 [00:08<00:15, 9666.60it/s]
 36%|###6      | 82500/228483 [00:08<00:15, 9665.38it/s]
 37%|###6      | 83495/228483 [00:08<00:14, 9749.09it/s]
 37%|###6      | 84475/228483 [00:08<00:14, 9683.33it/s]
 37%|###7      | 85479/228483 [00:09<00:14, 9787.02it/s]
 38%|###7      | 86460/228483 [00:09<00:14, 9793.15it/s]
 38%|###8      | 87441/228483 [00:09<00:14, 9740.63it/s]
 39%|###8      | 88425/228483 [00:09<00:14, 9767.45it/s]
 39%|###9      | 89403/228483 [00:09<00:14, 9729.57it/s]
 40%|###9      | 90391/228483 [00:09<00:14, 9772.39it/s]
 40%|###9      | 91373/228483 [00:09<00:14, 9785.81it/s]
 40%|####      | 92365/228483 [00:09<00:13, 9824.51it/s]
 41%|####      | 93350/228483 [00:09<00:13, 9831.26it/s]
 41%|####1     | 94350/228483 [00:09<00:13, 9879.61it/s]
 42%|####1     | 95339/228483 [00:10<00:13, 9813.54it/s]
 42%|####2     | 96331/228483 [00:10<00:13, 9842.61it/s]
 43%|####2     | 97316/228483 [00:10<00:13, 9815.97it/s]
 43%|####3     | 98315/228483 [00:10<00:13, 9866.82it/s]
 43%|####3     | 99302/228483 [00:10<00:13, 9802.66it/s]
 44%|####3     | 100283/228483 [00:10<00:13, 9779.74it/s]
 44%|####4     | 101262/228483 [00:10<00:13, 9737.80it/s]
 45%|####4     | 102251/228483 [00:10<00:12, 9781.33it/s]
 45%|####5     | 103239/228483 [00:10<00:12, 9808.89it/s]
 46%|####5     | 104220/228483 [00:10<00:12, 9734.96it/s]
 46%|####6     | 105207/228483 [00:11<00:12, 9773.58it/s]
 46%|####6     | 106197/228483 [00:11<00:12, 9810.00it/s]
 47%|####6     | 107179/228483 [00:11<00:12, 9791.84it/s]
 47%|####7     | 108159/228483 [00:11<00:12, 9780.15it/s]
 48%|####7     | 109138/228483 [00:11<00:12, 9697.60it/s]
 48%|####8     | 110130/228483 [00:11<00:12, 9761.33it/s]
 49%|####8     | 111128/228483 [00:11<00:11, 9826.42it/s]
 49%|####9     | 112112/228483 [00:11<00:11, 9828.21it/s]
 49%|####9     | 113095/228483 [00:11<00:11, 9808.81it/s]
 50%|####9     | 114086/228483 [00:11<00:11, 9838.24it/s]
 50%|#####     | 115077/228483 [00:12<00:11, 9859.27it/s]
 51%|#####     | 116063/228483 [00:12<00:11, 9846.63it/s]
 51%|#####1    | 117048/228483 [00:12<00:11, 9815.42it/s]
 52%|#####1    | 118031/228483 [00:12<00:11, 9818.63it/s]
 52%|#####2    | 119013/228483 [00:12<00:11, 9801.93it/s]
 53%|#####2    | 119996/228483 [00:12<00:11, 9809.09it/s]
 53%|#####2    | 120977/228483 [00:12<00:11, 9727.15it/s]
 53%|#####3    | 121950/228483 [00:12<00:16, 6287.21it/s]
 54%|#####3    | 122947/228483 [00:13<00:14, 7081.33it/s]
 54%|#####4    | 123940/228483 [00:13<00:13, 7750.61it/s]
 55%|#####4    | 124895/228483 [00:13<00:12, 8203.41it/s]
 55%|#####5    | 125876/228483 [00:13<00:11, 8628.23it/s]
 56%|#####5    | 126836/228483 [00:13<00:11, 8894.44it/s]
 56%|#####5    | 127831/228483 [00:13<00:10, 9190.82it/s]
 56%|#####6    | 128816/228483 [00:13<00:10, 9377.45it/s]
 57%|#####6    | 129805/228483 [00:13<00:10, 9523.27it/s]
 57%|#####7    | 130793/228483 [00:13<00:10, 9625.13it/s]
 58%|#####7    | 131793/228483 [00:13<00:09, 9733.71it/s]
 58%|#####8    | 132777/228483 [00:14<00:09, 9748.71it/s]
 59%|#####8    | 133759/228483 [00:14<00:09, 9745.91it/s]
 59%|#####8    | 134746/228483 [00:14<00:09, 9780.99it/s]
 59%|#####9    | 135731/228483 [00:14<00:09, 9800.94it/s]
 60%|#####9    | 136714/228483 [00:14<00:09, 9753.48it/s]
 60%|######    | 137692/228483 [00:14<00:09, 9757.09it/s]
 61%|######    | 138669/228483 [00:14<00:09, 9702.48it/s]
 61%|######1   | 139658/228483 [00:14<00:09, 9756.30it/s]
 62%|######1   | 140641/228483 [00:14<00:08, 9776.78it/s]
 62%|######1   | 141620/228483 [00:14<00:08, 9757.95it/s]
 62%|######2   | 142597/228483 [00:15<00:08, 9749.17it/s]
 63%|######2   | 143588/228483 [00:15<00:08, 9794.98it/s]
 63%|######3   | 144568/228483 [00:15<00:08, 9749.87it/s]
 64%|######3   | 145558/228483 [00:15<00:08, 9794.36it/s]
 64%|######4   | 146538/228483 [00:15<00:08, 9710.10it/s]
 65%|######4   | 147516/228483 [00:15<00:08, 9729.06it/s]
 65%|######4   | 148504/228483 [00:15<00:08, 9773.17it/s]
 65%|######5   | 149494/228483 [00:15<00:08, 9809.43it/s]
 66%|######5   | 150485/228483 [00:15<00:07, 9836.23it/s]
 66%|######6   | 151469/228483 [00:15<00:07, 9808.31it/s]
 67%|######6   | 152450/228483 [00:16<00:07, 9801.35it/s]
 67%|######7   | 153440/228483 [00:16<00:07, 9828.15it/s]
 68%|######7   | 154424/228483 [00:16<00:07, 9829.72it/s]
 68%|######8   | 155408/228483 [00:16<00:07, 9817.69it/s]
 68%|######8   | 156390/228483 [00:16<00:07, 9752.28it/s]
 69%|######8   | 157372/228483 [00:16<00:07, 9771.75it/s]
 69%|######9   | 158350/228483 [00:16<00:07, 9740.24it/s]
 70%|######9   | 159326/228483 [00:16<00:07, 9745.32it/s]
 70%|#######   | 160301/228483 [00:16<00:07, 9727.78it/s]
 71%|#######   | 161274/228483 [00:16<00:06, 9695.25it/s]
 71%|#######1  | 162254/228483 [00:17<00:06, 9724.02it/s]
 71%|#######1  | 163234/228483 [00:17<00:06, 9744.63it/s]
 72%|#######1  | 164209/228483 [00:17<00:06, 9689.01it/s]
 72%|#######2  | 165178/228483 [00:17<00:06, 9687.90it/s]
 73%|#######2  | 166147/228483 [00:17<00:06, 9632.23it/s]
 73%|#######3  | 167133/228483 [00:17<00:06, 9699.49it/s]
 74%|#######3  | 168111/228483 [00:17<00:06, 9722.47it/s]
 74%|#######4  | 169088/228483 [00:17<00:06, 9736.05it/s]
 74%|#######4  | 170070/228483 [00:17<00:05, 9759.28it/s]
 75%|#######4  | 171052/228483 [00:17<00:05, 9776.61it/s]
 75%|#######5  | 172030/228483 [00:18<00:05, 9737.24it/s]
 76%|#######5  | 173006/228483 [00:18<00:05, 9741.47it/s]
 76%|#######6  | 173984/228483 [00:18<00:05, 9750.42it/s]
 77%|#######6  | 174962/228483 [00:18<00:05, 9757.50it/s]
 77%|#######7  | 175938/228483 [00:18<00:05, 9686.75it/s]
 77%|#######7  | 176911/228483 [00:18<00:05, 9699.28it/s]
 78%|#######7  | 177882/228483 [00:18<00:05, 9649.60it/s]
 78%|#######8  | 178859/228483 [00:18<00:05, 9684.27it/s]
 79%|#######8  | 179828/228483 [00:18<00:05, 9664.95it/s]
 79%|#######9  | 180795/228483 [00:18<00:04, 9660.16it/s]
 80%|#######9  | 181772/228483 [00:19<00:04, 9690.69it/s]
 80%|#######9  | 182750/228483 [00:19<00:04, 9716.07it/s]
 80%|########  | 183722/228483 [00:19<00:04, 9675.74it/s]
 81%|########  | 184690/228483 [00:19<00:07, 5618.09it/s]
 81%|########1 | 185671/228483 [00:19<00:06, 6449.34it/s]
 82%|########1 | 186640/228483 [00:19<00:05, 7163.75it/s]
 82%|########2 | 187621/228483 [00:19<00:05, 7797.17it/s]
 83%|########2 | 188594/228483 [00:20<00:04, 8289.03it/s]
 83%|########2 | 189566/228483 [00:20<00:04, 8669.44it/s]
 83%|########3 | 190537/228483 [00:20<00:04, 8955.33it/s]
 84%|########3 | 191513/228483 [00:20<00:04, 9180.90it/s]
 84%|########4 | 192475/228483 [00:20<00:03, 9304.58it/s]
 85%|########4 | 193436/228483 [00:20<00:03, 9390.95it/s]
 85%|########5 | 194406/228483 [00:20<00:03, 9480.14it/s]
 86%|########5 | 195368/228483 [00:20<00:03, 9489.97it/s]
 86%|########5 | 196340/228483 [00:20<00:03, 9556.17it/s]
 86%|########6 | 197303/228483 [00:20<00:03, 9544.21it/s]
 87%|########6 | 198271/228483 [00:21<00:03, 9583.52it/s]
 87%|########7 | 199244/228483 [00:21<00:03, 9625.96it/s]
 88%|########7 | 200209/228483 [00:21<00:02, 9608.96it/s]
 88%|########8 | 201173/228483 [00:21<00:02, 9618.01it/s]
 88%|########8 | 202136/228483 [00:21<00:02, 9597.17it/s]
 89%|########8 | 203097/228483 [00:21<00:02, 9588.81it/s]
 89%|########9 | 204071/228483 [00:21<00:02, 9632.75it/s]
 90%|########9 | 205046/228483 [00:21<00:02, 9666.74it/s]
 90%|######### | 206024/228483 [00:21<00:02, 9698.75it/s]
 91%|######### | 206995/228483 [00:21<00:02, 9698.60it/s]
 91%|#########1| 207969/228483 [00:22<00:02, 9710.42it/s]
 91%|#########1| 208941/228483 [00:22<00:02, 9685.91it/s]
 92%|#########1| 209910/228483 [00:22<00:01, 9660.51it/s]
 92%|#########2| 210883/228483 [00:22<00:01, 9681.14it/s]
 93%|#########2| 211852/228483 [00:22<00:01, 9665.15it/s]
 93%|#########3| 212819/228483 [00:22<00:01, 9650.78it/s]
 94%|#########3| 213785/228483 [00:22<00:01, 9646.30it/s]
 94%|#########3| 214750/228483 [00:22<00:01, 9611.65it/s]
 94%|#########4| 215715/228483 [00:22<00:01, 9621.86it/s]
 95%|#########4| 216678/228483 [00:22<00:01, 9588.57it/s]
 95%|#########5| 217644/228483 [00:23<00:01, 9608.11it/s]
 96%|#########5| 218618/228483 [00:23<00:01, 9647.21it/s]
 96%|#########6| 219583/228483 [00:23<00:00, 9619.20it/s]
 97%|#########6| 220547/228483 [00:23<00:00, 9625.05it/s]
 97%|#########6| 221510/228483 [00:23<00:00, 9595.75it/s]
 97%|#########7| 222473/228483 [00:23<00:00, 9604.19it/s]
 98%|#########7| 223450/228483 [00:23<00:00, 9652.21it/s]
 98%|#########8| 224431/228483 [00:23<00:00, 9697.72it/s]
 99%|#########8| 225405/228483 [00:23<00:00, 9708.14it/s]
 99%|#########9| 226379/228483 [00:23<00:00, 9716.54it/s]
100%|#########9| 227356/228483 [00:24<00:00, 9731.81it/s]
100%|#########9| 228330/228483 [00:24<00:00, 9706.98it/s]
100%|##########| 228483/228483 [00:31<00:00, 7296.27it/s]

<nilearn.plotting.displays._slicers.ZSlicer object at 0x7fcacc5783d0>

Conjunction analysis

To determine the overlap of the meta-analytic results, a conjunction image can be computed by (a) identifying voxels that were statistically significant in both individual group maps and (b) selecting, for each of these voxels, the smaller of the two group-specific z values Nichols et al.[2]. Since this is simple arithmetic on images, conjunction is not implemented as a separate method in NiMARE but can easily be achieved with nilearn.image.math_img().

from nilearn.image import math_img

formula = "np.where(img1 * img2 > 0, np.minimum(img1, img2), 0)"
img_conj = math_img(formula, img1=knowledge_img, img2=related_img)

plot_stat_map(
    img_conj,
    cut_coords=4,
    display_mode="z",
    title="Conjunction",
    threshold=2.326,  # cluster-level p < .01, one-tailed
    cmap="RdBu_r",
    vmax=4,
)
08 plot cbma subtraction conjunction

Out:

<nilearn.plotting.displays._slicers.ZSlicer object at 0x7fcacc6c30d0>

References

Total running time of the script: ( 3 minutes 47.397 seconds)

Gallery generated by Sphinx-Gallery