@@ -11,8 +11,12 @@ significance of the association between the tested maps. Enter: the
11
11
12
12
This module provides access to a variety of null models that can be used to
13
13
generate "null" brain maps that retain aspects of the spatial autocorrelation
14
- of the original brain maps. (For a review of these models refer to `Markello &
15
- Misic, 2021, NeuroImage <https://doi.org/10.1016/j.neuroimage.2021.118052> `_.)
14
+ of the original brain maps.
15
+
16
+ For a review of these models, please refer to
17
+ `Markello & Misic, 2021, NeuroImage <https://doi.org/10.1016/j.neuroimage.2021.118052 >`_.
18
+ We also recommend watching `this recorded session <https://www.youtube.com/watch?v=6DjpNddINZ8 >`_
19
+ from the OHBM 2024 Educational Course if you are new to this topic.
16
20
17
21
There are four available null models that can be used with voxel- and
18
22
vertex-wise data and eight null models that can be used with parcellated data.
@@ -161,6 +165,11 @@ non-significant.
161
165
Nulls for volumetric data
162
166
-------------------------
163
167
168
+ .. warning ::
169
+ Nulls for high-resolution volumetric data (especially at 1mm or 2mm resolution) can
170
+ be **extremely ** demanding (days & hundreds of GBs). This is an inherent limitation
171
+ of the original model that currently has no immediate workaround!
172
+
164
173
The majority of spatial nulls work best with data represented in one of the
165
174
surface-based coordinate systems. If you are working with data that are
166
175
represented in the MNI152 system you must use one of the following three null
@@ -186,12 +195,22 @@ You would call the functions in the same manner as above:
186
195
>>> print(nulls.shape)
187
196
(224705, 100)
188
197
189
- However, this process will take much more time than for equivalent data
190
- represented in a surface-based system, and will need to store the full distance
191
- matrix out as a temporary file (potentially many GB of disk space!). If
192
- possible it is recommended that you mask your data (i.e., with a gray matter
193
- mask) before generating nulls using this procedure.
194
198
195
- Note that you can provide parcellation images for volumetric data as described
196
- above! Simply pass the volumetric parcellation image to the ``parcellation ``
197
- keyword argument and the function will take care of the rest.
199
+ When working with volumetric data, please note some important computational
200
+ considerations. While the function supports both voxelwise and parcellated analyses,
201
+ processing high-resolution volumetric data (especially at 1mm or 2mm resolution) can
202
+ be **extremely ** demanding. The calculations for voxelwise data can take several days
203
+ to complete even on high-performance computing nodes, and may require hundreds of GBs
204
+ of temporary storage space. This is an inherent limitation of the original model that
205
+ currently has no immediate workaround (see `BrainSMASH <https://github.com/murraylab/brainsmash >`_).
206
+ We welcome any suggestions for improving this method's computational efficiency and
207
+ performance.
208
+
209
+ To make your analysis more tractable, we recommend you consider using parcellated
210
+ data instead of voxelwise analysis. Parcellation dramatically reduces both computation
211
+ time and storage requirements.
212
+
213
+ For voxelwise input, if possible it is recommended that you mask your data
214
+ (i.e., with a gray matter mask) before generating nulls using this procedure. To use
215
+ parcellation images for volumetric data, simply pass the volumetric parcellation image
216
+ to the ``parcellation `` keyword argument and the function will take care of the rest.
0 commit comments