A method, comprising: defining a first dataset based on a first scan of a first area of an object (10, 20, 40) using a first scanning mechanism including a laser, the first area being associated with a Cartesian grid; defining a second dataset based on a second scan of a second area of the object (10, 20, 40) using a second scanning mechanism including a laser, the first area of the object (10, 20, 40) intersecting the second area of the object (10, 20, 40), the second scan being performed during a time period that overlaps the time period during which the first scan is performed; calculating, based on the first dataset, a velocity of the object (10, 20, 40) along a direction of the laser, a first rotational velocity of the object (10, 20, 40) about a first axis orthogonal to the direction of the laser, and a second rotational velocity of the object (10, 20, 40) about a second axis orthogonal to the direction of the laser, the first axis being different than the second axis; defining a subset of the second dataset; resampling the subset of the second dataset as a resampled subset dataset, the resampling of the subset of the second dataset including performing an interpolation of the subset of the second dataset to align the subset of the second dataset with the Cartesian grid; estimating a motion correction based on the first dataset and the resampled subset dataset, the motion correction including an estimate to a velocity of the object in a direction perpendicular to the direction of the laser; and modifying at least one of the first dataset or the second dataset based on the motion correction. defining a first dataset based on a first scan of a first area of an object (10, 20, 40) using a first scanning mechanism including a laser, the first area being associated with a Cartesian grid; defining a second dataset based on a second scan of a second area of the object (10, 20, 40) using a second scanning mechanism including a laser, the first area of the object (10, 20, 40) intersecting the second area of the object (10, 20, 40), the second scan being performed during a time period that overlaps the time period during which the first scan is performed; calculating, based on the first dataset, a velocity of the object (10, 20, 40) along a direction of the laser, a first rotational velocity of the object (10, 20, 40) about a first axis orthogonal to the direction of the laser, and a second rotational velocity of the object (10, 20, 40) about a second axis orthogonal to the direction of the laser, the first axis being different than the second axis; defining a subset of the second dataset; resampling the subset of the second dataset as a resampled subset dataset, the resampling of the subset of the second dataset including performing an interpolation of the subset of the second dataset to align the subset of the second dataset with the Cartesian grid; estimating a motion correction based on the first dataset and the resampled subset dataset, the motion correction including an estimate to a velocity of the object in a direction perpendicular to the direction of the laser; and modifying at least one of the first dataset or the second dataset based on the motion correction.