-
Notifications
You must be signed in to change notification settings - Fork 127
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
Tissue class mapping wrong with T2w inputs #1171
Comments
@WilliamFCB : When you look at the actual segmentation maps, are you seeing the same thing that I'm reporting above? |
#1099 switched to Atropos, and was included in 23.1.0, but I believe it does the same thing of simply ordering tissues by mean intensity. It looks like fixing this will be non-trivial, as T1w assumptions are baked into the workflow, and then all anatomical images are passed with no additional parameterization: mriqc/mriqc/workflows/anatomical/base.py Lines 91 to 109 in 24f786a
It shouldn't be a terribly difficult job, though. The fix seems to me be adding a contrast weighting input to the iterable (using synchronization to keep the variables paired), and pass it as an input to any subworkflows that need to adjust their behavior based on the weighting. Are there other effects that you're seeing, or is it simply that we need to select an alternative tissue mapping for T2w images? |
@mharms, I did not really look before I posted. I just saw your post and thought it deserved a response. Anyway, having said that, I just located the T2 segmentation files and had a look. Cheers William |
Ordering by intensity would have WM < GM in a T2w scan, so if Atropos is assigning numeric segmentation labels consistent with the ordering in a T1w scan, it wouldn't be ordering by intensity. |
The following is based on my experience with running T2w anatomical scans through version
22.0.6
, but looking through the current code in themaster
branch, I don't see any reason to expect that it wouldn't be an ongoing problem with the current version.This line of code
https://github.com/nipreps/mriqc/blob/24f786ae9e312b55830139e354627e837ea5703a/mriqc/qc/anatomical.py#L213C1-L213C16
defines the following mapping between the tissue labels used in MRIQC and the FAST segmentation labels:
FSL_FAST_LABELS = {"csf": 1, "gm": 2, "wm": 3, "bg": 0}
That mapping is indeed correct for T1w anatomicals. But at least in our T2w data, the typical segmentation that we are getting out of FAST (as launched by the MRIQC default settings) has GM = 1, WM = 2, and CSF = 3. But MRIQC doesn't appear to account for that altered mapping for T2w data.
The end result is that any MRIQC metric that is dependent on the T2w segmentation is either mislabeled, or just wrong (e.g., CJV and CNR are intended to be based on GM and WM, but per above what MRIQC is labeling "wm" is typically actually CSF, and what it is labeling "gm" is typically actually WM, in the case of T2w data).
The text was updated successfully, but these errors were encountered: