Computation of motion parameters (sct_fmri_moco)

Hi SCT team,

I have a question regarding the computation of volume-wise motion parameters, when using sct_fmri_moco. Indeed, I have noticed that those parameters are computed by taking the mean over the slices for each volume, as done in l426 of moco.py (SCT v6.1).

# Calculating the slice-wise average moco estimate to provide a QC file
moco_param.append([np.mean(np.ravel(im_warp_XYZ[0].data)),np.mean(np.ravel(im_warp_XYZ[1].data))])

I am wondering if using the mean of the absolute motion for all slices might provide a clearer picture. Currently, it seems like negative motion in one slice might be offset by positive motion in another. What do you think about considering the absolute values for a more straightforward representation of motion?

Thanks for your help!
Nawal

2 Likes

Hi @Nawal_Kinany,

Great catch! Thank you for reporting it. I agree with your suggestion and have opened an issue about it.

Cheers,
Julien

Thank you!

Cheers,
Nawal

We need further inputs from the community to decide how we want to implement the feature, please chip in: Averaging of motion parameters should use unsigned displacement · Issue #4344 · spinalcordtoolbox/spinalcordtoolbox · GitHub