Skip to content
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

add warning to confounds description page #1049

Open
satra opened this issue Apr 11, 2018 · 18 comments

Comments

6 participants
@satra
Copy link

commented Apr 11, 2018

  1. if i'm already using aroma cleaned data, it does not make sense to further regress the aroma regressors.
  2. also it may not make sense to use global signal regression and a/t compcor
  3. if i'm doing my own high pass filtering, using the cosine filters could interfere

since it's so easy to add the entire confounds.tsv to a feat or other analysis, it may be useful to add a warning that people should selectively add confounds relevant to their specific analysis.

@chrisgorgo

This comment has been minimized.

Copy link
Contributor

commented Apr 11, 2018

We should add this to documentation. Maybe in red.

@alexlicohen

This comment has been minimized.

Copy link

commented May 23, 2018

Per the AROMA paper, WM and CSF confounds were regressed after AROMA. How does one do this with fMRIprep? I'm presuming we'll have to extract new timecourses using WM and CSF masks from the AROMA residual nii.gz?

We validated ICA-AROMA by applying it to rfMRI and stop-signal task fMRI data (SST-fMRI). We compared results obtained with ICA-AROMA to two commonly applied motion correction strategies: extensive nuisance regression including 24 RPs, and spike regression. All three preprocessing strategies were complemented by standard nuisance regression including time-series for WM and CSF signal as well as a linear trend to remove residual (non-motion related) structured noise.

Therefore, motion artifacts are preferably removed prior to temporal filtering. To accommodate this, we designed ICA-AROMA to be applied prior to temporal filtering. Moreover, applying secondary motion artifact removal prior to temporal filtering not only prevents ringing artifacts but additionally prevents removal of low-frequency motion-related signal variance which can aid in identification of motion artifacts. Similarly, as signal from WM and CSF time- series might also contain variance related to motion artifacts, we applied ICA-AROMA prior to nuisance regression. Additionally, we applied ICA-AROMA after spatial smoothing. Spatial smoothing will blur motion-related artifacts to neighboring voxels. Yet, as spatial smoothing will increase signal to noise ratio by reducing speckled noise, it will increase the ability of ICA to detect coherent signal patterns, including better separation of structured artifacts. Note that we did not include slice-timing correction in our preprocessing pipeline. Although slice-timing correction might interact with motion-induced artifacts, it is not expected to substantially alter the characteristics of the motion components and therefore impact the ICA-AROMA classification accuracy.

It should be noted that ICA-AROMA is specifically designed and validated with respect to removal of motion-related artifacts. Accordingly, we advise to check your data for any remaining structured artifacts and remove residual structured noise after application of ICA-AROMA. We implemented the removal of residual noise by means of WM and CSF regression. Note that to prevent the risk of removing signal of interest due to spatial smoothing or inaccurate WM and CSF masks, a conservative approach is advisable. Here, we extracted mean WM and CSF signals using masks obtained by multiplying a participant-specific tissue prior with an MNI152-derived tissue prior, both thresholded at a very conservative threshold of 95% tissue probability.

@satra

This comment has been minimized.

Copy link
Author

commented May 23, 2018

this may help: http://fmriprep.readthedocs.io/en/latest/outputs.html#confounds

but yes, you will need to separately select the useful confounds and regress these out.

@alexlicohen

This comment has been minimized.

Copy link

commented May 23, 2018

This issue/question though, is that the columns in confounds.tsv represent the timecourses extracted from the data PRIOR to AROMA.

So should we 're-extract' timecourses after AROMA using the same ROIs from the AROMA residual?
per #817 and #959

(trying to come up with an ad-hoc solution in the meantime to understand our data.)

@satra

This comment has been minimized.

Copy link
Author

commented May 23, 2018

ah yes! this would also require transforming the csf/wm masks (*T1w_dtissue.nii.gz) to mni space, since aroma, at present, generates everything in that space. or transforming the mni output of icaaroma to individual space.

@oesteban - it may be useful to add post-aroma operations to generate additional confounds.

@alexlicohen

This comment has been minimized.

Copy link

commented May 23, 2018

exactly.

@effigies

This comment has been minimized.

Copy link
Collaborator

commented May 23, 2018

What all confounds should be recomputed? Global, WM and CSF signals would be easy. FD and motion parameters don't make much sense, as motion will not be re-computed. I'm not sure about DVARS, aCompCor or tCompCor.

@satra

This comment has been minimized.

Copy link
Author

commented May 23, 2018

Global, WM and CSF signals would be easy. FD and motion parameters don't make much sense, as motion will not be re-computed.

+1

I'm not sure about DVARS, aCompCor or tCompCor.

i think those would all change post aroma.

@effigies

This comment has been minimized.

Copy link
Collaborator

commented May 23, 2018

I agree they'd change, but would they be sensible to use post-AROMA?

