Goofy plots of volreg outputs in 1dplot when invoking certain columns


I’m trying to inspect my study datasets for head motion in an expedient manner, using 1dplot with the -volreg option. 3dVolreg states that its output files are configured thus:

The output is in 9 ASCII formatted columns:

                n  roll  pitch  yaw  dS  dL  dP  rmsold rmsnew

       where:   n     = sub-brick index
                roll  = rotation about the I-S axis }
                pitch = rotation about the R-L axis } degrees CCW
                yaw   = rotation about the A-P axis }
                  dS  = displacement in the Superior direction  }
                  dL  = displacement in the Left direction      } mm
                  dP  = displacement in the Posterior direction }
               rmsold = RMS difference between input brick and base brick
               rmsnew = RMS difference between output brick and base brick

so when I run 1dplot -xlabel -volume-TR -volreg -yaxis -4:4:1:4 -jpg 1dplot-rotation Task3dmotion.1D’[1…3]’ I’m expecting to see three stacked plots of yaw, pitch and roll (with Y axes labeled as such)

so when I run 1dplot -xlabel -volume-TR -volreg -yaxis -4:4:1:4 -jpg 1dplot-displacement Task3dmotion.1D’[4…6]’ I’m expecting to see three stacked plots of dP, dL and dS (with Y axes labeled as such)

However, this second script yields “yaw” “pitch” and “roll” also! Moreover, the same tracing labeled “roll” in the ‘[1…3]’ invocation is now labeled “pitch” in the ‘[4…6]’ invocation.

Finally, when I leave out the column specifiers altogether, the resulting stack of 8 plots has the axis labels shifted, such that the TR (volume number) at bottom is now called “roll” and the top plot of deltaA-P has no label (I uploaded this image).

Something is seriously messed up here.


First, the ‘-volreg’ option can only be used when you input exactly the ‘[1…6]’ columns (roll pitch yaw dS dL dP). If you input anything else, the labels will be wrong (as you’ve seen). You can only get what you want by putting the desired labels in manually, as in

  1dplot ... -ynames dS dL dP - Task3dmotion.1D'[4..6]'

where the standalone ‘-’ means ‘this is the end of the -ynames list’.

As far as the graph you show, that is clearly all 9 columns of the file. Since you limit the y-axis range to be -4…4, the first column (‘n’) will go out of range at row 5. The last 2 columns (‘rmsold’, ‘rmsnew’) are probably out of this range entirely, so nothing is shown for them.

Thanks Bob,

I assumed incorrectly that using a sub-brik specifier with -volreg would still maintain the relative order of default labels, but would only invoke some of these.

I got why the results went off-axis scale for the acquisition number, I just was concerned about how the labels were mis-aligned relative to what each plot showed. When I generated that plot, I did not use any sub-brik specifiers. I’ll just manually specify the three labels for either 1…3 or 4…6 henceforth. -Jim