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

  0%|          | 0/100 [00:00<?, ?it/s]
  1%|1         | 1/100 [00:00<01:24,  1.18it/s]
  3%|3         | 3/100 [00:01<00:52,  1.86it/s]
  5%|5         | 5/100 [00:02<00:43,  2.20it/s]
  7%|7         | 7/100 [00:03<00:41,  2.23it/s]
  9%|9         | 9/100 [00:04<00:38,  2.37it/s]
 11%|#1        | 11/100 [00:04<00:38,  2.32it/s]
 13%|#3        | 13/100 [00:05<00:36,  2.39it/s]
 15%|#5        | 15/100 [00:06<00:35,  2.36it/s]
 17%|#7        | 17/100 [00:07<00:33,  2.47it/s]
 19%|#9        | 19/100 [00:08<00:33,  2.38it/s]
 21%|##1       | 21/100 [00:09<00:32,  2.44it/s]
 23%|##3       | 23/100 [00:09<00:32,  2.36it/s]
 25%|##5       | 25/100 [00:10<00:30,  2.45it/s]
 27%|##7       | 27/100 [00:11<00:30,  2.38it/s]
 29%|##9       | 29/100 [00:12<00:29,  2.42it/s]
 31%|###1      | 31/100 [00:13<00:28,  2.38it/s]
 33%|###3      | 33/100 [00:14<00:27,  2.44it/s]
 35%|###5      | 35/100 [00:14<00:27,  2.33it/s]
 37%|###7      | 37/100 [00:15<00:25,  2.43it/s]
 39%|###9      | 39/100 [00:16<00:26,  2.33it/s]
 41%|####1     | 41/100 [00:17<00:24,  2.44it/s]
 43%|####3     | 43/100 [00:18<00:23,  2.38it/s]
 45%|####5     | 45/100 [00:19<00:22,  2.46it/s]
 47%|####6     | 47/100 [00:19<00:22,  2.40it/s]
 49%|####9     | 49/100 [00:20<00:20,  2.43it/s]
 51%|#####1    | 51/100 [00:21<00:20,  2.35it/s]
 53%|#####3    | 53/100 [00:22<00:19,  2.42it/s]
 55%|#####5    | 55/100 [00:23<00:18,  2.40it/s]
 57%|#####6    | 57/100 [00:23<00:17,  2.50it/s]
 59%|#####8    | 59/100 [00:24<00:16,  2.42it/s]
 61%|######1   | 61/100 [00:25<00:15,  2.45it/s]
 63%|######3   | 63/100 [00:26<00:15,  2.40it/s]
 65%|######5   | 65/100 [00:27<00:14,  2.45it/s]
 67%|######7   | 67/100 [00:28<00:14,  2.34it/s]
 69%|######9   | 69/100 [00:29<00:12,  2.41it/s]
 71%|#######1  | 71/100 [00:29<00:12,  2.40it/s]
 73%|#######3  | 73/100 [00:30<00:11,  2.43it/s]
 75%|#######5  | 75/100 [00:31<00:10,  2.40it/s]
 77%|#######7  | 77/100 [00:32<00:09,  2.49it/s]
 79%|#######9  | 79/100 [00:33<00:08,  2.42it/s]
 81%|########1 | 81/100 [00:33<00:07,  2.51it/s]
 83%|########2 | 83/100 [00:34<00:06,  2.46it/s]
 85%|########5 | 85/100 [00:35<00:05,  2.53it/s]
 87%|########7 | 87/100 [00:36<00:05,  2.45it/s]
 89%|########9 | 89/100 [00:37<00:04,  2.53it/s]
 91%|#########1| 91/100 [00:37<00:03,  2.46it/s]
 93%|#########3| 93/100 [00:38<00:02,  2.52it/s]
 95%|#########5| 95/100 [00:39<00:02,  2.47it/s]
 96%|#########6| 96/100 [00:39<00:01,  2.82it/s]
 97%|#########7| 97/100 [00:40<00:01,  2.42it/s]
 99%|#########9| 99/100 [00:41<00:00,  2.38it/s]
100%|##########| 100/100 [00:41<00:00,  2.42it/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, _ = counter.transform(knowledge_corrected_results)
knowledge_count_table.head(10)

