Skip to content
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] Make Eddy's slice2vol much easier to use #710

Merged
merged 5 commits into from
Mar 5, 2024
Merged

Conversation

mattcieslak
Copy link
Collaborator

@mattcieslak mattcieslak commented Mar 4, 2024

Background

Eddy-CUDA has a slice-to-volume motion correction method. It is enabled by the --mporder <int> flag and requires that slice times and multiband acceleration factor are defined.

Currently users are accessing this feature by creating their own slice-timing file and mounting it into the container, along with specifying the other options in the eddy config json file (eg #184). This is a lot of extra work and not robust if there are different slice timings in different scans.

Proposed change

The trickiest part here is figuring out what the slice timings should be if there are multiple scans being concatenated before they're sent to Eddy. If the slice timings are too different, qsiprep should detect it early and exit. We discussed that a 10ms difference in a slice's timing across scans is acceptable.

I propose we just take the slice timings from the first scan as the official slice timings sent to Eddy.

To Do

  • Create a json file from the MergeDWI interface that copies slice timings from a real sidecar
  • Pass the sidecar to Eddy via --json, along with --multiband_factor when mporder is in the eddy config
    - [ ] Perform a sanity check that the slice timings are similar enough that merging them makes sense

Moved to #712

@mattcieslak mattcieslak requested a review from tsalo March 5, 2024 16:42
Copy link
Member

@tsalo tsalo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mostly have thoughts on documentation and function naming. I have a few questions as well.

qsiprep/interfaces/dwi_merge.py Outdated Show resolved Hide resolved
qsiprep/interfaces/dwi_merge.py Outdated Show resolved Hide resolved
qsiprep/interfaces/dwi_merge.py Outdated Show resolved Hide resolved
qsiprep/interfaces/dwi_merge.py Outdated Show resolved Hide resolved
qsiprep/interfaces/eddy.py Outdated Show resolved Hide resolved
@mattcieslak mattcieslak merged commit 89ba85b into master Mar 5, 2024
3 checks passed
@mattcieslak mattcieslak deleted the enh/slice2vol branch March 5, 2024 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants