Hi again Gang!
I wanted to try this. We are using a different dataset but again, it is quite large (7450 dual-regression maps). I’m using MVM and to find out significant cluster sizes vs per-voxel-pvalues. I need the residuals to be able to run 3dclustsim. 3dMVM finishes but fails at creating the the residuals (could not map memory).
I wanted to split the the images, like you suggested, using 3dZcutup.
I can’t get it to work though. My idea was to loop through all the input files and create sub01_cut0.nii.gz, sub01_cut1.nii.gz and sub01_cut2.nii.gz and run 3 separate 3dMVMs and then glue them together.
When looking at the documentation I would think this is the way to do it:
3dZcutup -prefix test0 -keep 0 16 1017436_20227_2_0_25_dr_stage2.nii.gz
This, however, gives me:
++ 3dZcutup: AFNI version=AFNI_21.3.01 (Oct 12 2021) [64-bit]
*** Nonsense values after -keep!
It works when I just want it to give me one slice:
3dZcutup -prefix test0 -keep 5 5 1017436_20227_2_0_25_dr_stage2.nii.gz
++ 3dZcutup: AFNI version=AFNI_21.3.01 (Oct 12 2021) [64-bit]
++ Output dataset ./test0+tlrc.BRIK
When looking at examples, I don’t see why the first command would fail. The only thing I can think of is that these are 3D volumes, not 4D volumes. They are 3D correlation maps from a dual regression process.
I can solve this by looping through all 91 slices and merging them into 3 chunks but that is a lot of for-looping for 7450 subjects with 91 slices each.
3dinfo on the data:
Dataset File: 1017436_20227_2_0_25_dr_stage2.nii.gz
Identifier Code: NII_F-0DxhtkHnSPAt0_jFec6Q Creation Date: Wed May 4 13:38:28 2022
Template Space: MNI
Dataset Type: Anat Bucket (-abuc)
Byte Order: LSB_FIRST {assumed} [this CPU native = LSB_FIRST]
Storage Mode: NIFTI
Storage Space: 3,610,516 (3.6 million) bytes
Geometry String: "MATRIX(2,0,0,-90,0,-2,0,126,0,0,2,-72):91,109,91"
Data Axes Tilt: Plumb
Data Axes Orientation:
first (x) = Right-to-Left
second (y) = Posterior-to-Anterior
third (z) = Inferior-to-Superior [-orient RPI]
R-to-L extent: -90.000 [R] -to- 90.000 [L] -step- 2.000 mm [ 91 voxels]
A-to-P extent: -90.000 [A] -to- 126.000 [P] -step- 2.000 mm [109 voxels]
I-to-S extent: -72.000 [I] -to- 108.000 [S] -step- 2.000 mm [ 91 voxels]
Number of values stored at each pixel = 1
-- At sub-brick #0 '?' datum type is float
Thanks!