Skip to content

Output EPI voxel size slightly different from input #497

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

Closed
feilong opened this issue May 1, 2017 · 4 comments
Closed

Output EPI voxel size slightly different from input #497

feilong opened this issue May 1, 2017 · 4 comments
Labels

Comments

@feilong
Copy link
Contributor

feilong commented May 1, 2017

It happened to me occasionally in some runs of some subjects. The input voxel size was always (3.0, 3.0, 3.0) (as shown by nib.load(filename).header.get_zooms()[:3]), but the output voxel size became (2.9999998, 3.0, 3.0). An annoying side effect of this discrepancy is the output grid of that run became (66, 77, 65) instead of (65, 77, 65), and the two grids were half a voxel apart and I couldn't simply delete a slice to make them match.

As I tracked down this issue, the voxel size of the generated reference image was already different, and influenced all following steps. It seems related to EstimateReferenceImage.

The filename of my singularity image was poldracklab_fmriprep_latest-2017-04-08-0600a0f79358.img.

@chrisgorgo chrisgorgo added the bug label May 1, 2017
@chrisgorgo
Copy link
Contributor

Ah indeed I have heard about this issue here https://neurostars.org/t/dimensions-mismatch-in-preprocessed-fmri-data-fmriprep-0-3-2/362.

It would be great to solve it. Is there an example dataset where this is happening that you could share with us?

@chrisgorgo
Copy link
Contributor

Alternatively you can try changing this line to

gen_ref = pe.Node(EstimateReferenceImage(mc_method = "FSL"), name="gen_ref")

@feilong
Copy link
Contributor Author

feilong commented May 1, 2017

Let me ask my collaborators who collected the data to see if they consent to share.

Probably the problem is because some motion correction step messed up with the header (numeric precision issue with motion parameters and/or affine matrix?). I guess it could simply be solved by changing the moving_image of GenerateSamplingReference() to the original EPI, as we only need accurate voxel size information to generate sampling reference.

@effigies
Copy link
Member

effigies commented May 1, 2017

If it makes a difference to their willingness to share, the first 40 volumes of the relevant series should be enough for us to replicate the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants