Skip to content

[ENH] Make Eddy's slice2vol much easier to use#710

Merged
mattcieslak merged 5 commits into
masterfrom
enh/slice2vol
Mar 5, 2024
Merged

[ENH] Make Eddy's slice2vol much easier to use#710
mattcieslak merged 5 commits into
masterfrom
enh/slice2vol

Conversation

@mattcieslak

@mattcieslak mattcieslak commented Mar 4, 2024

Copy link
Copy Markdown
Collaborator

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

@tsalo tsalo left a comment

Copy link
Copy Markdown
Member

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.

Comment thread qsiprep/interfaces/dwi_merge.py Outdated
Comment thread qsiprep/interfaces/dwi_merge.py
Comment thread qsiprep/interfaces/dwi_merge.py Outdated
Comment thread qsiprep/interfaces/dwi_merge.py Outdated
Comment thread qsiprep/interfaces/eddy.py Outdated
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