N/A WhiteMatter confounds in TSV output file


We used FMRIPREP 1.3.0.post2 to preprocessed our data and we got N/A for WM confound in the TSV files, however the aCompCor mask look fine


What would you recommend?



The aCompCor mask looks like it’s mostly confined to CSF. Can you show your anatomical segmentation? That’s what the WM and CSF signals are based on.


Here is the anotomical segmentation.

Thank you for the quick response.

It looks like the inhomogeneity in the center of the brain is not being marked as white matter, so when we erode the white matter mask, you’re probably getting a very small ROI. I would verify this by looking at the dseg.nii.gz files in a volume viewer, but I think you’re going to find a hollow mask.

I have looked at the dseg.nii.gz and you are right that the white matter is not being mark in the center of the brain. How should I approach this then? I also have try to rerun with newer version of fmriprep however, the output still suffer from in-homogeneity as well as bad skull-strip in another issue.


Unfortunately, I don’t think newer versions of fMRIPrep are going to help with this at this point, because we haven’t made any changes to our INU correction (ANTs N4) or segmentation (FSL FAST). The skull stripping looks good, so I might suggest using ANTsBrainExtraction on this image yourself. Among the outputs should be ANTs’ estimate of tissue classes. If that’s significantly better, we could try allowing you to swap FSL FAST with ANTs Atropos.

Hi @oesteban and @effigies,

This is summary of what we have tried to solve the problem we encountered in this post and previous posts.

Section 1:

We noticed that there were inhomogeneity problem in FMRIPREP 1.3.0.post 2 which may resulted in bad segmentation as mentioned in earlier post. Then we set up a minimal processing pipeline in which we created a template image from multiple T1s if available then we ran the init_brainextraction_wf (brainextraction_wf) from niworkflows ( v.0.10.3rc1 )

mri_roburst_template --> brainextraction_wf (niworkflow v.0.10.3rc1) --> ATROPOS/FAST

Overall, the bad segmentation results from FMRIPREP were fixed when we ran all of the bad subjects that with the minimal processing pipeline. See the following figures for more details.

Figure 1 : ( Left ) ATROPOS brainextraction_wf, ( Middle ) FAST brainextraction_wf, ( Right ) FMRIPREP (1.3.0.post2)

Figure 2 : Subject 02 - ( Left) ATROPOS brainextraction_wf, ( Middle ) FAST brainextraction_wf, ( Right ) FMRIPREP (1.3.0.post2)

Section 2 :

From these results we were confident that good segmentations could be achievable on our dataset and so the next step was to examine at which point did FMRIPREP’s workflow begin to run into issues. To examine this, we directly checked the bias corrected output of the t1_merge node from FMRIPREP v.1.4.1 (which to our understanding is then fed into the brainextraction_wf) and fed that into niworkflows( v.0.9.6 ) directly. However, we first noted that despite an initial INU correction, an inhomogeneity gradient still existed ( see figure 3 for details) and we further used this T1_template from t1_merge node as the input and ran it with the minimal processing pipeline (brainextraction_wf from niworkflows, v.0.10.3rc1 ). It is noteworthy to note that this inhomogeneity was not apparent when we ran the T1_template (was not bias corrected) image through brainextraction_wf from our initial minimal processing pipeline ( Section 1 ).

Figure 3: ( Left ) FMRIPREP 1.4.1 t1_merge work node; ( Middle ) initial minimal processing pipeline (T1_roburst_template and brainextraction_wf); ( Right ) FMRIPREP 1.4.1 t1_merge work node and brainextraction_wf.

Next, we ran ATROPOS AND FAST on the t1_merge outputs from brainextraction_wf and both results were better than output from FMRIPREP 1.4.1. Importantly, these segmentation results were consistently better among numbers of bad subjects from FMRIPREP 1.4.1. Lastly, ATROPOS seem to produce slightly better and more consistent segmentation in comparison to FAST

Figure 4 : ( Left ) FMRIPREP 1.4.1 T1_dseg.nii.gz segmentation; ( Middle ) t1_merge output, brainextraction_wf, and ATROPOS; ( Right ) t1_merge output, brainextraction_wf, and FAST.

Figure 5 : ( Left ) FMRIPREP 1.4.1 T1_dseg.nii.gz segmentation; ( Middle ) t1_merge output, brainextraction_wf, and ATROPOS; ( Right ) t1_merge output, brainextraction_wf, and FAST.

Figure 6: ( Left ) FMRIPREP 1.4.1 T1_dseg.nii.gz output; ( Middle ) t1_merge output, brainextraction_wf, and ATROPOS; ( Right ) t1_merge output, brainextraction_wf, and FAST.

In summary, we encountered inhomogeneity issues which resulted in bad segmentation for our dataset through FMRIPREP workflow ( 1.3.0 post2 ). We set up a minimal processing pipeline (mri_roburst_template > brainextraction_wf > ATROPOS/FAST) which imrpoved previous bad segmentation results. Secondly, to examine at which point FMRIPREP’s workflow ( v.1.4.1 ) ran into issues we examined the T1 template image from t1_merge node, we noted that there was still inhomogeneity gradient depiste of the original INU correction in FMRIPREP 1.4.1 workflow. We then ran these outputs from t1_merge node through minimal processing pipeline (brainextraction_wf > ATROPOS/FAST), and the segmentation were better in comparison to FMRIPREP 1.4.1. Lastly, we showed that ATROPOS provide slightly better and more consistent segmentation than FAST.

Step 3 (Optional): In addition, we also tried to denoise the T1 image and then ran this through our minimal processing pipeline.The results are seem slightly better with results from Section (1)

Figure 7: (Left) Denoised, brainextraction_wf, ATROPOS; (Right) Denoised, brainextraction_wf, FAST.



If I’m clear, you’ve found that taking the results of our t1_merge, running our brainextraction_wf and then FAST did better than fMRIPrep’s?

Are you running with FreeSurfer, because the only difference between that and our pipeline is that we refine the brainmask with FreeSurfer results before running FAST, if they’re available.

Yes without the brainmask refinement with FreeSurfer and running brainextraction_wf on t1_merge produces better outputs than fMRIPREP and we are looking into how FreeSurfer refinement influences segmentation quality on our data set.

Hi @effigies,

To follow up, I have used the refined brainmask from fmriprep_wf and fed into either FAST or ATROPOS.

We initially ran FAST we did not use the -N option, and when we ran FAST with -N reproduces fFMRIPREP’s output, which was worse compared to not using -N. Therefore, we think that it is because the bias field corrected image in 1.4.1 does not seem to remove in-homogeneity, so FAST’s bias field correction was beneficial in this case. More importantly, ATROPOS did better presumably because it applies an initial N4 biasfield. We are unsure why fMRIPREP’s N4 routine is not working effectively on our data set at the moment, something that might be investigated. Notably, the refined brainmask output produce nearly identical segmentation to the unrefined brainmask version.

Figure1: (Left) fMRIPREP_FAST – T1egmentation output; (Middle) FAST_Bias_Field_Removed – T1 segmentation output ; (Right) ATROPOS – T1 segmentation output.

Thank you,

Hi @ThomasTT, thanks for tracking this down!

I’ve opened https://github.com/poldracklab/smriprep/issues/109, where we can decide on the best way to resolve the issue.