Ask for how to specify sample size in meta analysis of disease with nimare

Dear experts,

Question:

I am trying to do image-based meta-analysis with nimare, the images are group comparison T maps from different studies, for each study, the number of patients is different from that of the controls, as I want to use the sample size-weighted meta-analysis, could you give some suggestion on how to specify the sample size of the unbalance study in JSON file?

And also, as the T maps from studies are in 3mm x 3mm x 3mm resolution, is it possible to change the target space to mni152_3mm?

Code:

dset_dir = ‘/prot/ADNI/meta/’
dset_file = ‘/prot/ADNI/meta/ADNI_dset.json’
dset = Dataset(dset_file, target=‘mni152_1mm’)
dset.update_path(dset_dir)
xformer = ImageTransformer(target=[“z”])
dset = xformer.transform(dset)
meta = ibma.Stouffers(use_sample_size=True, resample=True)
meta.fit(dset)

Best wishes,
Peng

I think someone like @nicholst can better answer this, but I believe you would either use the smaller of the two samples or the total number of subjects across both. In NiMARE, we automatically use the total sample size.

There is a metadata field called “sample_sizes” in NiMARE Datasets, as well as the JSON files used to create Datasets. This field should be a list of numbers, so you can have the sample size of each group. NiMARE automatically calculates the total sample size from this list for things like the Weighted Stouffers meta-analysis.

Here is an example of the sample_sizes field in a JSON file.

The good news is that the target parameter is primarily used for coordinate-based meta-analyses. You just need to supply an MNI 3mm brain mask to the Dataset, like so:

dset = Dataset(
    dset_file,
    target="min_3mm",  # not actually used, but nice to have an accurate string
    mask="/path/to/MNI_3mm/brain/mask.nii.gz",  # this is what's actually used
)

Thanks for the immediate response and the useful examples, just save my day!

1 Like