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

"epiReadoutDuration" incorrectly calculated from BIDS "TotalReadoutTime" #56

Open
lukeje opened this issue Nov 8, 2022 · 3 comments
Open
Labels
bug Something isn't working

Comments

@lukeje
Copy link
Member

lukeje commented Nov 8, 2022

The "epiReadoutDuration" is needed for unwarping of 3D-EPI SE/STE B1 maps. In the BIDS case, at present this is computed by scaling the BIDS metadata field "TotalReadoutTime" to convert it from seconds to milliseconds. However "epiReadoutDuration" should use the SPM definition of readout time (from the beginning of the EPI readout to the end of the readout), whereas "TotalReadoutTime" uses the FSL definition (from the centre of the first echo to the centre of the last echo).

The difference between the two definitions could be corrected for by adding the "EffectiveEchoSpacing" to the "TotalReadoutTime" before scaling. Note that "EffectiveEchoSpacing" is a required field in this case because we have field mapping data.

@ChristophePhillips @nbeliy I noticed that the example BIDS-conforming MPM dataset here does not have the "EffectiveEchoSpacing" field. Would it be possible to update the metadata to add it?

The difference between the two different readout times will only be a few hundred microseconds, and so is likely to be relatively inconsequential. However fixing this will help make sure that the maps from BIDS-ified data are equivalent to those calculated using the "standard" hMRI toolbox pipeline.

@lukeje lukeje added the bug Something isn't working label Nov 8, 2022
@lukeje
Copy link
Member Author

lukeje commented Nov 8, 2022

I just noticed that the definition here is actually the SPM definition. Should this not be unified on the BIDS side? At the moment it is rather confusing.

@nbeliy
Copy link

nbeliy commented Nov 8, 2022

Yes it should. I will try to introduce the issue.
In our home-brewd mpm datasets we use epiReadoutDuration for SPM convention and TotalReadoutTime for FSL (so we can acess both).

And we probably need to update the public mpm dataset.

@lukeje
Copy link
Member Author

lukeje commented May 24, 2023

It looks like there has been some movement on this from the bids side: bids-standard/bids-specification#1351 Note that if they decide to use the FSL standard, then we will need to adapt our code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants