A question regarding -cenmode NTRP

Hi,

I have a methodological or computational question regarding the “-cenmode NTRP” function by 3dTproject that uses linear interpolation on censored sampling points.
This option is not yet implemented in AFNI proc.

Would it be ok to run AFNI proc with motion censoring, and, after AFNI proc finished, to go back to the “pb04…r01.blur+tlrc.HEAD” file in order to run -cenmode NTRP again as follows?


# 3dTproject
3dTproject \
-input pb04.${subject}_Rest.r01.blur+tlrc.HEAD \
-polort 0 \
-censor censor_${subject}_${session}_combined_2.1D \
-dsort Local_WMe_rall+tlrc \
-cenmode NTRP \
-ort X.nocensor.xmat.1D \
-prefix errts.${subject}_${session}_NTRP.anaticor

The output of this code would produce a new .errts file, but an .errts file with linear interpolation (NTRP mode). My question is simply if this way of running NTRP “afterwards” can lead to any non desired effects precisely because -cenmode NTRP is not directly implemented in the ongoing preprocessing stream by AFNI proc.

That looks okay, though I am curious why you would want to do this. What will be the next step(s) with the result?

  • rick

I am interested in computing the signal’s autocorrelation.
Some subjects showed heavy head motion now and then. Therefore, and in order to keep the time-series intact, I wanted to rather censore (and then interpolate) the respective TRs.

However, I now think that I will run the interpolation in Python, such as via cubic splines.

Let me know if you have any comments on this from the AFNI side of things.

I would expect the autocorrelation to be highly inflated by any termporal interpolation.

Assuming this is task data, performing a regression with 3dREMLfit should account for an ARMA(1,1) noise model, rather than using a simple least squares fit method, as would be done by 3dDeconvolve or 3dTproject.
Presumably this is not rest data.

  • rick

Hi Rick,

thanks for the feedback.
This is a resting-state run, hence processed with a resting-state script. I compute the autocorrelation across the complete run. I applied cubic polynomial interpolation on the .errts file in Python, and the before (.errts without interpolation) vs. after (.errts with interpolation) look good when I plot the time-series.

One question: is there a chance that some sort of interpolation methods are going to be included in AFNI proc anytime in the future?

Thanks for your help,
Philipp

Hi Philipp,

It would certainly be possible to add such an option. But I worry about the use. Not only will interpolation (inappropriately) add to the autocorrelation, but note that autocorrelation itself is expected in what is considered akin to a BOLD time series (rest after nuisance projection). How are you planning to apply the autocorrelation measures or results?

  • rick

I am interested in the autocorrelation itself (as an end product so to speak). For example, I am interested at what TR (or seconds) the autocorrelation reaches or drops below 0 (first zero crossing).

How would you measure that, generally speaking? Options:

  1. No motion censoring in AFNI, hence no interpolation.
  2. Motion censoring in AFNI, then some kind of interpolation.
  3. Motion censoring in AFNI, but no interpolation (leaving the censored TRs as zeros).

Well, for measuring temporal AC, censoring would certainly not be appropriate, either with zeros or by collapsing.
High motion will be destructive to this in one way or another, for all of these cases.

So given the choice between no censoring and interpolated censoring, it is difficult. High motion has drawbacks for each. If no censoring is done, that will probably drive down the AC values. With interpolation, that will probably drive them up. Should you do both and expect to be in the middle? :slight_smile:

It might indeed be good to compare a bit.

  • rick

Good points, thats what I thought too. Since some subjects showed kinda heavy head motion now and then, I wanted to censore and interpolate instead of “losing” or reducing the autocorrelation due to head motion. Censoring plus interpolation probably leads to more realistic results.

Moreover, the optimal solution would probably depend on the individual subject too, that is, depending on the specific head motion and censoring. Of course, one cannot run different motion censoring thresholds for each subject to get the best out of this situation.

Anyway, thanks for your help so far, the topic is solved from my side.