Motion correction and/or coregistration of threedimensional arrays (medical imaging data) are performed by applying a userdefined mask of voxels. Normalized crosscorrelations (in 3D) are computed using the FFT.
1 
input 
is a fourdimensional array of signal intensities. 
mask 
is a threedimensional array of logical values (voxels
to be included are 
template 
is a three dimensional array (the same structure as

plot 
is a flag that determines if a plot of the motion
correction as a function of the fourth dimension (default =

... 
Additional variables passed to the 
An extremely basic method of motion correction/coregistration is
implemented by estimating “local” crosscorrelations based on a
binary mask that is a subset of the original threedimensional volume.
All convolutions are preformed via the FFT (fft
) and
repetitive calculations are minimized where possible.
Only wholevoxel translations are considered. This does not begin to capture the true effects of motion in soft tissue, but we assume that the object of interest (e.g., tumor) is a fairly rigid structure. Potential extensions include rigidbody, affine and nonlinear registration techniques along with interploation schemes in order to capture intravoxel manipulations of the data.
A list of objects are returned:
out 
Motioncorrected version of the fourdimensional array. 
offset 
Translations (in 3D) for each volume in the 4D array. 
t.center 
Estimated center of the binary mask. 
Brandon Whitcher
Lewis, J.P. (2003) Fast normalized crosscorrelation. www.idiom.com/~zilla/
conv.fft
, find.center
, shift3D
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.