Closed tsalo closed 2 years ago
I’ve slipped into FSL’s sphere of avoiding implicit NA masking at all costs and using explicit masks. But if you’re OK with NA masking go for it. --
Thomas Nichols, PhD Professor of Neuroimaging Statistics Nuffield Department of Population Health | University of Oxford Big Data Institute | Li Ka Shing Centre for Health Information and Discovery Old Road Campus | Headington | Oxford | OX3 7LF | United Kingdom T: +44 1865 743590 | E: thomas.nichols@bdi.ox.ac.uk W: http://nisox.org | http://www.bdi.ox.ac.uk
The only problem with explicit masks is that we have to pass a 2D array into PyMARE, which would increase complexity on NiMARE's side by a fair amount.
If we masked out studies with missing data for each voxel, then we would have to loop through unique combinations of studies with data to identify matching voxels, build 2D arrays for those voxels, run the PyMARE estimator on each group separately, and then merge the results back into a map at the end.
EDIT: I think we could pass in an optional numpy
mask with the 2D array to PyMARE, but that would depend on what @tyarkoni wants PyMARE to support.
I'm fine with it... so do what makes sense.
Please forgive me if we've discussed this before, but have we considered (at least in the architecture if not the current implementation) the possibility of voxel-wise-varying sample size?
It's now an edge case, but with larger and larger N (for an individual, non-meta analysis), you have the problem of ever eroding analysis mask since all voxels are required. We are now building tools that allow the number of subjects contributing to an analysis vary by voxel (within limits, of course).
Originally posted by @nicholst in https://github.com/neurostuff/NiMARE/issues/231#issuecomment-633810456
@nicholst I don't want to open a new issue about it, but is Cutler, Radua, & Campbell-Meiklejohn (2018) what you were talking about as a method for dealing with varying brain coverage across maps?
Thanks for the ref @tsalo, I hadn't seen that.
I didn't have a particular correction in mind. While the equations they present for one-sample random effects meta-analyses are handy, I prefer to see things in terms of a meta-regression where you have an arbtrary X matrix. For that, I don't know of any such short cuts... you simply have to run the model with the rows of Y and X for which you have complete data.
Ah, thank you for the clarification. It sounds like we can/should just let PyMARE handle it then.
Since we've decided to let PyMARE handle any missing data issues, I think we can close this.
This is related to https://github.com/neurostuff/PyMARE/issues/42 and https://github.com/neurostuff/PyMARE/issues/44, as well as to https://github.com/neurostuff/NiMARE/issues/231#issuecomment-633810456.
We can include this step in the
_preprocess_inputs
method in image-based meta-analysis estimators called byfit()
.@nicholst what do you think of this as a solution to your comment about varying degrees of freedom in IBMAs?