A method of processing OCT data sets for correcting for motion distortion due to relative motion between an OCT imaging instrument and an object being imaged, comprising: acquiring at least a first three-dimensional OCT data set using a first scan pattern and a second three-dimensional OCT data set using a second scan pattern, wherein the first and the second scan patterns are complementary; computing, based on a value of an objective function, two or more three-dimensional transforms, that is displacement fields to undistort the data (1302a; 1302b; 1302N), each three-dimensional OCT data set associated with a respective three-dimensional transform, said three-dimensional OCT data sets representing at least partially overlapping regions of an object, wherein said computing includes evaluating the objective function by: (a) calculating similarity between (i) two or more three-dimensional OCT data sets in a transformed state, or (ii) two or more preprocessed three-dimensional OCT data sets in the transformed state, and (b) estimating motion of the object relative to the imaging instrument; and applying at least one three-dimensional transform to its respective three-dimensional OCT data set or to a derivative three-dimensional OCT data set corresponding to the respective three-dimensional OCT data set to obtain at least one motion-corrected OCT data set, wherein evaluating the objective function includes penalizing motion of the object relative to the imaging instrument and favoring similarity between either (i) the two or more three-dimensional OCT data sets in the transformed state or (ii) the two or more preprocessed three-dimensional OCT data sets in the transformed state. acquiring at least a first three-dimensional OCT data set using a first scan pattern and a second three-dimensional OCT data set using a second scan pattern, wherein the first and the second scan patterns are complementary; computing, based on a value of an objective function, two or more three-dimensional transforms, that is displacement fields to undistort the data (1302a; 1302b; 1302N), each three-dimensional OCT data set associated with a respective three-dimensional transform, said three-dimensional OCT data sets representing at least partially overlapping regions of an object, wherein said computing includes evaluating the objective function by: (a) calculating similarity between (i) two or more three-dimensional OCT data sets in a transformed state, or (ii) two or more preprocessed three-dimensional OCT data sets in the transformed state, and (b) estimating motion of the object relative to the imaging instrument; and (a) calculating similarity between (i) two or more three-dimensional OCT data sets in a transformed state, or (ii) two or more preprocessed three-dimensional OCT data sets in the transformed state, and (b) estimating motion of the object relative to the imaging instrument; and applying at least one three-dimensional transform to its respective three-dimensional OCT data set or to a derivative three-dimensional OCT data set corresponding to the respective three-dimensional OCT data set to obtain at least one motion-corrected OCT data set, wherein evaluating the objective function includes penalizing motion of the object relative to the imaging instrument and favoring similarity between either (i) the two or more three-dimensional OCT data sets in the transformed state or (ii) the two or more preprocessed three-dimensional OCT data sets in the transformed state.