-
Notifications
You must be signed in to change notification settings - Fork 310
Description
What happened?
I ran fMRIPrep 24.0.0 (I also ran 23.2.1 with the same results, but I have not yet run any newer versions) as follows:
docker run -it --rm \
--user "${HOST_UID}:${HOST_GID}" \
--mount "src=data,dst=/data,volume-opt=device=:/data,\"volume-opt=o=addr=192.168.50.207,vers=4,soft\",type=volume,volume-driver=local,volume-opt=type=nfs" \
-v /var/work:/tmp/work \
-v /data/freesurfer/license.txt:/opt/freesurfer/license.txt:ro \
nipreps/fmriprep:24.0.0 /data/project_name /data/project_name/derivatives/fmriprep_24.0.0 participant \
--participant-label P10022 -w /tmp/work --fs-license-file /opt/freesurfer/license.txt \
--cifti-output 91k \
--omp-nthreads 8 --stop-on-first-crash --project-goodvoxels --skip-bids-validation
I expected to have the fsLR outputs in cifti 91k space, which I got. The func outputs also contain MNI152NLin2009cAsym space volumes. My understanding is that subcortical voxels in these two spaces should be slightly shifted from each other because the subcortical volume in cifti corresponds to the MNI152NLin6Asym space.
When I overlay the MNI152NLin2009cAsym boldref onto the corresponding templateflow 2mm brain, the voxels don't align precisely. But if I overlay it onto the MNI152NLin6Asym brain, they do. Note the underlying template for each of these images and the filename of the fMRIPrep output. The first image aligns, but shouldn't. The second image is offset, but should be aligned.
This leads me to suspect that maybe specifying "--cifti-output 91k" has overridden the volumetric space used, but without changing the filename? I don't think I could tell the difference between spaces by eye, but I can see the offset in the voxel positions with the template underneath for comparison. If this is the case, the naming should specify space-MNI152NLin6Asym to avoid confusion.
Note: I've intentionally modified some of the paths with "project_name" for simplicity
What command did you use?
docker run -it --rm \
--user "${HOST_UID}:${HOST_GID}" \
--mount "src=data,dst=/data,volume-opt=device=:/data,\"volume-opt=o=addr=192.168.50.207,vers=4,soft\",type=volume,volume-driver=local,volume-opt=type=nfs" \
-v /var/work:/tmp/work \
-v /data/freesurfer/license.txt:/opt/freesurfer/license.txt:ro \
nipreps/fmriprep:24.0.0 /data/project_name /data/project_name/derivatives/fmriprep_24.0.0 participant \
--participant-label P10022 -w /tmp/work --fs-license-file /opt/freesurfer/license.txt \
--cifti-output 91k \
--omp-nthreads 8 --stop-on-first-crash --project-goodvoxels --skip-bids-validationWhat version of fMRIPrep are you running?
24.0.0
How are you running fMRIPrep?
Docker
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
No
Please copy and paste any relevant log output.
[environment]
cpu_count = 8
exec_env = "singularity"
free_mem = 61.2
overcommit_policy = "heuristic"
overcommit_limit = "50%"
nipype_version = "1.8.6"
templateflow_version = "24.2.0"
version = "24.0.0"
[execution]
bids_dir = "/data/project_name"
bids_database_dir = "/tmp/work/20240718-055115_9dc8ae64-aace-4bfd-97fa-b4a9a7cf15a1/bids_db"
bids_description_hash = "115020544c02334a33e434f1336dd3863e1390ccd68cee53a0e748a00f465f56"
boilerplate_only = false
sloppy = false
debug = []
fmriprep_dir = "/data/project_name/derivatives/fmriprep_24.0.0"
fs_license_file = "/opt/freesurfer/license.txt"
fs_subjects_dir = "/data/project_name/derivatives/fmriprep_24.0.0/sourcedata/freesurfer"
layout = "BIDS Layout: ...ata/project_name/rawdata | Subjects: 1 | Sessions: 1 | Runs: 2"
log_dir = "/data/project_name/derivatives/fmriprep_24.0.0/logs"
log_level = 25
low_mem = false
md_only_boilerplate = false
notrack = false
track_carbon = false
country_code = "CAN"
output_dir = "/data/project_name/derivatives/fmriprep_24.0.0"
me_output_echos = false
aggr_ses_reports = 4
output_layout = "bids"
output_spaces = "MNI152NLin2009cAsym:res-native"
reports_only = false
run_uuid = "20240718-055115_9dc8ae64-aace-4bfd-97fa-b4a9a7cf15a1"
participant_label = [ "P10022",]
templateflow_home = "/home/fmriprep/.cache/templateflow"
work_dir = "/tmp/work"
write_graph = false
[workflow]
anat_only = false
bold2anat_dof = 6
bold2anat_init = "t1w"
cifti_output = "91k"
fmap_bspline = false
force_syn = false
hires = true
fs_no_resume = false
ignore = []
level = "full"
longitudinal = false
run_msmsulc = true
medial_surface_nan = false
project_goodvoxels = true
regressors_all_comps = false
regressors_dvars_th = 1.5
regressors_fd_th = 0.5
run_reconall = true
skull_strip_fixed_seed = false
skull_strip_template = "OASIS30ANTs"
skull_strip_t1w = "force"
slice_time_ref = 0.5
spaces = "MNI152NLin2009cAsym:res-native MNI152NLin6Asym:res-2"
use_syn_sdc = false
me_t2s_fit_method = "curvefit"
[nipype]
crashfile_format = "txt"
get_linked_libs = false
nprocs = 8
omp_nthreads = 8
plugin = "MultiProc"
remove_unnecessary_outputs = true
resource_monitor = false
stop_on_first_crash = true
[seeds]
master = 14828
ants = 51522
numpy = 38259
[execution.derivatives]
[execution.dataset_links]
raw = "/data/project_name"
templateflow = "/home/fmriprep/.cache/templateflow"
[nipype.plugin_args]
maxtasksperchild = 1
raise_insufficient = falseAdditional information / screenshots
I have the complete log (all stdout from the run). If it would be useful, I can email it.