-
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
MP2RAGE skull-stripping #18
Comments
Another option is using a skullstripping procedure designed for MP2RAGE such as the one implemented in nihighres
More info at https://doi.org/10.1093/gigascience/giy082 |
I'm working on this for a 7T dataset we have, for which the only anatomicals are MP2RAGE images. My workflow is to take the magnitude image of the second inversion, and thresholding that after running it through ANTS' |
A pull request would be awesome (I am not currently working on this). Assuming the data will be formatted according to BEP001 is the way to go. Thank you in advance for your contribution! |
Is there anyone working on this? As far as I understand, there are at least two viable options to work with mp2rage images: (1) use the second inversion image (INV2) to create a brain mask and then apply that mask to the uniform image (UNI) - basically getting rid of the background noise that irritates freesurfer. Are there there any suggestions / experience regarding which of the two is the better or more reliable option? I'm happy to work on a PR but would like some input first. |
I @marcpabst, your comment is the most memorable advance there's been on this line. In other words, contributions are very welcome! Regarding which method is preferable, I honestly don't have the experience to tell you what alternative looks best. With (1) I'd be careful that BIDS mandates the INV2 image is present in the dataset. If not, then this implementation will only serve for a few edge cases. For (2), I haven't seen any examples of the brain extraction problem in particular within the @Gilles86's repo, but it was a very fast look. |
You're right. @Gilles86's repo does not contain the specific implementation, my mistake. However, I already created a python implementation for testing purposes. For mp2rage datasets, there should be always a second inversion present. In fact, both approaches depend on it - there is basically no way (I know of) to get away without it. I will have to look at BEP001 in detail, but I suspect this shouldn't be a problem. As far as I know there are at least two flavors of MP2RAGE file structures you can get from a scanner: (a) two magnitude images (one for each inversion) and a unified T1w image Regarding the choice of methods, it looks like both the usage of (1) and (2) is reported in literature, although the masking approach seems to be more popular - which obviously doesn't mean it's the superior option. Maybe @JosePMarques can comment? I'm also not sure how much pre-preprocessing should be expected. Are users required to provide a unified T1w image (if the scanner doesn't provide one) and should the pipeline take care of that if it's missing? (parts of this will probably depend on the BIDS specification) |
Hey guys, A few cents: I think especially these two examples are useful:
Note that we want to rename the suffix B) I have collected MP2RAGEs both on Siemens and Philips-systems. On both you always got access to the INV1 and INV2 images, both magnitude and phase. I think MP2RAGEs are currently "somewhat" of an edge case themselves, but when you collect them, it would really be a waste to throw the INV1 and INV2 images away. C) Note that the 'Robust'/'Regularizing' approach of O'Brien et al. also reintroduces the B1 bias field that you use the MP2RAGE to get rid off in-the-first place. If you would use the regularizedcd MP2RAGE image to feed into brain stripping algorithms, it would be good to then use that mask on the original, unregularized MP2RAGE image as input to subsequent segmentation steps. D) @marcpabst , that Python implentation looks great! Would you be willing to incorporate your code in my E) I have been struggling with skull-stripping MP2RAGEs for 2+ years now and I still haven't found a recipe that works without manual intervention. Having said that, my standard are very high, since I try to do sub-millimeter 7T fMRI. If you want to see what I currently do, have a look here: Part of the trick is using the
It is important to bias-field correct this INV2 image before you do that though! Cheers, |
Hi Gillles, thanks for your detailed and helpful comment.
That's a good idea to avoid confusion, making sure that one cannot expect a familiar-looking "normal" T1w image.
I will gladly do so.
O'Brien et al. described the introduced homogeneity as "mild", whatever that means. I was also wondering about possible noise within the brain and if that would be problematic in regards to further processing steps like segmentation.
I think that's the way to go for our own purposes. Are there any general caveats with this approach compared to the option you chose? Regards, |
Hey Marc,
Cool!
I think the choice of regularization parameter is very important: when you regularize too aggressively, you can potentially "eat" parts of the brain away and/or reintroduce strong inhomogenieties. In my experience, it goes wrong exactly where you don't want it to go wrong: at the CSF/GM-boundary (maybe partial volume effects?). Another issue is that on standard PD-weighted INV2-images, the sagittal sinus has exactly the same intensity as the gray matter. Again, most brain stripping/segmentation algorithms then include it as gray matter. The solution we used is to acquire MP2RAGE-MEs, with a multi-echo INV2. The sagittal sinus, unlike gray matter, loses signal at later echoes due to T2*-effects. Finally, at (submillimeter) MP2RAGE you start seeing the dura very well and Freesurfer has the tendency to include it into the Gray matter Mask. So inspect your surface reconstructions very carefully, especially the occipital pole. This internal presentation I gave might interest you: Just out of curiosity: Can I ask what kind of data you are working with? These issues are all less pressing when you just stay in the 1mm regime. |
Hi Gilles, thanks for your thorough explanation and also for providing me with your great presentation. I'm just beginning to get a grasp of this stuff - I'm a psychology undergraduate and currently also a research intern at the Max-Planck-Institute in Leipzig so I really hoping that I'm not annoying you too much. The functional dataset I'm working with uses mprage images for (pre)processing if possible, but for some probands, there are only mp2rage scans available. So we don't really care about sub-millimeter resolution (although the people who originally acquired them probably do), but basically want to use mp2rage images as we do with the mprage images. So far, we've used the 'creating-a-brain-mask-from-INV2'--approach - it works quite well but on close examination it suffers from some of the problems you mentioned (e.g. poor contrast between tissues for INV1) so I wondered if there might be a better option. Cheers, |
Hi Marc and Gilles, I haven't put much effort in terms of comparing methods to better perform brain extraction. I agree with Gilles worry that when you over regularize, you get the bias field back in the image... on the other hand MPRAGEs have always had bias problems, and most segmentation software expects this bias to exist. So, my standard recommendation is to use the regularization for brain masking and co-registration purposes. Once it is about using freesurfer, getting cortical thickness or cortical maps, use the previously derived brain mask and apply it to the T1 or R1 maps (CBS tools prefers T1 maps, freesurfer prefers R1 maps). Note that ideally this T1 and R1 maps should have been corrected for what is called transmit field B1 inhomogeneity (you can find code to do this in my github). If you don't use it and your protocol is very transmit field sensitive you can get problems as the one described in this paper: https://onlinelibrary.wiley.com/doi/full/10.1002/hbm.24011). Hope this helps... Jose |
Hello everyone, In our lab, we like the segmentation from CAT12, the extension of SPM12. Using @JosePMarques https://github.com/JosePMarques/MP2RAGE-related-scripts to remove the noise background, we found the CAT12 segmentation have a lot less leakage. Still with visual inspection. However, It's not perfect. Best, |
@satra, is kwyk working on MP2RAGE? |
i don't know the answer - at present as long as it looks like a T1 it works. however, if you are just looking for skull-stripping, then we have found HD-BET to be fairly robust across scan types. the trained model is available for use. |
Make MP2RAGE amenable to
antsBrainExtraction.sh
. One possibility, as @chrisfilo mentioned in #231 is using the inversion echoes poldracklab/pydeface#15.The text was updated successfully, but these errors were encountered: