Documentation of 'georegression.fitting.se.MotionSe3PointCrossCovariance_F32' Java class
MotionSe3PointCrossCovariance_F32
georegression.fitting.se

Class MotionSe3PointCrossCovariance_F32

  • All Implemented Interfaces:
    MotionTransformPoint<Se3_F32,Point3D_F32>


    public class MotionSe3PointCrossCovariance_F32
    extends java.lang.Object
    implements MotionTransformPoint<Se3_F32,Point3D_F32>

    Finds the rigid body motion which minimizes the different between the two sets of associated points in 3D. Computes the quaternions directly in closed form.

    The mean square error function that is minimized is:
    f(q) = (1/N) sum( i=1:N , ||x_i - R(q_r)*p_i + q_t||2 )
    where q is the transformation parameterized with q_r quaternions and q_t translation, x is the set of 'to' points and p is the set of 'from' points.

    The basic cross-covariance method sketch in Paul J. Besl and Neil D. McKay, "A Method for Registration of 3-D Shapes" IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 14, No. 2, Feb. 1992, is implemented below.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      int getMinimumPoints()
      Minimum number of points required to compute a model.
      float[] getParam() 
      Se3_F32 getTransformSrcToDst()
      Returns the estimated motion from the 'from' coordinate system into the 'to' coordinate system.
      boolean process(java.util.List<Point3D_F32> srcPts, java.util.List<Point3D_F32> dstPts)
      Processes the sets of corresponding points and finds a transformation which when applied to 'srcPts' will minimize the difference with the 'dstPts'.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MotionSe3PointCrossCovariance_F32

        public MotionSe3PointCrossCovariance_F32()
    • Method Detail

      • getParam

        public float[] getParam()
      • process

        public boolean process(java.util.List<Point3D_F32> srcPts,
                               java.util.List<Point3D_F32> dstPts)
        Description copied from interface: MotionTransformPoint
        Processes the sets of corresponding points and finds a transformation which when applied to 'srcPts' will minimize the difference with the 'dstPts'.
        Specified by:
        process in interface MotionTransformPoint<Se3_F32,Point3D_F32>
        Parameters:
        srcPts - The points which are to be transformed. Not modified.
        dstPts - The points that are being compared against. Not modified.
        Returns:
        true if the computation successfully produced a solution and false if not.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.