Class LMedSRobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorTest

java.lang.Object
com.irurueta.navigation.inertial.calibration.magnetometer.LMedSRobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorTest
All Implemented Interfaces:
RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorListener

class LMedSRobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorTest extends Object implements RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorListener
  • Field Details

    • MIN_HARD_IRON

      private static final double MIN_HARD_IRON
      See Also:
    • MAX_HARD_IRON

      private static final double MAX_HARD_IRON
      See Also:
    • MIN_SOFT_IRON

      private static final double MIN_SOFT_IRON
      See Also:
    • MAX_SOFT_IRON

      private static final double MAX_SOFT_IRON
      See Also:
    • MIN_ANGLE_DEGREES

      private static final double MIN_ANGLE_DEGREES
      See Also:
    • MAX_ANGLE_DEGREES

      private static final double MAX_ANGLE_DEGREES
      See Also:
    • MIN_LATITUDE_DEGREES

      private static final double MIN_LATITUDE_DEGREES
      See Also:
    • MAX_LATITUDE_DEGREES

      private static final double MAX_LATITUDE_DEGREES
      See Also:
    • MIN_LONGITUDE_DEGREES

      private static final double MIN_LONGITUDE_DEGREES
      See Also:
    • MAX_LONGITUDE_DEGREES

      private static final double MAX_LONGITUDE_DEGREES
      See Also:
    • MIN_HEIGHT_METERS

      private static final double MIN_HEIGHT_METERS
      See Also:
    • MAX_HEIGHT_METERS

      private static final double MAX_HEIGHT_METERS
      See Also:
    • MAGNETOMETER_NOISE_STD

      private static final double MAGNETOMETER_NOISE_STD
      See Also:
    • ABSOLUTE_ERROR

      private static final double ABSOLUTE_ERROR
      See Also:
    • VERY_LARGE_ABSOLUTE_ERROR

      private static final double VERY_LARGE_ABSOLUTE_ERROR
      See Also:
    • MEASUREMENT_NUMBER

      private static final int MEASUREMENT_NUMBER
      See Also:
    • OUTLIER_PERCENTAGE

      private static final int OUTLIER_PERCENTAGE
      See Also:
    • THRESHOLD

      private static final double THRESHOLD
      See Also:
    • OUTLIER_ERROR_FACTOR

      private static final double OUTLIER_ERROR_FACTOR
      See Also:
    • TIMES

      private static final int TIMES
      See Also:
    • START_CALENDAR

      private static final Calendar START_CALENDAR
    • END_CALENDAR

      private static final Calendar END_CALENDAR
    • START_TIMESTAMP_MILLIS

      private static final long START_TIMESTAMP_MILLIS
    • END_TIMESTAMP_MILLIS

      private static final long END_TIMESTAMP_MILLIS
    • calibrateStart

      private int calibrateStart
    • calibrateEnd

      private int calibrateEnd
    • calibrateNextIteration

      private int calibrateNextIteration
    • calibrateProgressChange

      private int calibrateProgressChange
  • Constructor Details

    • LMedSRobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorTest

      LMedSRobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorTest()
  • Method Details

    • testConstructor1

      @Test void testConstructor1() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor2

      @Test void testConstructor2() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor3

      @Test void testConstructor3() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor4

      @Test void testConstructor4() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor5

      @Test void testConstructor5() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor6

      @Test void testConstructor6() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor7

      @Test void testConstructor7() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor8

      @Test void testConstructor8() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor9

      @Test void testConstructor9() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor10

      @Test void testConstructor10() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor11

      @Test void testConstructor11() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor12

      @Test void testConstructor12() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor13

      @Test void testConstructor13() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor14

      @Test void testConstructor14() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor15

      @Test void testConstructor15() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor16

      @Test void testConstructor16() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor17

      @Test void testConstructor17() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor18

      @Test void testConstructor18() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor19

      @Test void testConstructor19() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor20

      @Test void testConstructor20() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor21

      @Test void testConstructor21() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor22

      @Test void testConstructor22() throws com.irurueta.algebra.WrongSizeException
      Throws:
      com.irurueta.algebra.WrongSizeException
    • testConstructor23

      @Test void testConstructor23() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor24

      @Test void testConstructor24() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor25

      @Test void testConstructor25() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor26

      @Test void testConstructor26() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor27

      @Test void testConstructor27() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor28

      @Test void testConstructor28() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor29

      @Test void testConstructor29() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor30

      @Test void testConstructor30() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor31

      @Test void testConstructor31() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor32

      @Test void testConstructor32() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor33

      @Test void testConstructor33() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor34

      @Test void testConstructor34() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor35

      @Test void testConstructor35() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor36

      @Test void testConstructor36() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor37

      @Test void testConstructor37() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor38

      @Test void testConstructor38() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor39

      @Test void testConstructor39() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor40

      @Test void testConstructor40() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor41

      @Test void testConstructor41() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor42

      @Test void testConstructor42() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor43

      @Test void testConstructor43() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testConstructor44

      @Test void testConstructor44() throws com.irurueta.algebra.WrongSizeException, IOException
      Throws:
      com.irurueta.algebra.WrongSizeException
      IOException
    • testGetSetStopThreshold

      @Test void testGetSetStopThreshold() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetGroundTruthMagneticFluxDensityNorm1

      @Test void testGetSetGroundTruthMagneticFluxDensityNorm1() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetGroundTruthMagneticFluxDensityNorm2

      @Test void testGetSetGroundTruthMagneticFluxDensityNorm2() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIronX

      @Test void testGetSetHardIronX() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIronY

      @Test void testGetSetHardIronY() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIronZ

      @Test void testGetSetHardIronZ() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIronXAsMagneticFluxDensity

      @Test void testGetSetHardIronXAsMagneticFluxDensity() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIronYAsMagneticFluxDensity

      @Test void testGetSetHardIronYAsMagneticFluxDensity() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIronZAsMagneticFluxDensity

      @Test void testGetSetHardIronZAsMagneticFluxDensity() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testSetHardIronCoordinates1

      @Test void testSetHardIronCoordinates1() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testSetHardIronCoordinates2

      @Test void testSetHardIronCoordinates2() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIronAsTriad

      @Test void testGetSetHardIronAsTriad() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialSx

      @Test void testGetSetInitialSx() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialSy

      @Test void testGetSetInitialSy() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialSz

      @Test void testGetSetInitialSz() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialMxy

      @Test void testGetSetInitialMxy() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialMxz

      @Test void testGetSetInitialMxz() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialMyx

      @Test void testGetSetInitialMyx() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialMyz

      @Test void testGetSetInitialMyz() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialMzx

      @Test void testGetSetInitialMzx() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetInitialMzy

      @Test void testGetSetInitialMzy() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testSetInitialScalingFactors

      @Test void testSetInitialScalingFactors() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testSetInitialCrossCouplingErrors

      @Test void testSetInitialCrossCouplingErrors() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testSetInitialScalingFactorsAndCrossCouplingErrors

      @Test void testSetInitialScalingFactorsAndCrossCouplingErrors() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIron

      @Test void testGetSetHardIron() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetHardIronAsMatrix

      @Test void testGetSetHardIronAsMatrix() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.algebra.WrongSizeException
      com.irurueta.navigation.LockedException
    • testGetSetInitialMm

      @Test void testGetSetInitialMm() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.algebra.WrongSizeException
      com.irurueta.navigation.LockedException
    • testGetSetMeasurements

      @Test void testGetSetMeasurements() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testIsSetCommonAxisUsed

      @Test void testIsSetCommonAxisUsed() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetListener

      @Test void testGetSetListener() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetMinimumRequiredMeasurements

      @Test void testGetMinimumRequiredMeasurements() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testIsReady

      @Test void testIsReady() throws com.irurueta.navigation.LockedException, IOException
      Throws:
      com.irurueta.navigation.LockedException
      IOException
    • testGetSetProgressDelta

      @Test void testGetSetProgressDelta() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetConfidence

      @Test void testGetSetConfidence() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetMaxIterations

      @Test void testGetSetMaxIterations() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testIsSetResultRefined

      @Test void testIsSetResultRefined() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testIsSetCovarianceKept

      @Test void testIsSetCovarianceKept() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetQualityScores

      @Test void testGetSetQualityScores() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testGetSetPreliminarySubsetSize

      @Test void testGetSetPreliminarySubsetSize() throws com.irurueta.navigation.LockedException
      Throws:
      com.irurueta.navigation.LockedException
    • testCalibrateGeneralNoNoiseInlier

      @Test void testCalibrateGeneralNoNoiseInlier() throws IOException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException
      Throws:
      IOException
      com.irurueta.navigation.LockedException
      com.irurueta.navigation.NotReadyException
    • testCalibrateCommonAxisNoNoiseInlier

      @Test void testCalibrateCommonAxisNoNoiseInlier() throws IOException, com.irurueta.navigation.LockedException, CalibrationException, com.irurueta.navigation.NotReadyException
      Throws:
      IOException
      com.irurueta.navigation.LockedException
      CalibrationException
      com.irurueta.navigation.NotReadyException
    • testCalibrateGeneralWithInlierNoise

      @Test void testCalibrateGeneralWithInlierNoise() throws IOException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException
      Throws:
      IOException
      com.irurueta.navigation.LockedException
      com.irurueta.navigation.NotReadyException
    • testCalibrateCommonAxisWithInlierNoise

      @Test void testCalibrateCommonAxisWithInlierNoise() throws IOException, com.irurueta.navigation.LockedException, CalibrationException, com.irurueta.navigation.NotReadyException
      Throws:
      IOException
      com.irurueta.navigation.LockedException
      CalibrationException
      com.irurueta.navigation.NotReadyException
    • testCalibrateGeneralNoRefinement

      @Test void testCalibrateGeneralNoRefinement() throws IOException, com.irurueta.navigation.LockedException, CalibrationException, com.irurueta.navigation.NotReadyException
      Throws:
      IOException
      com.irurueta.navigation.LockedException
      CalibrationException
      com.irurueta.navigation.NotReadyException
    • onCalibrateStart

      public void onCalibrateStart(RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibrator calibrator)
      Specified by:
      onCalibrateStart in interface RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorListener
    • onCalibrateEnd

      Specified by:
      onCalibrateEnd in interface RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorListener
    • onCalibrateNextIteration

      public void onCalibrateNextIteration(RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibrator calibrator, int iteration)
      Specified by:
      onCalibrateNextIteration in interface RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorListener
    • onCalibrateProgressChange

      public void onCalibrateProgressChange(RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibrator calibrator, float progress)
      Specified by:
      onCalibrateProgressChange in interface RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibratorListener
    • reset

      private void reset()
    • checkLocked

      private static void checkLocked(LMedSRobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibrator calibrator)
    • assertEstimatedResult

      private static void assertEstimatedResult(com.irurueta.algebra.Matrix mm, RobustKnownHardIronMagneticFluxDensityNormMagnetometerCalibrator calibrator)
    • checkCommonAxisCovariance

      private static void checkCommonAxisCovariance(com.irurueta.algebra.Matrix covariance)
    • checkGeneralCovariance

      private static void checkGeneralCovariance(com.irurueta.algebra.Matrix covariance)
    • getMagneticFluxDensityAtPosition

      private static NEDMagneticFluxDensity getMagneticFluxDensityAtPosition(com.irurueta.navigation.frames.NEDPosition position, double year) throws IOException
      Throws:
      IOException
    • generateMeasures

      private static List<StandardDeviationBodyMagneticFluxDensity> generateMeasures(double[] hardIron, com.irurueta.algebra.Matrix softIron, int numberOfMeasurements, WMMEarthMagneticFluxDensityEstimator wmmEstimator, com.irurueta.statistics.UniformRandomizer randomizer, com.irurueta.navigation.frames.NEDPosition position, Date timestamp)
    • generateMeasure

      private static StandardDeviationBodyMagneticFluxDensity generateMeasure(double[] hardIron, com.irurueta.algebra.Matrix softIron, WMMEarthMagneticFluxDensityEstimator wmmEstimator, com.irurueta.statistics.GaussianRandomizer noiseRandomizer, com.irurueta.navigation.frames.NEDPosition position, Date timestamp, com.irurueta.navigation.frames.CoordinateTransformation cnb)
    • generateBodyC

      private static com.irurueta.navigation.frames.CoordinateTransformation generateBodyC(com.irurueta.statistics.UniformRandomizer randomizer)
    • generateMeasuredMagneticFluxDensity

      private static BodyMagneticFluxDensity generateMeasuredMagneticFluxDensity(BodyMagneticFluxDensity input, double[] hardIron, com.irurueta.algebra.Matrix softIron)
    • generateHardIron

      private static double[] generateHardIron(com.irurueta.statistics.UniformRandomizer randomizer)
    • generateSoftIronGeneral

      private static com.irurueta.algebra.Matrix generateSoftIronGeneral()
    • generateSoftIronCommonAxis

      private static com.irurueta.algebra.Matrix generateSoftIronCommonAxis()
    • createPosition

      private static com.irurueta.navigation.frames.NEDPosition createPosition(com.irurueta.statistics.UniformRandomizer randomizer)
    • createTimestamp

      private static long createTimestamp(com.irurueta.statistics.UniformRandomizer randomizer)