source files: xvol.[ch]
(XVOL-CIRCULATE-VOXELS-AXIALLY :VOXELS <grl:voxels> [ :AXIS <fix:axis> ] [ :DISTANCE <flo:dist> ] )
This function circulates the voxels along the given axis.
(Circulation rather than shifting was selected because the MRI data itself wraps around.)
voxels should be either a rank-three
CLASS-16-BIT-FLOAT-ARRAY or else a graphic relation
holding such an array, named :INTENSITY.
axis should be an integer in [0,2].
dist should be a float in [-1,1]. Voxel zero in each
row/col/etc being circulated will wind up at
truncate(dist*dimension) mod dimension, where
negative values are treated as
dist is given as a parametric value
rather than as an absolute voxel count in order to encourage
scale-independent coding, to facilitate testing code at
reduced resolution (128x128x128, say) and then applying it
at full resolution (256x256x256, perhaps).