-
Notifications
You must be signed in to change notification settings - Fork 40
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
INU correction gone wrong #125
Comments
Possibly duplicate of #127 |
At least for the first case, the problem stems from a poor Atropos segmentation (ref. #109, as we will need to check Atropos' segmentation before forwarding it). WM (necessary for the subsequent N4 step) is label 3 (the red spots): |
Because this one will rely on nipreps/niworkflows#506, I'm not marking this as a bugfix to the maintenance of old series. |
This commit: - [x] Updates the nodes with pure python interfaces based on nibabel, minimizing the need for the new ``copy_header`` of ANTs' nipype interfaces. - [x] Reorganizes the workflow so that the Atropos refinement is completely self contained. These are the first two steps to address nipreps/smriprep#125.
This commit: - [x] Updates the nodes with pure python interfaces based on nibabel, minimizing the need for the new ``copy_header`` of ANTs' nipype interfaces. - [x] Reorganizes the workflow so that the Atropos refinement is completely self contained. These are the first two steps to address nipreps/smriprep#125.
This commit: - [x] Updates the nodes with pure python interfaces based on nibabel, minimizing the need for the new ``copy_header`` of ANTs' nipype interfaces. - [x] Reorganizes the workflow so that the Atropos refinement is completely self contained. These are the first two steps to address nipreps/smriprep#125.
This commit: - [x] Updates the nodes with pure python interfaces based on nibabel, minimizing the need for the new ``copy_header`` of ANTs' nipype interfaces. - [x] Reorganizes the workflow so that the Atropos refinement is completely self contained. These are the first two steps to address nipreps/smriprep#125.
This commit introduces two changes: - [x] If a WM prior is found within the template's structure, then it is mapped on to the individual's brain and fed as ``weight_image`` in the N4 correction. - [x] Adds regularization of the WM posterior estimated with ATROPOS, by multiplying with the WM prior mapped from the template. In the future, an easy check could be implemented here to dismiss the ATROPOS refinement if the prior and the posterior do not overlap sufficiently (i.e., the WM was not correctly labeled or segmented) Resolves: nipreps/smriprep#125 (at least for ds005/sub-08).
For ds005/sub-08, this revision of the workflow actually made ATROPOS work better, and find a decent segmentation. ds051/sub-06 is a case with hyper-intense vessels that still confuse ATROPOS (even with the better INU correction). However, with the multiplication of the WM posterior from ATROPOS with the WM prior from the template, the INU correction is not so horrible after all: left is the segmentation from ATROPOS showing how it picks only the brightest spots as WM (white color), right is the weights image for N4 (i.e., product of the WM posterior and the WM prior) and middle is the final, INU-corrected image. |
This is to say that I would keep working on PR to get it to work on ds005/sub-08 (meaning, the ATROPOS segmentation should not look like above - #125 (comment)), and then address ds051/sub-06 on a different PR, including the idea of estimating the overlap of the different posteriors from ATROPOS and the WM prior from the template |
Sorry for the multiple posting - the reportlet from ds051/sub-06 just came out: It indeed seems fixed (although the ATROPOS refinement did not). See before above - #125 (comment) Please let me know if you agree with the proposed plan: 1 - finish this PR (address comments, test on more data, etc.) |
a definite improvement, though not the best brain mask. plan sounds good to me 👍 |
fmriprep-1.5.1rc1 - ds005/sub-08
The text was updated successfully, but these errors were encountered: