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

Improve PEPOLAR robustness #192

Closed
mgxd opened this issue Apr 20, 2021 · 2 comments · Fixed by #197
Closed

Improve PEPOLAR robustness #192

mgxd opened this issue Apr 20, 2021 · 2 comments · Fixed by #197
Labels
effort: medium Estimated medium effort task impact: high Estimated high impact task pepolar
Milestone

Comments

@mgxd
Copy link
Contributor

mgxd commented Apr 20, 2021

Currently, we are assuming all affines match across the EPI fieldmaps in pepolar correction.

A more robust solution would include adding the following steps:

  • Estimate a reference image for each phase encoding direction (StructuralReference)
  • Use one of these images as the reference, and the others as moving images to register.
@oesteban
Copy link
Member

oesteban commented Apr 21, 2021

Currently, we are assuming all affines match across the EPI fieldmaps in pepolar correction.

More worryinglyy, we are assuming that the EPI "blips" are in register. They may not be.

  • Estimate a reference image for each phase encoding direction (StructuralReference)

  • Use one of these images as the reference, and the others as moving images to register.

These two steps would better be renamed as:

  • Within-blip alignment (StructuralReference) - when we have several 3D or 4D files, assumes PhaseEncodingDirection and TotalReadoutTime are the same for all of them.
  • Between-blip alignment (using antsRegistration) - one of the averages calculated in the within-blip step is taken for reference (e.g., the highest resolution of all) and the other averages are registered to that reference.

@oesteban oesteban added effort: medium Estimated medium effort task impact: high Estimated high impact task pepolar labels Apr 21, 2021
@oesteban oesteban added this to the 2.0.2 milestone May 7, 2021
@oesteban
Copy link
Member

I completely switched my way of thinking during the development of #197:

More worryingly, we are assuming that the EPI "blips" are in register. They may not be.

Although this is true, TOPUP has the possibility of registering the "blips". I believe its configuration is probably better than any approach we can come up with for the problem at hand. As an exception, the "_quick" configuration of TOPUP in our settings does not have estimation of realignment parameters - in that case, #197 very simply sets up 3dVolReg for a fast alignment.

Within-blip alignment

Using StructuralReference for this can be problematic with varying total readout times, because in that case they should be considered different blips. In practice, for this one it is better to just use TOPUP.

Between-blip alignment

I feel we are over-complicating here. This facet of the problem would be resolve straightforwardly with a reference workflow to feed the pepolar estimation. So let's push this one away until we better integrate the reference workflow. That said, TOPUP should deal with this case fairly well too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: medium Estimated medium effort task impact: high Estimated high impact task pepolar
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants