Hi Professor,
I am using NiMARE 0.2.0 to perform an ALE meta-analysis, and I have a few questions about the outputs after cluster-level FWE correction and the subsequent Jackknife analysis.
My workflow is:
my_ale = ALE(
kernel_transformer=ALEKernel,
null_method="approximate",
n_iters=5000,
n_cores=4,
)
my_results_ale = my_ale.fit(my_dset)
my_corrector = FWECorrector(
method="montecarlo",
voxel_thresh=0.001,
n_iters=5000,
n_cores=4,
)
my_results_fwe = my_corrector.transform(my_results_ale)
my_jackknife = Jackknife(
target_image="z_desc-size_level-cluster_corr-FWE_method-montecarlo",
n_cores=4,
)
my_results_jk = my_jackknife.transform(copy.deepcopy(my_results_fwe))
The corrected maps are successfully generated:
my_results_fwe.maps.keys()
returns
dict_keys([
'stat',
'p',
'z',
'logp_level-voxel_corr-FWE_method-montecarlo',
'z_level-voxel_corr-FWE_method-montecarlo',
'logp_desc-size_level-cluster_corr-FWE_method-montecarlo',
'z_desc-size_level-cluster_corr-FWE_method-montecarlo',
'logp_desc-mass_level-cluster_corr-FWE_method-montecarlo',
'z_desc-mass_level-cluster_corr-FWE_method-montecarlo'
])
However,
my_results_fwe.tables.keys()
returns
dict_keys([])
while the Jackknife results do contain tables (e.g., ..._tab-clust and ..._diag-Jackknife_tab-counts_tail-positive).
I have three questions.
1. Where is the cluster-level FWE threshold (e.g., α = 0.05) specified?
In my code I explicitly set
voxel_thresh = 0.001
which I understand is the cluster-forming threshold.
However, I cannot find where the cluster-level FWE significance threshold (typically p < 0.05) is specified or stored in NiMARE 0.2.0. Is it fixed internally by FWECorrector(method="montecarlo"), or is there another parameter or output that records it?
2. Why does FWECorrector produce corrected maps but no cluster table?
After FWE correction I obtain the corrected statistical maps, but no cluster summary table.
In GingerALE, after cluster-level FWE correction I would normally obtain a table containing information such as:
-
Cluster ID
-
Peak coordinates
-
Peak ALE value
-
Peak Z statistic
-
Cluster size
In NiMARE 0.2.0, my_results_fwe.tables is empty.
Is this expected behavior?
If so, what is the recommended way to obtain the “main” cluster table corresponding to the FWE-corrected ALE results? Is using nilearn.reporting.get_clusters_table()?(I saw this in another question post) or is there another NiMARE function that should be used?
3. What is the relationship between the FWE-corrected results and the Jackknife results?
According to the tutorial, after running Jackknife I obtain:
-
a cluster table (
..._tab-clust) -
a study-contribution table (
..._diag-Jackknife_tab-counts_tail-positive)
I am trying to understand how these relate to the original FWE-corrected ALE table results (if I can get cluster table in the second question)
Specifically:
-
Does the Jackknife cluster table represent the same clusters as the FWE-corrected ALE analysis, or are they different objects?
-
If I am writing a manuscript, which table should be reported as the main ALE results?
Any clarification about the intended workflow for NiMARE 0.2.0 would be greatly appreciated.
Thank you very much for your help!