Skip to content

Commit a54f709

Browse files
authored
Update docs
Update docs to make it clear volumetric nulls are very computationally intensive.
1 parent a89b699 commit a54f709

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

docs/user_guide/nulls.rst

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@ non-significant.
161161
Nulls for volumetric data
162162
-------------------------
163163

164+
.. warning::
165+
Nulls for high-resolution volumetric data (especially at 1mm or 2mm resolution) can
166+
be **extremely** demanding (days & hundreds of GBs). This is an inherent limitation
167+
of the original model that currently has no immediate workaround!
168+
164169
The majority of spatial nulls work best with data represented in one of the
165170
surface-based coordinate systems. If you are working with data that are
166171
represented in the MNI152 system you must use one of the following three null
@@ -186,12 +191,22 @@ You would call the functions in the same manner as above:
186191
>>> print(nulls.shape)
187192
(224705, 100)
188193
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.
194194
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.
195+
When working with volumetric data, please note some important computational
196+
considerations. While the function supports both voxelwise and parcellated analyses,
197+
processing high-resolution volumetric data (especially at 1mm or 2mm resolution) can
198+
be **extremely** demanding. The calculations for voxelwise data can take several days
199+
to complete even on high-performance computing nodes, and may require hundreds of GBs
200+
of temporary storage space. This is an inherent limitation of the oirginal model that
201+
currently has no immediate workaround (see `BrainSMASH <https://github.com/murraylab/brainsmash>`_).
202+
We welcome any suggestions for improving this method's computational efficiency and
203+
performance.
204+
205+
To make your analysis more tractable, we recommend you consider using parcellated
206+
data instead of voxelwise analysis. Parcellation dramatically reduces both computation
207+
time and storage requirements.
208+
209+
For voxelwise input, if possible it is recommended that you mask your data
210+
(i.e., with a gray matter mask) before generating nulls using this procedure. To use
211+
parcellation images for volumetric data, simply pass the volumetric parcellation image
212+
to the ``parcellation`` keyword argument and the function will take care of the rest.

0 commit comments

Comments
 (0)