Class AngleOrderDetectorPlus

  • All Implemented Interfaces:
    OrderDetector

    public class AngleOrderDetectorPlus
    extends Object
    implements OrderDetector
    Guesses an order of rotational symmetry from the angle.

    Improves upon the AngleOrderDetector used in the paper by checking all rotations, not just the base one.

    Since:
    4.2.0
    Author:
    Spencer Bliven
    • Constructor Detail

      • AngleOrderDetectorPlus

        public AngleOrderDetectorPlus​(double angleError)
        Parameters:
        error - maximum angular error, in radians
      • AngleOrderDetectorPlus

        public AngleOrderDetectorPlus​(int maxOrder,
                                      double angleError)
        Parameters:
        maxOrder - maximum order to consider
        error - maximum angular error, in radians
      • AngleOrderDetectorPlus

        public AngleOrderDetectorPlus​(int maxOrder,
                                      double angleError,
                                      boolean normalize)
        Determine order by finding the order (up to the maxOrder) which has the closest rotation angle to the observed rotation. If normalized is false, then the error is taken to be the absolute error from the closest ideal angle (in radians). If normalized is true, error is taken to be relative to the fundamental rotation for a given order. For instance, for an error of .25, C2 order would be accepted for angles within .25*pi radians of 0 or pi, while C3 order would be acceptable within .25*2pi/3 radians of 0, 2pi/3, or 4pi/3. In the normalized case, numbers between 0 and .5 are sensible for error.
        Parameters:
        maxOrder - maximum order to consider
        error - maximum angular error
        normalize - indicates whether error should be normalized by the order