Out:

  0%|          | 0/21 [00:00<?, ?it/s]
 10%|9         | 2/21 [00:00<00:01, 18.60it/s]
 19%|#9        | 4/21 [00:00<00:00, 18.42it/s]
 29%|##8       | 6/21 [00:00<00:00, 18.51it/s]
 38%|###8      | 8/21 [00:00<00:00, 18.60it/s]
 48%|####7     | 10/21 [00:00<00:00, 18.58it/s]
 57%|#####7    | 12/21 [00:00<00:00, 18.59it/s]
 67%|######6   | 14/21 [00:00<00:00, 18.58it/s]
 76%|#######6  | 16/21 [00:00<00:00, 18.64it/s]
 86%|########5 | 18/21 [00:00<00:00, 18.70it/s]
 95%|#########5| 20/21 [00:01<00:00, 18.75it/s]
100%|##########| 21/21 [00:01<00:00, 18.64it/s]
1 2 3 4 5 6 7
Cluster ID
Center of Mass (54, -28, 2) (38, 22, -8) (0, 20, 46) (-6, -14, 12) (-34, 20, -2) (-42, 10, 28) (-52, -38, 4)
arnoldussen2006nc- 0 0 0 0 0 1 0
arnoldussen2006rm- 0 0 0 0 0 1 0
backes2002- 0 0 1 0 0 1 0
balsamo2002- 0 0 0 0 0 0 1
balsamo2006- 0 0 1 0 0 1 0
bauer2017- 0 1 0 1 0 0 0
berl2014- 1 1 2 1 0 2 0
brauer2007- 0 0 1 0 0 0 0
gaillard2001- 0 0 0 0 0 1 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:23,  1.54s/it]
 12%|#2        | 2/16 [00:03<00:21,  1.55s/it]
 19%|#8        | 3/16 [00:04<00:20,  1.55s/it]
 25%|##5       | 4/16 [00:06<00:18,  1.55s/it]
 31%|###1      | 5/16 [00:07<00:16,  1.54s/it]
 38%|###7      | 6/16 [00:09<00:15,  1.56s/it]
 44%|####3     | 7/16 [00:10<00:14,  1.56s/it]
 50%|#####     | 8/16 [00:12<00:12,  1.55s/it]
 56%|#####6    | 9/16 [00:13<00:10,  1.55s/it]
 62%|######2   | 10/16 [00:15<00:09,  1.54s/it]
 69%|######8   | 11/16 [00:17<00:07,  1.54s/it]
 75%|#######5  | 12/16 [00:18<00:06,  1.55s/it]
 81%|########1 | 13/16 [00:20<00:04,  1.55s/it]
 88%|########7 | 14/16 [00:21<00:03,  1.55s/it]
 94%|#########3| 15/16 [00:23<00:01,  1.53s/it]