Also, what should we call the recomputed columns? <confound>_variant-AROMA? Or just <confound>_AROMA? Other ideas?

Edit: Implicit in this is the position that we should not simply replace the contents of the original columns. I'm not sure if everyone has been working from that position, but I will argue it if needed.

@satra

This comment has been minimized.

Copy link
Author

commented May 23, 2018

<confound>_AROMA

+1

but would they be sensible to use post-AROMA?

if someone has a concrete answer to this, i would be interested - :) . it seems in the absence of any ground truth, this is mostly a speculative/application specific question.

@alexlicohen

This comment has been minimized.

Copy link

commented May 23, 2018

Edit: Implicit in this is the position that we should not simply replace the contents of the original columns. I'm not sure if everyone has been working from that position, but I will argue it if needed.

completely agree.
I vote for <confound>_variant-postAROMA

Global, WM, and CSF would make sense (albeit regressing the global signal after AROMA, is questionable of course)

@chrisgorgo

This comment has been minimized.

Copy link
Contributor

commented May 23, 2018

@alexlicohen The paper only clearly states when the regression was performed, but not at which stage the signals were extracted. Would be good to clarify with authors: @maartenmennes in the pipeline from the ICA-AROMA paper did you extract WM and CSF signals prior or post non-aggressive denoising?

@effigies Why not stick to CamelCase to keep names consistent? WhiteMatterPostAROMA?

Finally I just thought about one more approach that @alexlicohen might want to try: orthogonalizing WM and CSF regressor against the noise ICA AROMA regressors already present in the confounds file.

As a side note I have an impression that we are splitting hairs here and there is no clear answer how much the order of signal extraction steps influences the result and which order is the best one (+1 to what @satra said).

@alexlicohen

This comment has been minimized.

Copy link

commented May 23, 2018

To me, this is largely trying to avoid the "I'm doing the analysis a second way to address the concerns of Reviewer 2" problem...

@effigies

This comment has been minimized.

Copy link
Collaborator

commented May 23, 2018

@effigies Why not stick to CamelCase to keep names consistent? WhiteMatterPostAROMA?

I was thinking of it from a FitLins perspective, such that if people pass in --variant=AROMA (or whatever we're calling the variant), to adjust CSF to CSV_variant-AROMA automatically, but the exact indicator doesn't need to match that on the filename.

So anyway, whatever people decide on is fine with me. From the perspective of the functional derivatives spec, we should discuss this case and, settling on some spec-endorsed separator <sep> (e.g. "Post"), define <confound><sep><method> as a variant of <confound> calculated after <method> was applied to the original data. Then we should have a table of <method>s that might be used (I assume AROMA isn't the only one), and it would probably be worth noting which confounds make sense to calculate and apply post-<method>, so that downstream projects can have an expectation of what to look for.

@oesteban

This comment has been minimized.

Copy link
Contributor

commented May 23, 2018

If I interpret correctly, we also need to apply ICA-AROMA on the original time-series without motion correction, is that correct? @alexlicohen @satra

@alexlicohen

This comment has been minimized.

Copy link

commented May 23, 2018

no, they ran MELODIC after motion correction, intensity normalization, and 6mm FWHM smoothing. (no slice timing, but I would not advocate getting rid of it in fmriprep of course).

ICA-AROMA takes the place of regressing out the motion parameters, be they 6, 9, 12, 24, or 72:

We defined a 72RP model, including the standard 24RP model (6 standard RPs, their derivatives, and the quadratic terms of these 12 RPs), as well as a single time-point backward and a forward shifted version of the 24RP model to reflect possible non-linear effects.

WM, CSF, linear trend, and highpass filtering were then done afterwards.

@oesteban

This comment has been minimized.

Copy link
Contributor

commented May 23, 2018

they ran MELODIC after motion correction

Okay, cool. Otherwise we could feed AROMA directly with motion-UNcorrected images and then apply motion correction on the AROMA-denoised outputs

@maartenmennes

This comment has been minimized.

Copy link

commented May 24, 2018

Aloha, two points:

  • yes, any further variable you want to regress out is taken from the data after AROMA denoising. Obviously, if you want to include WM, CSF regression together WITH the regression of the AROMA identified components, you would extract these regressors from the preprocessing step just before doing that regression. In that sense, we assigned priority to regressing out motion-related components before regressing out other noise. (which relates to the whole discussion about aggressive vs. non-aggressive denoising)

  • the 6mm smoothing kernel is a bit unfortunately displayed in the paper. We should have left the exact kernel out of that figure. For the data in the manuscript (3.5mm isotropic), we used 6mm smoothing, which comes from ceil(1.5 * the voxelsize), which is what we typically use as our smoothing kernel. So for 3mm data, we'd use 5mm.

  • third minor point: under the KISS principle I would advocate getting rid of slice timing correction (we never apply that in our preprocessing). But that is a whole other discussion... :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.