Hi Rick,
When looking at the output of afni_proc.py I used history to look at how the TSNR images are created and found the following:
3dTcat -prefix all.runs.$sub.pb04 $out_dir/pb04.$sub.r01.volreg+orig
3dTstat -mean -prefix rm.signal.all.pb04 all.runs.$sub.pb04+orig
3dTproject -polort 0 -input all.runs.$sub.pb04+orig -censor $out_dir/censor_${sub}_combined_2.1D -cenmode ZERO -ort
$out_dir/X.nocensor.xmat.1D -prefix errts.$sub.tproject.pb04
3dTstat -stdev -prefix rm.noise.all.pb04 errts.$sub.tproject.pb04+orig
3dcalc -a rm.signal.all.pb05+orig. -b rm.noise.all.pb05+orig. -expr a/b -prefix TSNR.$sub.pb04
My question is that other blogs/softwares etc that I looked at calculate tSNR by using mean image/standard deviation of image to get the voxelwise tSNR. AFNI on the other hand seems to use mean of image/standard deviation of the residuals of the image to get the voxelwise tSNR. I was wondering why this approach was taken (are the other calculations of tSNR overly simplistic in nature?).
I'm guess the stdev of the residuals would capture unmodeled noise as well as signal of interest (since we use the residuals as our input for correlation analysis after further processing) but I figured I'd see your thoughts on the matter. Additionally, if one were to compare the tSNR at various stages of processing, would percent change be a valid comparison (tsnr2 - tsnr1)/tsnr2 or is there a more appropriate way of comapring the two?
Thanks,
Ajay