100%|##########| 16/16 [00:24<00:00,  1.53s/it]
100%|##########| 16/16 [00:24<00:00,  1.54s/it]
1 2 3 4 5
Cluster ID
Center of Mass (38, 22, -8) (-4, 16, 50) (-10, 6, 4) (-46, 22, 8) (-56, -44, 0)
booth2001- 0.0 0.0 0.0 0.029415 0.054821
booth2003- 0.0 0.0 0.0 0.0 0.000008
booth2007- 0.021799 0.068333 0.000019 0.051598 0.000028
cao2008- 0.134026 0.06561 0.0 0.035607 0.094222
chou2006a- 0.211268 0.123099 0.0 0.000075 0.095687
chou2006b- 0.21024 0.117018 0.0 0.004724 0.117981
chou2009- 0.188491 0.1575 0.330668 0.22325 0.212472
chou2019- 0.0 0.061734 0.0 0.0 0.0
fan2020- 0.0 0.070051 0.0 0.002654 0.101595


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

  0%|          | 0/228483 [00:00<?, ?it/s]
  0%|          | 891/228483 [00:00<00:25, 8908.90it/s]
  1%|          | 1804/228483 [00:00<00:25, 9036.64it/s]
  1%|1         | 2710/228483 [00:00<00:24, 9043.19it/s]
  2%|1         | 3615/228483 [00:00<00:25, 8943.78it/s]
  2%|1         | 4516/228483 [00:00<00:24, 8963.97it/s]
  2%|2         | 5426/228483 [00:00<00:24, 9007.94it/s]
  3%|2         | 6327/228483 [00:00<00:25, 8861.26it/s]
  3%|3         | 7217/228483 [00:00<00:24, 8872.52it/s]
  4%|3         | 8120/228483 [00:00<00:24, 8919.82it/s]
  4%|3         | 9020/228483 [00:01<00:24, 8944.29it/s]
  4%|4         | 9941/228483 [00:01<00:24, 9023.51it/s]
  5%|4         | 10855/228483 [00:01<00:24, 9057.96it/s]
  5%|5         | 11765/228483 [00:01<00:23, 9068.25it/s]
  6%|5         | 12673/228483 [00:01<00:23, 9071.26it/s]
  6%|5         | 13581/228483 [00:01<00:23, 9016.24it/s]
  6%|6         | 14487/228483 [00:01<00:23, 9028.29it/s]
  7%|6         | 15390/228483 [00:01<00:23, 9024.99it/s]
  7%|7         | 16293/228483 [00:01<00:23, 9017.76it/s]
  8%|7         | 17204/228483 [00:01<00:23, 9043.49it/s]
  8%|7         | 18109/228483 [00:02<00:23, 9040.70it/s]
  8%|8         | 19016/228483 [00:02<00:23, 9047.18it/s]
  9%|8         | 19930/228483 [00:02<00:22, 9072.30it/s]
  9%|9         | 20847/228483 [00:02<00:22, 9099.01it/s]
 10%|9         | 21757/228483 [00:02<00:22, 9058.94it/s]
 10%|9         | 22663/228483 [00:02<00:22, 9057.97it/s]
 10%|#         | 23571/228483 [00:02<00:22, 9063.12it/s]
 11%|#         | 24478/228483 [00:02<00:22, 8917.41it/s]
 11%|#1        | 25376/228483 [00:02<00:22, 8934.93it/s]
 12%|#1        | 26287/228483 [00:02<00:22, 8984.52it/s]
 12%|#1        | 27186/228483 [00:03<00:22, 8968.94it/s]
 12%|#2        | 28097/228483 [00:03<00:22, 9010.64it/s]
 13%|#2        | 29008/228483 [00:03<00:22, 9039.68it/s]
 13%|#3        | 29914/228483 [00:03<00:21, 9042.98it/s]
 13%|#3        | 30827/228483 [00:03<00:21, 9066.12it/s]
 14%|#3        | 31734/228483 [00:03<00:21, 9035.83it/s]
 14%|#4        | 32638/228483 [00:03<00:21, 9009.55it/s]
 15%|#4        | 33543/228483 [00:03<00:21, 9019.52it/s]
 15%|#5        | 34445/228483 [00:03<00:30, 6307.89it/s]
 15%|#5        | 35329/228483 [00:04<00:28, 6890.18it/s]
 16%|#5        | 36211/228483 [00:04<00:26, 7365.80it/s]
 16%|#6        | 37089/228483 [00:04<00:24, 7733.49it/s]
 17%|#6        | 37964/228483 [00:04<00:23, 8009.19it/s]
 17%|#7        | 38849/228483 [00:04<00:23, 8242.18it/s]
 17%|#7        | 39730/228483 [00:04<00:22, 8403.10it/s]
 18%|#7        | 40599/228483 [00:04<00:22, 8485.09it/s]
 18%|#8        | 41465/228483 [00:04<00:22, 8481.14it/s]
 19%|#8        | 42337/228483 [00:04<00:21, 8548.67it/s]
 19%|#8        | 43218/228483 [00:04<00:21, 8625.77it/s]
 19%|#9        | 44100/228483 [00:05<00:21, 8682.18it/s]
 20%|#9        | 44991/228483 [00:05<00:20, 8747.38it/s]
 20%|##        | 45871/228483 [00:05<00:20, 8761.10it/s]
 20%|##        | 46770/228483 [00:05<00:20, 8828.73it/s]
 21%|##        | 47657/228483 [00:05<00:20, 8841.07it/s]
 21%|##1       | 48548/228483 [00:05<00:20, 8859.66it/s]
 22%|##1       | 49435/228483 [00:05<00:20, 8857.27it/s]
 22%|##2       | 50323/228483 [00:05<00:20, 8863.76it/s]
 22%|##2       | 51210/228483 [00:05<00:20, 8857.63it/s]
 23%|##2       | 52104/228483 [00:05<00:19, 8879.99it/s]
 23%|##3       | 52999/228483 [00:06<00:19, 8900.92it/s]
 24%|##3       | 53893/228483 [00:06<00:19, 8909.64it/s]
 24%|##3       | 54785/228483 [00:06<00:19, 8901.08it/s]
 24%|##4       | 55676/228483 [00:06<00:19, 8752.84it/s]
 25%|##4       | 56552/228483 [00:06<00:19, 8752.23it/s]
 25%|##5       | 57444/228483 [00:06<00:19, 8800.38it/s]
 26%|##5       | 58325/228483 [00:06<00:19, 8703.33it/s]
 26%|##5       | 59196/228483 [00:06<00:19, 8666.48it/s]
 26%|##6       | 60082/228483 [00:06<00:19, 8722.43it/s]
 27%|##6       | 60965/228483 [00:06<00:19, 8753.42it/s]
 27%|##7       | 61864/228483 [00:07<00:18, 8821.73it/s]
 27%|##7       | 62764/228483 [00:07<00:18, 8872.94it/s]
 28%|##7       | 63661/228483 [00:07<00:18, 8899.48it/s]
 28%|##8       | 64556/228483 [00:07<00:18, 8913.75it/s]
 29%|##8       | 65448/228483 [00:07<00:18, 8849.39it/s]
 29%|##9       | 66335/228483 [00:07<00:18, 8853.31it/s]
 29%|##9       | 67230/228483 [00:07<00:18, 8880.04it/s]
 30%|##9       | 68127/228483 [00:07<00:18, 8906.71it/s]
 30%|###       | 69018/228483 [00:07<00:17, 8864.01it/s]
 31%|###       | 69925/228483 [00:07<00:17, 8924.44it/s]
 31%|###       | 70818/228483 [00:08<00:17, 8919.47it/s]
 31%|###1      | 71714/228483 [00:08<00:17, 8930.72it/s]
 32%|###1      | 72613/228483 [00:08<00:17, 8947.13it/s]
 32%|###2      | 73508/228483 [00:08<00:17, 8853.90it/s]
 33%|###2      | 74397/228483 [00:08<00:17, 8862.98it/s]
 33%|###2      | 75284/228483 [00:08<00:17, 8840.78it/s]
 33%|###3      | 76169/228483 [00:08<00:25, 6019.65it/s]
 34%|###3      | 77063/228483 [00:08<00:22, 6674.50it/s]
 34%|###4      | 77937/228483 [00:09<00:20, 7174.85it/s]
 35%|###4      | 78843/228483 [00:09<00:19, 7659.13it/s]
 35%|###4      | 79732/228483 [00:09<00:18, 7990.09it/s]
 35%|###5      | 80646/228483 [00:09<00:17, 8307.82it/s]
 36%|###5      | 81535/228483 [00:09<00:17, 8471.95it/s]
 36%|###6      | 82420/228483 [00:09<00:17, 8578.99it/s]
 36%|###6      | 83318/228483 [00:09<00:16, 8695.19it/s]
 37%|###6      | 84202/228483 [00:09<00:16, 8719.19it/s]
 37%|###7      | 85116/228483 [00:09<00:16, 8842.13it/s]
 38%|###7      | 86021/228483 [00:09<00:16, 8903.37it/s]
 38%|###8      | 86917/228483 [00:10<00:15, 8879.62it/s]
 38%|###8      | 87830/228483 [00:10<00:15, 8952.75it/s]
 39%|###8      | 88728/228483 [00:10<00:15, 8921.69it/s]
 39%|###9      | 89633/228483 [00:10<00:15, 8958.01it/s]
 40%|###9      | 90531/228483 [00:10<00:15, 8839.10it/s]
 40%|####      | 91431/228483 [00:10<00:15, 8883.18it/s]
 40%|####      | 92327/228483 [00:10<00:15, 8903.10it/s]
 41%|####      | 93218/228483 [00:10<00:15, 8756.35it/s]
 41%|####1     | 94112/228483 [00:10<00:15, 8808.29it/s]
 42%|####1     | 95004/228483 [00:10<00:15, 8840.89it/s]
 42%|####1     | 95889/228483 [00:11<00:15, 8811.24it/s]
 42%|####2     | 96783/228483 [00:11<00:14, 8847.45it/s]
 43%|####2     | 97679/228483 [00:11<00:14, 8878.81it/s]
 43%|####3     | 98582/228483 [00:11<00:14, 8922.56it/s]
 44%|####3     | 99475/228483 [00:11<00:14, 8899.29it/s]
 44%|####3     | 100377/228483 [00:11<00:14, 8932.86it/s]
 44%|####4     | 101271/228483 [00:11<00:14, 8869.52it/s]
 45%|####4     | 102169/228483 [00:11<00:14, 8900.37it/s]
 45%|####5     | 103060/228483 [00:11<00:14, 8895.08it/s]
 46%|####5     | 103960/228483 [00:11<00:13, 8924.20it/s]
 46%|####5     | 104853/228483 [00:12<00:13, 8917.35it/s]
 46%|####6     | 105753/228483 [00:12<00:13, 8941.92it/s]
 47%|####6     | 106656/228483 [00:12<00:13, 8967.40it/s]
 47%|####7     | 107553/228483 [00:12<00:13, 8915.62it/s]
 47%|####7     | 108445/228483 [00:12<00:13, 8883.58it/s]
 48%|####7     | 109334/228483 [00:12<00:13, 8862.79it/s]
 48%|####8     | 110221/228483 [00:12<00:13, 8858.89it/s]
 49%|####8     | 111107/228483 [00:12<00:13, 8783.54it/s]
 49%|####9     | 112001/228483 [00:12<00:13, 8827.28it/s]
 49%|####9     | 112888/228483 [00:12<00:13, 8839.29it/s]
 50%|####9     | 113780/228483 [00:13<00:12, 8861.06it/s]
 50%|#####     | 114691/228483 [00:13<00:12, 8933.05it/s]
 51%|#####     | 115603/228483 [00:13<00:12, 8987.41it/s]
 51%|#####     | 116502/228483 [00:13<00:12, 8945.50it/s]
 51%|#####1    | 117397/228483 [00:13<00:12, 8898.33it/s]
 52%|#####1    | 118293/228483 [00:13<00:12, 8913.76it/s]
 52%|#####2    | 119185/228483 [00:13<00:12, 8829.03it/s]
 53%|#####2    | 120076/228483 [00:13<00:12, 8852.79it/s]
 53%|#####2    | 120963/228483 [00:13<00:12, 8856.39it/s]
 53%|#####3    | 121865/228483 [00:13<00:11, 8904.32it/s]
 54%|#####3    | 122761/228483 [00:14<00:11, 8918.20it/s]
 54%|#####4    | 123666/228483 [00:14<00:11, 8955.54it/s]
 55%|#####4    | 124562/228483 [00:14<00:11, 8952.72it/s]
 55%|#####4    | 125458/228483 [00:14<00:11, 8871.02it/s]
 55%|#####5    | 126350/228483 [00:14<00:11, 8885.26it/s]
 56%|#####5    | 127258/228483 [00:14<00:11, 8942.04it/s]
 56%|#####6    | 128153/228483 [00:14<00:17, 5847.79it/s]
 56%|#####6    | 129035/228483 [00:14<00:15, 6495.95it/s]
 57%|#####6    | 129917/228483 [00:15<00:13, 7047.56it/s]
 57%|#####7    | 130811/228483 [00:15<00:12, 7526.08it/s]
 58%|#####7    | 131732/228483 [00:15<00:12, 7972.11it/s]
 58%|#####8    | 132632/228483 [00:15<00:11, 8253.48it/s]
 58%|#####8    | 133513/228483 [00:15<00:11, 8409.96it/s]
 59%|#####8    | 134406/228483 [00:15<00:10, 8559.24it/s]
 59%|#####9    | 135310/228483 [00:15<00:10, 8698.00it/s]
 60%|#####9    | 136216/228483 [00:15<00:10, 8803.06it/s]
 60%|######    | 137109/228483 [00:15<00:10, 8835.13it/s]
 60%|######    | 138001/228483 [00:15<00:10, 8856.47it/s]
 61%|######    | 138908/228483 [00:16<00:10, 8918.14it/s]
 61%|######1   | 139810/228483 [00:16<00:09, 8946.68it/s]
 62%|######1   | 140708/228483 [00:16<00:09, 8942.43it/s]
 62%|######1   | 141605/228483 [00:16<00:10, 8079.39it/s]
 62%|######2   | 142431/228483 [00:16<00:10, 8009.91it/s]
 63%|######2   | 143308/228483 [00:16<00:10, 8223.50it/s]
 63%|######3   | 144159/228483 [00:16<00:10, 8304.30it/s]
 63%|######3   | 145033/228483 [00:16<00:09, 8430.54it/s]
 64%|######3   | 145917/228483 [00:16<00:09, 8549.50it/s]
 64%|######4   | 146796/228483 [00:17<00:09, 8618.38it/s]
 65%|######4   | 147670/228483 [00:17<00:09, 8652.19it/s]
 65%|######5   | 148564/228483 [00:17<00:09, 8734.58it/s]
 65%|######5   | 149475/228483 [00:17<00:08, 8844.28it/s]
 66%|######5   | 150370/228483 [00:17<00:08, 8875.03it/s]
 66%|######6   | 151259/228483 [00:17<00:08, 8814.21it/s]
 67%|######6   | 152142/228483 [00:17<00:08, 8809.09it/s]
 67%|######6   | 153045/228483 [00:17<00:08, 8873.97it/s]
 67%|######7   | 153944/228483 [00:17<00:08, 8906.39it/s]
 68%|######7   | 154835/228483 [00:17<00:08, 8889.72it/s]
 68%|######8   | 155725/228483 [00:18<00:08, 8869.36it/s]
 69%|######8   | 156621/228483 [00:18<00:08, 8893.50it/s]
 69%|######8   | 157522/228483 [00:18<00:07, 8926.23it/s]
 69%|######9   | 158415/228483 [00:18<00:07, 8907.85it/s]
 70%|######9   | 159306/228483 [00:18<00:07, 8840.31it/s]
 70%|#######   | 160196/228483 [00:18<00:07, 8856.32it/s]
 71%|#######   | 161087/228483 [00:18<00:07, 8872.03it/s]
 71%|#######   | 161975/228483 [00:18<00:07, 8719.34it/s]
 71%|#######1  | 162855/228483 [00:18<00:07, 8741.10it/s]
 72%|#######1  | 163732/228483 [00:18<00:07, 8748.88it/s]
 72%|#######2  | 164608/228483 [00:19<00:07, 8735.08it/s]
 72%|#######2  | 165500/228483 [00:19<00:07, 8787.48it/s]
 73%|#######2  | 166391/228483 [00:19<00:07, 8821.39it/s]
 73%|#######3  | 167274/228483 [00:19<00:06, 8817.25it/s]
 74%|#######3  | 168159/228483 [00:19<00:06, 8825.70it/s]
 74%|#######3  | 169042/228483 [00:19<00:06, 8801.42it/s]
 74%|#######4  | 169923/228483 [00:19<00:06, 8779.25it/s]
 75%|#######4  | 170821/228483 [00:19<00:06, 8838.72it/s]
 75%|#######5  | 171705/228483 [00:19<00:06, 8812.94it/s]
 76%|#######5  | 172587/228483 [00:19<00:06, 8799.20it/s]
 76%|#######5  | 173479/228483 [00:20<00:06, 8832.80it/s]
 76%|#######6  | 174363/228483 [00:20<00:06, 8805.84it/s]
 77%|#######6  | 175250/228483 [00:20<00:06, 8822.64it/s]
 77%|#######7  | 176134/228483 [00:20<00:05, 8826.63it/s]
 77%|#######7  | 177017/228483 [00:20<00:05, 8791.08it/s]
 78%|#######7  | 177898/228483 [00:20<00:05, 8795.71it/s]
 78%|#######8  | 178780/228483 [00:20<00:05, 8800.55it/s]
 79%|#######8  | 179661/228483 [00:20<00:05, 8673.02it/s]
 79%|#######9  | 180538/228483 [00:20<00:05, 8700.74it/s]
 79%|#######9  | 181432/228483 [00:20<00:05, 8771.33it/s]
 80%|#######9  | 182310/228483 [00:21<00:05, 8764.75it/s]
 80%|########  | 183197/228483 [00:21<00:05, 8794.95it/s]
 81%|########  | 184088/228483 [00:21<00:05, 8826.63it/s]
 81%|########  | 184981/228483 [00:21<00:04, 8856.59it/s]
 81%|########1 | 185878/228483 [00:21<00:04, 8887.88it/s]
 82%|########1 | 186767/228483 [00:21<00:04, 8839.46it/s]
 82%|########2 | 187652/228483 [00:21<00:04, 8809.26it/s]
 83%|########2 | 188534/228483 [00:21<00:04, 8772.64it/s]
 83%|########2 | 189416/228483 [00:21<00:04, 8783.98it/s]
 83%|########3 | 190297/228483 [00:21<00:04, 8790.40it/s]
 84%|########3 | 191187/228483 [00:22<00:04, 8822.03it/s]
 84%|########4 | 192074/228483 [00:22<00:04, 8835.44it/s]
 84%|########4 | 192958/228483 [00:22<00:06, 5469.78it/s]
 85%|########4 | 193857/228483 [00:22<00:05, 6205.20it/s]
 85%|########5 | 194745/228483 [00:22<00:04, 6820.08it/s]
 86%|########5 | 195571/228483 [00:22<00:04, 7175.56it/s]
 86%|########5 | 196444/228483 [00:22<00:04, 7580.99it/s]
 86%|########6 | 197274/228483 [00:22<00:04, 7775.87it/s]
 87%|########6 | 198103/228483 [00:23<00:03, 7747.13it/s]
 87%|########7 | 198980/228483 [00:23<00:03, 8033.75it/s]
 87%|########7 | 199860/228483 [00:23<00:03, 8252.61it/s]
 88%|########7 | 200745/228483 [00:23<00:03, 8425.12it/s]
 88%|########8 | 201630/228483 [00:23<00:03, 8548.33it/s]
 89%|########8 | 202503/228483 [00:23<00:03, 8601.32it/s]
 89%|########9 | 203374/228483 [00:23<00:02, 8633.19it/s]
 89%|########9 | 204266/228483 [00:23<00:02, 8716.88it/s]
 90%|########9 | 205157/228483 [00:23<00:02, 8772.07it/s]
 90%|######### | 206041/228483 [00:23<00:02, 8790.84it/s]
 91%|######### | 206936/228483 [00:24<00:02, 8837.86it/s]
 91%|######### | 207824/228483 [00:24<00:02, 8849.42it/s]
 91%|#########1| 208710/228483 [00:24<00:02, 8837.76it/s]
 92%|#########1| 209595/228483 [00:24<00:02, 8836.99it/s]
 92%|#########2| 210480/228483 [00:24<00:02, 8760.79it/s]
 93%|#########2| 211357/228483 [00:24<00:01, 8758.35it/s]
 93%|#########2| 212253/228483 [00:24<00:01, 8816.65it/s]
 93%|#########3| 213135/228483 [00:24<00:01, 8624.24it/s]
 94%|#########3| 214019/228483 [00:24<00:01, 8687.53it/s]
 94%|#########4| 214893/228483 [00:24<00:01, 8700.95it/s]
 94%|#########4| 215769/228483 [00:25<00:01, 8715.65it/s]
 95%|#########4| 216658/228483 [00:25<00:01, 8767.34it/s]
 95%|#########5| 217540/228483 [00:25<00:01, 8781.95it/s]
 96%|#########5| 218424/228483 [00:25<00:01, 8797.25it/s]
 96%|#########5| 219304/228483 [00:25<00:01, 8794.98it/s]
 96%|#########6| 220184/228483 [00:25<00:00, 8790.04it/s]
 97%|#########6| 221070/228483 [00:25<00:00, 8809.21it/s]
 97%|#########7| 221953/228483 [00:25<00:00, 8815.11it/s]
 98%|#########7| 222837/228483 [00:25<00:00, 8820.90it/s]
 98%|#########7| 223720/228483 [00:25<00:00, 8812.67it/s]
 98%|#########8| 224610/228483 [00:26<00:00, 8837.44it/s]
 99%|#########8| 225494/228483 [00:26<00:00, 8832.82it/s]
 99%|#########9| 226397/228483 [00:26<00:00, 8890.76it/s]
 99%|#########9| 227287/228483 [00:26<00:00, 8868.57it/s]
100%|#########9| 228174/228483 [00:26<00:00, 8775.72it/s]
100%|##########| 228483/228483 [00:33<00:00, 6835.70it/s]

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

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 0x7fd044a8e750>

References

1(1,2)

Alexander Enge, Rasha Abdel Rahman, and Michael A Skeide. A meta-analysis of fmri studies of semantic cognition in children. NeuroImage, 241:118436, 2021. URL: https://doi.org/10.1016/j.neuroimage.2021.118436, doi:10.1016/j.neuroimage.2021.118436.

2

Thomas Nichols, Matthew Brett, Jesper Andersson, Tor Wager, and Jean-Baptiste Poline. Valid conjunction inference with the minimum statistic. Neuroimage, 25(3):653–660, 2005. URL: https://doi.org/10.1016/j.neuroimage.2004.12.005, doi:10.1016/j.neuroimage.2004.12.005.

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

Gallery generated by Sphinx-Gallery