-
Notifications
You must be signed in to change notification settings - Fork 296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: Resample BOLD to fsLR directly, dropping fsaverage intermediate #3011
Conversation
dbb09fa
to
2accbd2
Compare
Resample, mask, fill-holes, remove-islands
@mgxd I just realized this hasn't been reviewed. Any chance you could have a look? I'll work on knocking off those two checklist points above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, skimmed through and nothing jumps out.
One note - the more that this can be upstreamed, the better - since we'll be using them in nibabies as well.
fmriprep/workflows/bold/base.py
Outdated
@@ -437,7 +433,7 @@ def init_func_preproc_wf(bold_file, has_fieldmap=False): | |||
bids_root=layout.root, | |||
cifti_output=config.workflow.cifti_output, | |||
freesurfer=freesurfer, | |||
project_goodvoxels=project_goodvoxels, | |||
project_goodvoxels=False, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noting we should still output the ribbon mask
(goodvoxels_ribbon_mask, outputnode, [("out_file", "goodvoxels_ribbon")]), | ||
] | ||
) | ||
|
||
return workflow | ||
|
||
|
||
def init_bold_fsLR_resampling_wf( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a really nice digestion of the wb commands used
@mgxd Do you mean push interfaces into niworkflows? |
Yes, but it was not to say that should hold this up - we can port it over for |
23.1.0 (June 12, 2023) New feature release in the 23.1.x series. This release substantially reworks the resampling to fsLR grayordinate space, better accounting for partial volumes and high variance voxels. If you are resampling using ``--project-goodvoxels``, we strongly recommend upgrading. Fieldmap handling is improved, with better preference given to single-band references in both PEPolar and SyN-SDC schemes. Additionally, fMRIPrep will no longer estimate fieldmaps that are not intended to be used to correct BOLD series, reducing unneeded processing. This release removes ICA-AROMA from the fMRIPrep workflow. To use ICA-AROMA, set ``MNI152NLin6Asym:res-2`` as a target output space. MELODIC and ICA-AROMA can be run on the resulting images in a separate pipeline. For further information on the reasoning behind this change, see `GitHub issue #2936 <https://github.com/nipreps/fmriprep/issues/2936>`__. This release increments the versions of ANTs and FSL bundled in the Docker image. With thanks to Eilidh MacNicol, Basille Pinsard and Taylor Salo for contributions in fMRIPrep and SDCflows. * FIX: Raise RuntimeError at build if echos have mismatched shapes (#3028) * FIX: Inconsistent fmapless estimation when ignoring fieldmaps (#2994) * FIX: Dilate BOLD mask by 2 voxels to prevent over-aggressive masking degrading T2* map estimation (#2986) * FIX: Estimate free memory with "available", not "free" (#2985) * ENH: Add ``--me-t2s-fit-method`` parameter (#3030) * ENH: Resample BOLD to fsLR directly, dropping fsaverage intermediate (#3011) * ENH: Allow SBref+EPI PEPolar fieldmaps to correct BOLD series (#3008) * ENH: Remove ICA-AROMA from workflow and docs (#2966) * RF: Filter fieldmaps based on whether they will be used to correct a BOLD series (#3025) * MNT: Update ANTs pin in Docker image (#3016) * MNT: Update governance docs (#2992) * MNT: Refactor Docker build process (#2982) * MNT: Pin conda environment more strictly (#2853) * MNT: Require niworkflows ~1.3.6 (#2740) * CI: Use registry for layer caching (#3012) * CI: Upgrade docker orb (#2865)
from fmriprep.workflows.bold.resampling import init_bold_fsLR_resampling_wf | ||
wf = init_bold_fsLR_resampling_wf( | ||
estimate_goodvoxels=True, | ||
grayord_density='92k', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps grayord_density='91k'
instead of 92k based on the Parameters below?
Changes proposed in this pull request
mri_vol2surf
resampling workflow. fsnative and fsaverage will remain the same for now.fsaverage
as an implicit resampling target for--cifti-output
.fsaverage
andfsLR
are now entirely independent.wb_command
commands, including an OpenMP mixin that allowsOMP_NUM_THREADS
to be set in the environment. I think most commands can take advantage, but I only tagged slow ones (take >10s) that I could verify actually used them.TODO:
Documentation that should be reviewed
TODO
Closes #2990.