gtsam-develop 4.3a0.dev202505281542__cp313-cp313-macosx_11_0_arm64.whl → 4.3a0.dev202505291804__cp313-cp313-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gtsam-develop might be problematic. Click here for more details.
- gtsam/.dylibs/{libgtsam.4.3a0.dev202505281542.dylib → libgtsam.4.3a0.dev202505291804.dylib} +0 -0
- gtsam/.dylibs/{libgtsam_unstable.4.3a0.dev202505281542.dylib → libgtsam_unstable.4.3a0.dev202505291804.dylib} +0 -0
- gtsam/__init__.pyi +19 -16
- gtsam/gtsam/__init__.pyi +192 -8
- gtsam/gtsam.cpython-313-darwin.so +0 -0
- gtsam/tests/test_HybridBayesNet.py +302 -57
- {gtsam_develop-4.3a0.dev202505281542.dist-info → gtsam_develop-4.3a0.dev202505291804.dist-info}/METADATA +1 -1
- {gtsam_develop-4.3a0.dev202505281542.dist-info → gtsam_develop-4.3a0.dev202505291804.dist-info}/RECORD +11 -11
- gtsam_unstable/gtsam_unstable.cpython-313-darwin.so +0 -0
- {gtsam_develop-4.3a0.dev202505281542.dist-info → gtsam_develop-4.3a0.dev202505291804.dist-info}/WHEEL +0 -0
- {gtsam_develop-4.3a0.dev202505281542.dist-info → gtsam_develop-4.3a0.dev202505291804.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
gtsam/__init__.pyi
CHANGED
|
@@ -3,29 +3,31 @@ Module definition file for GTSAM
|
|
|
3
3
|
"""
|
|
4
4
|
from __future__ import annotations
|
|
5
5
|
from builtins import dict as IndexPairSetMap
|
|
6
|
-
from builtins import dict as MatchIndicesMap
|
|
7
6
|
from builtins import dict as KeyPairDoubleMap
|
|
8
|
-
from builtins import
|
|
9
|
-
from builtins import list as
|
|
10
|
-
from builtins import list as
|
|
11
|
-
from builtins import list as SfmTracks
|
|
12
|
-
from builtins import list as Pose3Vector
|
|
13
|
-
from builtins import list as Rot3Vector
|
|
14
|
-
from builtins import list as Point3Pairs
|
|
7
|
+
from builtins import dict as MatchIndicesMap
|
|
8
|
+
from builtins import list as SfmMeasurementVector
|
|
9
|
+
from builtins import list as Point2Vector
|
|
15
10
|
from builtins import list as BinaryMeasurementsRot3
|
|
11
|
+
from builtins import list as BetweenFactorPose3s
|
|
16
12
|
from builtins import list as BinaryMeasurementsPoint3
|
|
13
|
+
from builtins import list as IndexPairVector
|
|
14
|
+
from builtins import list as Rot3Vector
|
|
15
|
+
from builtins import list as SfmCameras
|
|
17
16
|
from builtins import list as KeyVector
|
|
18
|
-
from builtins import list as BinaryMeasurementsUnit3
|
|
19
|
-
from builtins import list as Point2Pairs
|
|
20
17
|
from builtins import list as Pose3Pairs
|
|
21
|
-
from builtins import list as
|
|
22
|
-
from builtins import list as
|
|
23
|
-
from builtins import list as
|
|
24
|
-
from builtins import list as
|
|
18
|
+
from builtins import list as BetweenFactorPose2s
|
|
19
|
+
from builtins import list as SfmTrack2dVector
|
|
20
|
+
from builtins import list as Pose3Vector
|
|
21
|
+
from builtins import list as Point2Pairs
|
|
22
|
+
from builtins import list as SfmTracks
|
|
25
23
|
from builtins import list as KeypointsVector
|
|
26
|
-
from builtins import list as
|
|
24
|
+
from builtins import list as Point3Pairs
|
|
25
|
+
from builtins import list as BinaryMeasurementsUnit3
|
|
26
|
+
from builtins import list as Pose2Pairs
|
|
27
27
|
from gtsam.gtsam import AHRSFactor
|
|
28
28
|
from gtsam.gtsam import AcceleratingScenario
|
|
29
|
+
from gtsam.gtsam import AlgebraicDecisionTreeKey
|
|
30
|
+
from gtsam.gtsam import AssignmentKey
|
|
29
31
|
from gtsam.gtsam import BarometricFactor
|
|
30
32
|
from gtsam.gtsam import BatchFixedLagSmoother
|
|
31
33
|
from gtsam.gtsam import BearingFactor2D
|
|
@@ -263,6 +265,7 @@ from gtsam.gtsam import HybridGaussianFactor
|
|
|
263
265
|
from gtsam.gtsam import HybridGaussianFactorGraph
|
|
264
266
|
from gtsam.gtsam import HybridNonlinearFactor
|
|
265
267
|
from gtsam.gtsam import HybridNonlinearFactorGraph
|
|
268
|
+
from gtsam.gtsam import HybridOrdering
|
|
266
269
|
from gtsam.gtsam import HybridSmoother
|
|
267
270
|
from gtsam.gtsam import HybridValues
|
|
268
271
|
from gtsam.gtsam import ISAM2
|
|
@@ -593,7 +596,7 @@ from gtsam.utils import findExampleDataFile
|
|
|
593
596
|
import sys as sys
|
|
594
597
|
from . import gtsam
|
|
595
598
|
from . import utils
|
|
596
|
-
__all__ = ['AHRSFactor', 'AcceleratingScenario', 'BarometricFactor', 'BatchFixedLagSmoother', 'BearingFactor2D', 'BearingFactor3D', 'BearingFactorPose2', 'BearingRange2D', 'BearingRange3D', 'BearingRangeFactor2D', 'BearingRangeFactor3D', 'BearingRangeFactorPose2', 'BearingRangeFactorPose3', 'BearingRangePose2', 'BearingRangePose3', 'BetweenFactorConstantBias', 'BetweenFactorDouble', 'BetweenFactorPoint2', 'BetweenFactorPoint3', 'BetweenFactorPose2', 'BetweenFactorPose2s', 'BetweenFactorPose3', 'BetweenFactorPose3s', 'BetweenFactorRot2', 'BetweenFactorRot3', 'BetweenFactorSO3', 'BetweenFactorSO4', 'BetweenFactorSimilarity2', 'BetweenFactorSimilarity3', 'BetweenFactorVector', 'BinaryMeasurementPoint3', 'BinaryMeasurementRot3', 'BinaryMeasurementUnit3', 'BinaryMeasurementsPoint3', 'BinaryMeasurementsRot3', 'BinaryMeasurementsUnit3', 'BlockJacobiPreconditionerParameters', 'Cal3', 'Cal3Bundler', 'Cal3DS2', 'Cal3DS2_Base', 'Cal3Fisheye', 'Cal3Unified', 'Cal3_S2', 'Cal3_S2Stereo', 'Cal3f', 'CalibratedCamera', 'CameraSetCal3Bundler', 'CameraSetCal3DS2', 'CameraSetCal3Fisheye', 'CameraSetCal3Unified', 'CameraSetCal3_S2', 'CameraSetPinholePoseCal3_S2', 'Chebyshev1Basis', 'Chebyshev2', 'Chebyshev2Basis', 'CombinedImuFactor', 'ComponentDerivativeFactorChebyshev1Basis', 'ComponentDerivativeFactorChebyshev2', 'ComponentDerivativeFactorChebyshev2Basis', 'ComponentDerivativeFactorFourierBasis', 'ConjugateGradientParameters', 'ConstantTwistScenario', 'ConstantVelocityFactor', 'ConvertNoiseModel', 'CustomFactor', 'DSFMapIndexPair', 'DecisionTreeFactor', 'DegeneracyMode', 'DerivativeFactorChebyshev1Basis', 'DerivativeFactorChebyshev2', 'DerivativeFactorChebyshev2Basis', 'DerivativeFactorFourierBasis', 'DiscreteBayesNet', 'DiscreteBayesTree', 'DiscreteBayesTreeClique', 'DiscreteCluster', 'DiscreteConditional', 'DiscreteDistribution', 'DiscreteEliminationTree', 'DiscreteFactor', 'DiscreteFactorGraph', 'DiscreteJunctionTree', 'DiscreteKeys', 'DiscreteLookupDAG', 'DiscreteLookupTable', 'DiscreteMarginals', 'DiscreteSearch', 'DiscreteSearchSolution', 'DiscreteValues', 'DoglegOptimizer', 'DoglegParams', 'DotWriter', 'DummyPreconditionerParameters', 'EdgeKey', 'EliminateDiscrete', 'EliminateForMPE', 'EliminateQR', 'EpipolarTransfer', 'EssentialMatrix', 'EssentialMatrixConstraint', 'EssentialMatrixFactor', 'EssentialMatrixFactor2', 'EssentialMatrixFactor3', 'EssentialMatrixFactor4Cal3Bundler', 'EssentialMatrixFactor4Cal3DS2', 'EssentialMatrixFactor4Cal3Fisheye', 'EssentialMatrixFactor4Cal3Unified', 'EssentialMatrixFactor4Cal3_S2', 'EssentialMatrixFactor4Cal3f', 'EssentialMatrixFactor5Cal3Bundler', 'EssentialMatrixFactor5Cal3DS2', 'EssentialMatrixFactor5Cal3Fisheye', 'EssentialMatrixFactor5Cal3Unified', 'EssentialMatrixFactor5Cal3_S2', 'EssentialMatrixFactor5Cal3f', 'EssentialTransferFactorCal3Bundler', 'EssentialTransferFactorCal3_S2', 'EssentialTransferFactorCal3f', 'EssentialTransferFactorKCal3Bundler', 'EssentialTransferFactorKCal3_S2', 'EssentialTransferFactorKCal3f', 'EvaluationFactorChebyshev1Basis', 'EvaluationFactorChebyshev2', 'EvaluationFactorChebyshev2Basis', 'EvaluationFactorFourierBasis', 'Event', 'ExtendedKalmanFilterConstantBias', 'ExtendedKalmanFilterNavState', 'ExtendedKalmanFilterPoint2', 'ExtendedKalmanFilterPoint3', 'ExtendedKalmanFilterPose2', 'ExtendedKalmanFilterPose3', 'ExtendedKalmanFilterRot2', 'ExtendedKalmanFilterRot3', 'ExtendedKalmanFilterSimilarity2', 'ExtendedKalmanFilterSimilarity3', 'Factor', 'FindKarcherMeanPoint2', 'FindKarcherMeanPoint3', 'FindKarcherMeanPose2', 'FindKarcherMeanPose3', 'FindKarcherMeanRot2', 'FindKarcherMeanRot3', 'FindKarcherMeanSO3', 'FindKarcherMeanSO4', 'FitBasisChebyshev1Basis', 'FitBasisChebyshev2', 'FitBasisChebyshev2Basis', 'FitBasisFourierBasis', 'FixedLagSmoother', 'FixedLagSmootherKeyTimestampMap', 'FixedLagSmootherResult', 'FourierBasis', 'FrobeniusBetweenFactorPose2', 'FrobeniusBetweenFactorPose3', 'FrobeniusBetweenFactorRot2', 'FrobeniusBetweenFactorRot3', 'FrobeniusBetweenFactorSO3', 'FrobeniusBetweenFactorSO4', 'FrobeniusFactorPose2', 'FrobeniusFactorPose3', 'FrobeniusFactorRot2', 'FrobeniusFactorRot3', 'FrobeniusFactorSO3', 'FrobeniusFactorSO4', 'FrobeniusPriorPose2', 'FrobeniusPriorPose3', 'FrobeniusPriorRot2', 'FrobeniusPriorRot3', 'FrobeniusPriorSO3', 'FrobeniusPriorSO4', 'FundamentalMatrix', 'GPSFactor', 'GPSFactor2', 'GPSFactor2Arm', 'GPSFactor2ArmCalib', 'GPSFactorArm', 'GPSFactorArmCalib', 'GaussNewtonOptimizer', 'GaussNewtonParams', 'GaussianBayesNet', 'GaussianBayesTree', 'GaussianBayesTreeClique', 'GaussianConditional', 'GaussianDensity', 'GaussianEliminationTree', 'GaussianFactor', 'GaussianFactorGraph', 'GaussianISAM', 'GeneralSFMFactor2Cal3Bundler', 'GeneralSFMFactor2Cal3DS2', 'GeneralSFMFactor2Cal3Fisheye', 'GeneralSFMFactor2Cal3Unified', 'GeneralSFMFactor2Cal3_S2', 'GeneralSFMFactor2Cal3f', 'GeneralSFMFactorCal3Bundler', 'GeneralSFMFactorCal3DS2', 'GeneralSFMFactorCal3Fisheye', 'GeneralSFMFactorCal3Unified', 'GeneralSFMFactorCal3_S2', 'GeneralSFMFactorPoseCal3Bundler', 'GeneralSFMFactorPoseCal3DS2', 'GeneralSFMFactorPoseCal3Fisheye', 'GeneralSFMFactorPoseCal3Unified', 'GeneralSFMFactorPoseCal3_S2', 'GenericProjectionFactorCal3DS2', 'GenericProjectionFactorCal3Fisheye', 'GenericProjectionFactorCal3Unified', 'GenericProjectionFactorCal3_S2', 'GenericStereoFactor3D', 'GenericValueCal3Bundler', 'GenericValueCal3DS2', 'GenericValueCal3Fisheye', 'GenericValueCal3Unified', 'GenericValueCal3_S2', 'GenericValueCalibratedCamera', 'GenericValueConstantBias', 'GenericValueEssentialMatrix', 'GenericValueMatrix', 'GenericValuePoint2', 'GenericValuePoint3', 'GenericValuePose2', 'GenericValuePose3', 'GenericValueRot2', 'GenericValueRot3', 'GenericValueStereoPoint2', 'GenericValueVector', 'GncGaussNewtonOptimizer', 'GncGaussNewtonParams', 'GncLMOptimizer', 'GncLMParams', 'GncLossType', 'GraphvizFormatting', 'HessianFactor', 'HybridBayesNet', 'HybridBayesTree', 'HybridBayesTreeClique', 'HybridConditional', 'HybridFactor', 'HybridGaussianConditional', 'HybridGaussianFactor', 'HybridGaussianFactorGraph', 'HybridNonlinearFactor', 'HybridNonlinearFactorGraph', 'HybridSmoother', 'HybridValues', 'ISAM2', 'ISAM2Clique', 'ISAM2DoglegParams', 'ISAM2GaussNewtonParams', 'ISAM2Params', 'ISAM2Result', 'ISAM2ThresholdMap', 'ImuFactor', 'ImuFactor2', 'IncrementalFixedLagSmoother', 'IndexPair', 'IndexPairSetAsArray', 'IndexPairSetMap', 'IndexPairVector', 'InitializePose3', 'ItemsView', 'IterativeOptimizationParameters', 'JacobianFactor', 'JacobianVector', 'JointMarginal', 'KalmanFilter', 'KarcherMeanFactorPoint2', 'KarcherMeanFactorPoint3', 'KarcherMeanFactorPose2', 'KarcherMeanFactorPose3', 'KarcherMeanFactorRot2', 'KarcherMeanFactorRot3', 'KarcherMeanFactorSO3', 'KarcherMeanFactorSO4', 'KernelFunctionType', 'KeyGroupMap', 'KeyList', 'KeyPairDoubleMap', 'KeySet', 'KeyVector', 'KeypointsVector', 'KeysView', 'LabeledSymbol', 'LevenbergMarquardtOptimizer', 'LevenbergMarquardtParams', 'LinearContainerFactor', 'LinearizationMode', 'MFAS', 'MT19937', 'MagFactor', 'MagFactor1', 'MagPoseFactorPose2', 'MagPoseFactorPose3', 'ManifoldEvaluationFactorChebyshev1BasisPose2', 'ManifoldEvaluationFactorChebyshev1BasisPose3', 'ManifoldEvaluationFactorChebyshev1BasisRot2', 'ManifoldEvaluationFactorChebyshev1BasisRot3', 'ManifoldEvaluationFactorChebyshev2BasisPose2', 'ManifoldEvaluationFactorChebyshev2BasisPose3', 'ManifoldEvaluationFactorChebyshev2BasisRot2', 'ManifoldEvaluationFactorChebyshev2BasisRot3', 'ManifoldEvaluationFactorChebyshev2Pose2', 'ManifoldEvaluationFactorChebyshev2Pose3', 'ManifoldEvaluationFactorChebyshev2Rot2', 'ManifoldEvaluationFactorChebyshev2Rot3', 'ManifoldEvaluationFactorFourierBasisPose2', 'ManifoldEvaluationFactorFourierBasisPose3', 'ManifoldEvaluationFactorFourierBasisRot2', 'ManifoldEvaluationFactorFourierBasisRot3', 'Marginals', 'MatchIndicesMap', 'NavState', 'NoiseFormat', 'NoiseModelFactor', 'NonlinearEquality2Cal3_S2', 'NonlinearEquality2CalibratedCamera', 'NonlinearEquality2ConstantBias', 'NonlinearEquality2PinholeCameraCal3Bundler', 'NonlinearEquality2PinholeCameraCal3Fisheye', 'NonlinearEquality2PinholeCameraCal3Unified', 'NonlinearEquality2PinholeCameraCal3_S2', 'NonlinearEquality2Point2', 'NonlinearEquality2Point3', 'NonlinearEquality2Pose2', 'NonlinearEquality2Pose3', 'NonlinearEquality2Rot2', 'NonlinearEquality2Rot3', 'NonlinearEquality2SO3', 'NonlinearEquality2SO4', 'NonlinearEquality2SOn', 'NonlinearEquality2Similarity2', 'NonlinearEquality2Similarity3', 'NonlinearEquality2StereoPoint2', 'NonlinearEqualityCal3_S2', 'NonlinearEqualityCalibratedCamera', 'NonlinearEqualityConstantBias', 'NonlinearEqualityPinholeCameraCal3Bundler', 'NonlinearEqualityPinholeCameraCal3Fisheye', 'NonlinearEqualityPinholeCameraCal3Unified', 'NonlinearEqualityPinholeCameraCal3_S2', 'NonlinearEqualityPoint2', 'NonlinearEqualityPoint3', 'NonlinearEqualityPose2', 'NonlinearEqualityPose3', 'NonlinearEqualityRot2', 'NonlinearEqualityRot3', 'NonlinearEqualitySO3', 'NonlinearEqualitySO4', 'NonlinearEqualitySOn', 'NonlinearEqualitySimilarity2', 'NonlinearEqualitySimilarity3', 'NonlinearEqualityStereoPoint2', 'NonlinearFactor', 'NonlinearFactorGraph', 'NonlinearISAM', 'NonlinearOptimizer', 'NonlinearOptimizerParams', 'Ordering', 'OrientedPlane3', 'OrientedPlane3DirectionPrior', 'OrientedPlane3Factor', 'PCGSolverParameters', 'PinholeCameraCal3Bundler', 'PinholeCameraCal3DS2', 'PinholeCameraCal3Fisheye', 'PinholeCameraCal3Unified', 'PinholeCameraCal3_S2', 'PinholeCameraCal3f', 'PinholePoseCal3Bundler', 'PinholePoseCal3DS2', 'PinholePoseCal3Fisheye', 'PinholePoseCal3Unified', 'PinholePoseCal3_S2', 'PlanarProjectionFactor1', 'PlanarProjectionFactor2', 'PlanarProjectionFactor3', 'Point2', 'Point2Pairs', 'Point2Vector', 'Point3', 'Point3Pairs', 'Pose2', 'Pose2Pairs', 'Pose3', 'Pose3AttitudeFactor', 'Pose3Pairs', 'Pose3Vector', 'PoseRotationPrior2D', 'PoseRotationPrior3D', 'PoseTranslationPrior2D', 'PoseTranslationPrior3D', 'PreconditionerParameters', 'PreintegratedAhrsMeasurements', 'PreintegratedCombinedMeasurements', 'PreintegratedImuMeasurements', 'PreintegratedRotation', 'PreintegratedRotationParams', 'PreintegrationCombinedParams', 'PreintegrationParams', 'PrintDiscreteValues', 'PrintKeyList', 'PrintKeySet', 'PrintKeyVector', 'PriorFactorCal3Bundler', 'PriorFactorCal3DS2', 'PriorFactorCal3Fisheye', 'PriorFactorCal3Unified', 'PriorFactorCal3_S2', 'PriorFactorCalibratedCamera', 'PriorFactorConstantBias', 'PriorFactorDouble', 'PriorFactorNavState', 'PriorFactorPinholeCameraCal3Bundler', 'PriorFactorPinholeCameraCal3Fisheye', 'PriorFactorPinholeCameraCal3Unified', 'PriorFactorPinholeCameraCal3_S2', 'PriorFactorPoint2', 'PriorFactorPoint3', 'PriorFactorPose2', 'PriorFactorPose3', 'PriorFactorRot2', 'PriorFactorRot3', 'PriorFactorSO3', 'PriorFactorSO4', 'PriorFactorSOn', 'PriorFactorSimilarity2', 'PriorFactorSimilarity3', 'PriorFactorStereoPoint2', 'PriorFactorUnit3', 'PriorFactorVector', 'Quaternion', 'RangeFactor2', 'RangeFactor2D', 'RangeFactor3', 'RangeFactor3D', 'RangeFactorCalibratedCamera', 'RangeFactorCalibratedCameraPoint', 'RangeFactorPose2', 'RangeFactorPose3', 'RangeFactorSimpleCamera', 'RangeFactorSimpleCameraPoint', 'RangeFactorWithTransform2D', 'RangeFactorWithTransform3D', 'RangeFactorWithTransformPose2', 'RangeFactorWithTransformPose3', 'RedirectCout', 'ReferenceFrameFactorPoint3Pose3', 'Rot2', 'Rot3', 'Rot3AttitudeFactor', 'Rot3Vector', 'RotateDirectionsFactor', 'RotateFactor', 'SO3', 'SO4', 'SOn', 'Sampler', 'Scenario', 'ScenarioRunner', 'SfmCameras', 'SfmData', 'SfmMeasurementVector', 'SfmTrack', 'SfmTrack2d', 'SfmTrack2dVector', 'SfmTracks', 'ShonanAveraging2', 'ShonanAveraging3', 'ShonanAveragingParameters2', 'ShonanAveragingParameters3', 'ShonanFactor3', 'Similarity2', 'Similarity3', 'SimpleFundamentalMatrix', 'SmartFactorBasePinholeCameraCal3Bundler', 'SmartFactorBasePinholeCameraCal3DS2', 'SmartFactorBasePinholeCameraCal3Fisheye', 'SmartFactorBasePinholeCameraCal3Unified', 'SmartFactorBasePinholeCameraCal3_S2', 'SmartFactorBasePinholePoseCal3Bundler', 'SmartFactorBasePinholePoseCal3DS2', 'SmartFactorBasePinholePoseCal3Fisheye', 'SmartFactorBasePinholePoseCal3Unified', 'SmartFactorBasePinholePoseCal3_S2', 'SmartProjectionFactorPinholeCameraCal3Bundler', 'SmartProjectionFactorPinholeCameraCal3DS2', 'SmartProjectionFactorPinholeCameraCal3Fisheye', 'SmartProjectionFactorPinholeCameraCal3Unified', 'SmartProjectionFactorPinholeCameraCal3_S2', 'SmartProjectionFactorPinholePoseCal3Bundler', 'SmartProjectionFactorPinholePoseCal3DS2', 'SmartProjectionFactorPinholePoseCal3Fisheye', 'SmartProjectionFactorPinholePoseCal3Unified', 'SmartProjectionFactorPinholePoseCal3_S2', 'SmartProjectionParams', 'SmartProjectionPoseFactorCal3Bundler', 'SmartProjectionPoseFactorCal3DS2', 'SmartProjectionPoseFactorCal3Fisheye', 'SmartProjectionPoseFactorCal3Unified', 'SmartProjectionPoseFactorCal3_S2', 'SmartProjectionRigFactorPinholePoseCal3Bundler', 'SmartProjectionRigFactorPinholePoseCal3DS2', 'SmartProjectionRigFactorPinholePoseCal3Fisheye', 'SmartProjectionRigFactorPinholePoseCal3Unified', 'SmartProjectionRigFactorPinholePoseCal3_S2', 'StereoCamera', 'StereoPoint2', 'SubgraphSolver', 'SubgraphSolverParameters', 'Symbol', 'SymbolicBayesNet', 'SymbolicBayesTree', 'SymbolicBayesTreeClique', 'SymbolicCluster', 'SymbolicConditional', 'SymbolicEliminationTree', 'SymbolicFactor', 'SymbolicFactorGraph', 'SymbolicJunctionTree', 'TableDistribution', 'TableFactor', 'TransferFactorFundamentalMatrix', 'TransferFactorSimpleFundamentalMatrix', 'TranslationRecovery', 'TriangulationFactorCal3Bundler', 'TriangulationFactorCal3DS2', 'TriangulationFactorCal3Fisheye', 'TriangulationFactorCal3Unified', 'TriangulationFactorCal3_S2', 'TriangulationFactorPoseCal3Bundler', 'TriangulationFactorPoseCal3DS2', 'TriangulationFactorPoseCal3Fisheye', 'TriangulationFactorPoseCal3Unified', 'TriangulationFactorPoseCal3_S2', 'TriangulationParameters', 'TriangulationResult', 'Unit3', 'Value', 'Values', 'ValuesView', 'VariableIndex', 'VectorComponentFactorChebyshev1Basis', 'VectorComponentFactorChebyshev2', 'VectorComponentFactorChebyshev2Basis', 'VectorComponentFactorFourierBasis', 'VectorDerivativeFactorChebyshev1Basis', 'VectorDerivativeFactorChebyshev2', 'VectorDerivativeFactorChebyshev2Basis', 'VectorDerivativeFactorFourierBasis', 'VectorEvaluationFactorChebyshev1Basis', 'VectorEvaluationFactorChebyshev2', 'VectorEvaluationFactorChebyshev2Basis', 'VectorEvaluationFactorFourierBasis', 'VectorValues', 'cartesianProduct', 'checkConvergence', 'findExampleDataFile', 'gtsam', 'gtsfm', 'html', 'imuBias', 'initialCamerasAndPointsEstimate', 'initialCamerasEstimate', 'isDebugVersion', 'lago', 'linear_independent', 'load2D', 'load3D', 'markdown', 'mrsymbol', 'mrsymbolChr', 'mrsymbolIndex', 'mrsymbolLabel', 'noiseModel', 'parse2DFactors', 'parse3DFactors', 'readBal', 'readG2o', 'save2D', 'so3', 'symbol', 'symbolChr', 'symbolIndex', 'symbol_shorthand', 'sys', 'triangulateNonlinear', 'triangulatePoint3', 'triangulateSafe', 'utilities', 'utils', 'writeBAL', 'writeG2o']
|
|
599
|
+
__all__ = ['AHRSFactor', 'AcceleratingScenario', 'AlgebraicDecisionTreeKey', 'AssignmentKey', 'BarometricFactor', 'BatchFixedLagSmoother', 'BearingFactor2D', 'BearingFactor3D', 'BearingFactorPose2', 'BearingRange2D', 'BearingRange3D', 'BearingRangeFactor2D', 'BearingRangeFactor3D', 'BearingRangeFactorPose2', 'BearingRangeFactorPose3', 'BearingRangePose2', 'BearingRangePose3', 'BetweenFactorConstantBias', 'BetweenFactorDouble', 'BetweenFactorPoint2', 'BetweenFactorPoint3', 'BetweenFactorPose2', 'BetweenFactorPose2s', 'BetweenFactorPose3', 'BetweenFactorPose3s', 'BetweenFactorRot2', 'BetweenFactorRot3', 'BetweenFactorSO3', 'BetweenFactorSO4', 'BetweenFactorSimilarity2', 'BetweenFactorSimilarity3', 'BetweenFactorVector', 'BinaryMeasurementPoint3', 'BinaryMeasurementRot3', 'BinaryMeasurementUnit3', 'BinaryMeasurementsPoint3', 'BinaryMeasurementsRot3', 'BinaryMeasurementsUnit3', 'BlockJacobiPreconditionerParameters', 'Cal3', 'Cal3Bundler', 'Cal3DS2', 'Cal3DS2_Base', 'Cal3Fisheye', 'Cal3Unified', 'Cal3_S2', 'Cal3_S2Stereo', 'Cal3f', 'CalibratedCamera', 'CameraSetCal3Bundler', 'CameraSetCal3DS2', 'CameraSetCal3Fisheye', 'CameraSetCal3Unified', 'CameraSetCal3_S2', 'CameraSetPinholePoseCal3_S2', 'Chebyshev1Basis', 'Chebyshev2', 'Chebyshev2Basis', 'CombinedImuFactor', 'ComponentDerivativeFactorChebyshev1Basis', 'ComponentDerivativeFactorChebyshev2', 'ComponentDerivativeFactorChebyshev2Basis', 'ComponentDerivativeFactorFourierBasis', 'ConjugateGradientParameters', 'ConstantTwistScenario', 'ConstantVelocityFactor', 'ConvertNoiseModel', 'CustomFactor', 'DSFMapIndexPair', 'DecisionTreeFactor', 'DegeneracyMode', 'DerivativeFactorChebyshev1Basis', 'DerivativeFactorChebyshev2', 'DerivativeFactorChebyshev2Basis', 'DerivativeFactorFourierBasis', 'DiscreteBayesNet', 'DiscreteBayesTree', 'DiscreteBayesTreeClique', 'DiscreteCluster', 'DiscreteConditional', 'DiscreteDistribution', 'DiscreteEliminationTree', 'DiscreteFactor', 'DiscreteFactorGraph', 'DiscreteJunctionTree', 'DiscreteKeys', 'DiscreteLookupDAG', 'DiscreteLookupTable', 'DiscreteMarginals', 'DiscreteSearch', 'DiscreteSearchSolution', 'DiscreteValues', 'DoglegOptimizer', 'DoglegParams', 'DotWriter', 'DummyPreconditionerParameters', 'EdgeKey', 'EliminateDiscrete', 'EliminateForMPE', 'EliminateQR', 'EpipolarTransfer', 'EssentialMatrix', 'EssentialMatrixConstraint', 'EssentialMatrixFactor', 'EssentialMatrixFactor2', 'EssentialMatrixFactor3', 'EssentialMatrixFactor4Cal3Bundler', 'EssentialMatrixFactor4Cal3DS2', 'EssentialMatrixFactor4Cal3Fisheye', 'EssentialMatrixFactor4Cal3Unified', 'EssentialMatrixFactor4Cal3_S2', 'EssentialMatrixFactor4Cal3f', 'EssentialMatrixFactor5Cal3Bundler', 'EssentialMatrixFactor5Cal3DS2', 'EssentialMatrixFactor5Cal3Fisheye', 'EssentialMatrixFactor5Cal3Unified', 'EssentialMatrixFactor5Cal3_S2', 'EssentialMatrixFactor5Cal3f', 'EssentialTransferFactorCal3Bundler', 'EssentialTransferFactorCal3_S2', 'EssentialTransferFactorCal3f', 'EssentialTransferFactorKCal3Bundler', 'EssentialTransferFactorKCal3_S2', 'EssentialTransferFactorKCal3f', 'EvaluationFactorChebyshev1Basis', 'EvaluationFactorChebyshev2', 'EvaluationFactorChebyshev2Basis', 'EvaluationFactorFourierBasis', 'Event', 'ExtendedKalmanFilterConstantBias', 'ExtendedKalmanFilterNavState', 'ExtendedKalmanFilterPoint2', 'ExtendedKalmanFilterPoint3', 'ExtendedKalmanFilterPose2', 'ExtendedKalmanFilterPose3', 'ExtendedKalmanFilterRot2', 'ExtendedKalmanFilterRot3', 'ExtendedKalmanFilterSimilarity2', 'ExtendedKalmanFilterSimilarity3', 'Factor', 'FindKarcherMeanPoint2', 'FindKarcherMeanPoint3', 'FindKarcherMeanPose2', 'FindKarcherMeanPose3', 'FindKarcherMeanRot2', 'FindKarcherMeanRot3', 'FindKarcherMeanSO3', 'FindKarcherMeanSO4', 'FitBasisChebyshev1Basis', 'FitBasisChebyshev2', 'FitBasisChebyshev2Basis', 'FitBasisFourierBasis', 'FixedLagSmoother', 'FixedLagSmootherKeyTimestampMap', 'FixedLagSmootherResult', 'FourierBasis', 'FrobeniusBetweenFactorPose2', 'FrobeniusBetweenFactorPose3', 'FrobeniusBetweenFactorRot2', 'FrobeniusBetweenFactorRot3', 'FrobeniusBetweenFactorSO3', 'FrobeniusBetweenFactorSO4', 'FrobeniusFactorPose2', 'FrobeniusFactorPose3', 'FrobeniusFactorRot2', 'FrobeniusFactorRot3', 'FrobeniusFactorSO3', 'FrobeniusFactorSO4', 'FrobeniusPriorPose2', 'FrobeniusPriorPose3', 'FrobeniusPriorRot2', 'FrobeniusPriorRot3', 'FrobeniusPriorSO3', 'FrobeniusPriorSO4', 'FundamentalMatrix', 'GPSFactor', 'GPSFactor2', 'GPSFactor2Arm', 'GPSFactor2ArmCalib', 'GPSFactorArm', 'GPSFactorArmCalib', 'GaussNewtonOptimizer', 'GaussNewtonParams', 'GaussianBayesNet', 'GaussianBayesTree', 'GaussianBayesTreeClique', 'GaussianConditional', 'GaussianDensity', 'GaussianEliminationTree', 'GaussianFactor', 'GaussianFactorGraph', 'GaussianISAM', 'GeneralSFMFactor2Cal3Bundler', 'GeneralSFMFactor2Cal3DS2', 'GeneralSFMFactor2Cal3Fisheye', 'GeneralSFMFactor2Cal3Unified', 'GeneralSFMFactor2Cal3_S2', 'GeneralSFMFactor2Cal3f', 'GeneralSFMFactorCal3Bundler', 'GeneralSFMFactorCal3DS2', 'GeneralSFMFactorCal3Fisheye', 'GeneralSFMFactorCal3Unified', 'GeneralSFMFactorCal3_S2', 'GeneralSFMFactorPoseCal3Bundler', 'GeneralSFMFactorPoseCal3DS2', 'GeneralSFMFactorPoseCal3Fisheye', 'GeneralSFMFactorPoseCal3Unified', 'GeneralSFMFactorPoseCal3_S2', 'GenericProjectionFactorCal3DS2', 'GenericProjectionFactorCal3Fisheye', 'GenericProjectionFactorCal3Unified', 'GenericProjectionFactorCal3_S2', 'GenericStereoFactor3D', 'GenericValueCal3Bundler', 'GenericValueCal3DS2', 'GenericValueCal3Fisheye', 'GenericValueCal3Unified', 'GenericValueCal3_S2', 'GenericValueCalibratedCamera', 'GenericValueConstantBias', 'GenericValueEssentialMatrix', 'GenericValueMatrix', 'GenericValuePoint2', 'GenericValuePoint3', 'GenericValuePose2', 'GenericValuePose3', 'GenericValueRot2', 'GenericValueRot3', 'GenericValueStereoPoint2', 'GenericValueVector', 'GncGaussNewtonOptimizer', 'GncGaussNewtonParams', 'GncLMOptimizer', 'GncLMParams', 'GncLossType', 'GraphvizFormatting', 'HessianFactor', 'HybridBayesNet', 'HybridBayesTree', 'HybridBayesTreeClique', 'HybridConditional', 'HybridFactor', 'HybridGaussianConditional', 'HybridGaussianFactor', 'HybridGaussianFactorGraph', 'HybridNonlinearFactor', 'HybridNonlinearFactorGraph', 'HybridOrdering', 'HybridSmoother', 'HybridValues', 'ISAM2', 'ISAM2Clique', 'ISAM2DoglegParams', 'ISAM2GaussNewtonParams', 'ISAM2Params', 'ISAM2Result', 'ISAM2ThresholdMap', 'ImuFactor', 'ImuFactor2', 'IncrementalFixedLagSmoother', 'IndexPair', 'IndexPairSetAsArray', 'IndexPairSetMap', 'IndexPairVector', 'InitializePose3', 'ItemsView', 'IterativeOptimizationParameters', 'JacobianFactor', 'JacobianVector', 'JointMarginal', 'KalmanFilter', 'KarcherMeanFactorPoint2', 'KarcherMeanFactorPoint3', 'KarcherMeanFactorPose2', 'KarcherMeanFactorPose3', 'KarcherMeanFactorRot2', 'KarcherMeanFactorRot3', 'KarcherMeanFactorSO3', 'KarcherMeanFactorSO4', 'KernelFunctionType', 'KeyGroupMap', 'KeyList', 'KeyPairDoubleMap', 'KeySet', 'KeyVector', 'KeypointsVector', 'KeysView', 'LabeledSymbol', 'LevenbergMarquardtOptimizer', 'LevenbergMarquardtParams', 'LinearContainerFactor', 'LinearizationMode', 'MFAS', 'MT19937', 'MagFactor', 'MagFactor1', 'MagPoseFactorPose2', 'MagPoseFactorPose3', 'ManifoldEvaluationFactorChebyshev1BasisPose2', 'ManifoldEvaluationFactorChebyshev1BasisPose3', 'ManifoldEvaluationFactorChebyshev1BasisRot2', 'ManifoldEvaluationFactorChebyshev1BasisRot3', 'ManifoldEvaluationFactorChebyshev2BasisPose2', 'ManifoldEvaluationFactorChebyshev2BasisPose3', 'ManifoldEvaluationFactorChebyshev2BasisRot2', 'ManifoldEvaluationFactorChebyshev2BasisRot3', 'ManifoldEvaluationFactorChebyshev2Pose2', 'ManifoldEvaluationFactorChebyshev2Pose3', 'ManifoldEvaluationFactorChebyshev2Rot2', 'ManifoldEvaluationFactorChebyshev2Rot3', 'ManifoldEvaluationFactorFourierBasisPose2', 'ManifoldEvaluationFactorFourierBasisPose3', 'ManifoldEvaluationFactorFourierBasisRot2', 'ManifoldEvaluationFactorFourierBasisRot3', 'Marginals', 'MatchIndicesMap', 'NavState', 'NoiseFormat', 'NoiseModelFactor', 'NonlinearEquality2Cal3_S2', 'NonlinearEquality2CalibratedCamera', 'NonlinearEquality2ConstantBias', 'NonlinearEquality2PinholeCameraCal3Bundler', 'NonlinearEquality2PinholeCameraCal3Fisheye', 'NonlinearEquality2PinholeCameraCal3Unified', 'NonlinearEquality2PinholeCameraCal3_S2', 'NonlinearEquality2Point2', 'NonlinearEquality2Point3', 'NonlinearEquality2Pose2', 'NonlinearEquality2Pose3', 'NonlinearEquality2Rot2', 'NonlinearEquality2Rot3', 'NonlinearEquality2SO3', 'NonlinearEquality2SO4', 'NonlinearEquality2SOn', 'NonlinearEquality2Similarity2', 'NonlinearEquality2Similarity3', 'NonlinearEquality2StereoPoint2', 'NonlinearEqualityCal3_S2', 'NonlinearEqualityCalibratedCamera', 'NonlinearEqualityConstantBias', 'NonlinearEqualityPinholeCameraCal3Bundler', 'NonlinearEqualityPinholeCameraCal3Fisheye', 'NonlinearEqualityPinholeCameraCal3Unified', 'NonlinearEqualityPinholeCameraCal3_S2', 'NonlinearEqualityPoint2', 'NonlinearEqualityPoint3', 'NonlinearEqualityPose2', 'NonlinearEqualityPose3', 'NonlinearEqualityRot2', 'NonlinearEqualityRot3', 'NonlinearEqualitySO3', 'NonlinearEqualitySO4', 'NonlinearEqualitySOn', 'NonlinearEqualitySimilarity2', 'NonlinearEqualitySimilarity3', 'NonlinearEqualityStereoPoint2', 'NonlinearFactor', 'NonlinearFactorGraph', 'NonlinearISAM', 'NonlinearOptimizer', 'NonlinearOptimizerParams', 'Ordering', 'OrientedPlane3', 'OrientedPlane3DirectionPrior', 'OrientedPlane3Factor', 'PCGSolverParameters', 'PinholeCameraCal3Bundler', 'PinholeCameraCal3DS2', 'PinholeCameraCal3Fisheye', 'PinholeCameraCal3Unified', 'PinholeCameraCal3_S2', 'PinholeCameraCal3f', 'PinholePoseCal3Bundler', 'PinholePoseCal3DS2', 'PinholePoseCal3Fisheye', 'PinholePoseCal3Unified', 'PinholePoseCal3_S2', 'PlanarProjectionFactor1', 'PlanarProjectionFactor2', 'PlanarProjectionFactor3', 'Point2', 'Point2Pairs', 'Point2Vector', 'Point3', 'Point3Pairs', 'Pose2', 'Pose2Pairs', 'Pose3', 'Pose3AttitudeFactor', 'Pose3Pairs', 'Pose3Vector', 'PoseRotationPrior2D', 'PoseRotationPrior3D', 'PoseTranslationPrior2D', 'PoseTranslationPrior3D', 'PreconditionerParameters', 'PreintegratedAhrsMeasurements', 'PreintegratedCombinedMeasurements', 'PreintegratedImuMeasurements', 'PreintegratedRotation', 'PreintegratedRotationParams', 'PreintegrationCombinedParams', 'PreintegrationParams', 'PrintDiscreteValues', 'PrintKeyList', 'PrintKeySet', 'PrintKeyVector', 'PriorFactorCal3Bundler', 'PriorFactorCal3DS2', 'PriorFactorCal3Fisheye', 'PriorFactorCal3Unified', 'PriorFactorCal3_S2', 'PriorFactorCalibratedCamera', 'PriorFactorConstantBias', 'PriorFactorDouble', 'PriorFactorNavState', 'PriorFactorPinholeCameraCal3Bundler', 'PriorFactorPinholeCameraCal3Fisheye', 'PriorFactorPinholeCameraCal3Unified', 'PriorFactorPinholeCameraCal3_S2', 'PriorFactorPoint2', 'PriorFactorPoint3', 'PriorFactorPose2', 'PriorFactorPose3', 'PriorFactorRot2', 'PriorFactorRot3', 'PriorFactorSO3', 'PriorFactorSO4', 'PriorFactorSOn', 'PriorFactorSimilarity2', 'PriorFactorSimilarity3', 'PriorFactorStereoPoint2', 'PriorFactorUnit3', 'PriorFactorVector', 'Quaternion', 'RangeFactor2', 'RangeFactor2D', 'RangeFactor3', 'RangeFactor3D', 'RangeFactorCalibratedCamera', 'RangeFactorCalibratedCameraPoint', 'RangeFactorPose2', 'RangeFactorPose3', 'RangeFactorSimpleCamera', 'RangeFactorSimpleCameraPoint', 'RangeFactorWithTransform2D', 'RangeFactorWithTransform3D', 'RangeFactorWithTransformPose2', 'RangeFactorWithTransformPose3', 'RedirectCout', 'ReferenceFrameFactorPoint3Pose3', 'Rot2', 'Rot3', 'Rot3AttitudeFactor', 'Rot3Vector', 'RotateDirectionsFactor', 'RotateFactor', 'SO3', 'SO4', 'SOn', 'Sampler', 'Scenario', 'ScenarioRunner', 'SfmCameras', 'SfmData', 'SfmMeasurementVector', 'SfmTrack', 'SfmTrack2d', 'SfmTrack2dVector', 'SfmTracks', 'ShonanAveraging2', 'ShonanAveraging3', 'ShonanAveragingParameters2', 'ShonanAveragingParameters3', 'ShonanFactor3', 'Similarity2', 'Similarity3', 'SimpleFundamentalMatrix', 'SmartFactorBasePinholeCameraCal3Bundler', 'SmartFactorBasePinholeCameraCal3DS2', 'SmartFactorBasePinholeCameraCal3Fisheye', 'SmartFactorBasePinholeCameraCal3Unified', 'SmartFactorBasePinholeCameraCal3_S2', 'SmartFactorBasePinholePoseCal3Bundler', 'SmartFactorBasePinholePoseCal3DS2', 'SmartFactorBasePinholePoseCal3Fisheye', 'SmartFactorBasePinholePoseCal3Unified', 'SmartFactorBasePinholePoseCal3_S2', 'SmartProjectionFactorPinholeCameraCal3Bundler', 'SmartProjectionFactorPinholeCameraCal3DS2', 'SmartProjectionFactorPinholeCameraCal3Fisheye', 'SmartProjectionFactorPinholeCameraCal3Unified', 'SmartProjectionFactorPinholeCameraCal3_S2', 'SmartProjectionFactorPinholePoseCal3Bundler', 'SmartProjectionFactorPinholePoseCal3DS2', 'SmartProjectionFactorPinholePoseCal3Fisheye', 'SmartProjectionFactorPinholePoseCal3Unified', 'SmartProjectionFactorPinholePoseCal3_S2', 'SmartProjectionParams', 'SmartProjectionPoseFactorCal3Bundler', 'SmartProjectionPoseFactorCal3DS2', 'SmartProjectionPoseFactorCal3Fisheye', 'SmartProjectionPoseFactorCal3Unified', 'SmartProjectionPoseFactorCal3_S2', 'SmartProjectionRigFactorPinholePoseCal3Bundler', 'SmartProjectionRigFactorPinholePoseCal3DS2', 'SmartProjectionRigFactorPinholePoseCal3Fisheye', 'SmartProjectionRigFactorPinholePoseCal3Unified', 'SmartProjectionRigFactorPinholePoseCal3_S2', 'StereoCamera', 'StereoPoint2', 'SubgraphSolver', 'SubgraphSolverParameters', 'Symbol', 'SymbolicBayesNet', 'SymbolicBayesTree', 'SymbolicBayesTreeClique', 'SymbolicCluster', 'SymbolicConditional', 'SymbolicEliminationTree', 'SymbolicFactor', 'SymbolicFactorGraph', 'SymbolicJunctionTree', 'TableDistribution', 'TableFactor', 'TransferFactorFundamentalMatrix', 'TransferFactorSimpleFundamentalMatrix', 'TranslationRecovery', 'TriangulationFactorCal3Bundler', 'TriangulationFactorCal3DS2', 'TriangulationFactorCal3Fisheye', 'TriangulationFactorCal3Unified', 'TriangulationFactorCal3_S2', 'TriangulationFactorPoseCal3Bundler', 'TriangulationFactorPoseCal3DS2', 'TriangulationFactorPoseCal3Fisheye', 'TriangulationFactorPoseCal3Unified', 'TriangulationFactorPoseCal3_S2', 'TriangulationParameters', 'TriangulationResult', 'Unit3', 'Value', 'Values', 'ValuesView', 'VariableIndex', 'VectorComponentFactorChebyshev1Basis', 'VectorComponentFactorChebyshev2', 'VectorComponentFactorChebyshev2Basis', 'VectorComponentFactorFourierBasis', 'VectorDerivativeFactorChebyshev1Basis', 'VectorDerivativeFactorChebyshev2', 'VectorDerivativeFactorChebyshev2Basis', 'VectorDerivativeFactorFourierBasis', 'VectorEvaluationFactorChebyshev1Basis', 'VectorEvaluationFactorChebyshev2', 'VectorEvaluationFactorChebyshev2Basis', 'VectorEvaluationFactorFourierBasis', 'VectorValues', 'cartesianProduct', 'checkConvergence', 'findExampleDataFile', 'gtsam', 'gtsfm', 'html', 'imuBias', 'initialCamerasAndPointsEstimate', 'initialCamerasEstimate', 'isDebugVersion', 'lago', 'linear_independent', 'load2D', 'load3D', 'markdown', 'mrsymbol', 'mrsymbolChr', 'mrsymbolIndex', 'mrsymbolLabel', 'noiseModel', 'parse2DFactors', 'parse3DFactors', 'readBal', 'readG2o', 'save2D', 'so3', 'symbol', 'symbolChr', 'symbolIndex', 'symbol_shorthand', 'sys', 'triangulateNonlinear', 'triangulatePoint3', 'triangulateSafe', 'utilities', 'utils', 'writeBAL', 'writeG2o']
|
|
597
600
|
class FixedLagSmootherKeyTimestampMap(dict):
|
|
598
601
|
"""
|
|
599
602
|
Class to provide backwards compatibility
|
gtsam/gtsam/__init__.pyi
CHANGED
|
@@ -11,7 +11,7 @@ from . import noiseModel
|
|
|
11
11
|
from . import so3
|
|
12
12
|
from . import symbol_shorthand
|
|
13
13
|
from . import utilities
|
|
14
|
-
__all__ = ['AHRSFactor', 'AcceleratingScenario', 'BarometricFactor', 'BatchFixedLagSmoother', 'BearingFactor2D', 'BearingFactor3D', 'BearingFactorPose2', 'BearingRange2D', 'BearingRange3D', 'BearingRangeFactor2D', 'BearingRangeFactor3D', 'BearingRangeFactorPose2', 'BearingRangeFactorPose3', 'BearingRangePose2', 'BearingRangePose3', 'BetweenFactorConstantBias', 'BetweenFactorDouble', 'BetweenFactorPoint2', 'BetweenFactorPoint3', 'BetweenFactorPose2', 'BetweenFactorPose3', 'BetweenFactorRot2', 'BetweenFactorRot3', 'BetweenFactorSO3', 'BetweenFactorSO4', 'BetweenFactorSimilarity2', 'BetweenFactorSimilarity3', 'BetweenFactorVector', 'BinaryMeasurementPoint3', 'BinaryMeasurementRot3', 'BinaryMeasurementUnit3', 'BlockJacobiPreconditionerParameters', 'Cal3', 'Cal3Bundler', 'Cal3DS2', 'Cal3DS2_Base', 'Cal3Fisheye', 'Cal3Unified', 'Cal3_S2', 'Cal3_S2Stereo', 'Cal3f', 'CalibratedCamera', 'CameraSetCal3Bundler', 'CameraSetCal3DS2', 'CameraSetCal3Fisheye', 'CameraSetCal3Unified', 'CameraSetCal3_S2', 'CameraSetPinholePoseCal3_S2', 'Chebyshev1Basis', 'Chebyshev2', 'Chebyshev2Basis', 'CombinedImuFactor', 'ComponentDerivativeFactorChebyshev1Basis', 'ComponentDerivativeFactorChebyshev2', 'ComponentDerivativeFactorChebyshev2Basis', 'ComponentDerivativeFactorFourierBasis', 'ConjugateGradientParameters', 'ConstantTwistScenario', 'ConstantVelocityFactor', 'ConvertNoiseModel', 'CustomFactor', 'DSFMapIndexPair', 'DecisionTreeFactor', 'DegeneracyMode', 'DerivativeFactorChebyshev1Basis', 'DerivativeFactorChebyshev2', 'DerivativeFactorChebyshev2Basis', 'DerivativeFactorFourierBasis', 'DiscreteBayesNet', 'DiscreteBayesTree', 'DiscreteBayesTreeClique', 'DiscreteCluster', 'DiscreteConditional', 'DiscreteDistribution', 'DiscreteEliminationTree', 'DiscreteFactor', 'DiscreteFactorGraph', 'DiscreteJunctionTree', 'DiscreteKeys', 'DiscreteLookupDAG', 'DiscreteLookupTable', 'DiscreteMarginals', 'DiscreteSearch', 'DiscreteSearchSolution', 'DiscreteValues', 'DoglegOptimizer', 'DoglegParams', 'DotWriter', 'DummyPreconditionerParameters', 'EdgeKey', 'EliminateDiscrete', 'EliminateForMPE', 'EliminateQR', 'EpipolarTransfer', 'EssentialMatrix', 'EssentialMatrixConstraint', 'EssentialMatrixFactor', 'EssentialMatrixFactor2', 'EssentialMatrixFactor3', 'EssentialMatrixFactor4Cal3Bundler', 'EssentialMatrixFactor4Cal3DS2', 'EssentialMatrixFactor4Cal3Fisheye', 'EssentialMatrixFactor4Cal3Unified', 'EssentialMatrixFactor4Cal3_S2', 'EssentialMatrixFactor4Cal3f', 'EssentialMatrixFactor5Cal3Bundler', 'EssentialMatrixFactor5Cal3DS2', 'EssentialMatrixFactor5Cal3Fisheye', 'EssentialMatrixFactor5Cal3Unified', 'EssentialMatrixFactor5Cal3_S2', 'EssentialMatrixFactor5Cal3f', 'EssentialTransferFactorCal3Bundler', 'EssentialTransferFactorCal3_S2', 'EssentialTransferFactorCal3f', 'EssentialTransferFactorKCal3Bundler', 'EssentialTransferFactorKCal3_S2', 'EssentialTransferFactorKCal3f', 'EvaluationFactorChebyshev1Basis', 'EvaluationFactorChebyshev2', 'EvaluationFactorChebyshev2Basis', 'EvaluationFactorFourierBasis', 'Event', 'ExtendedKalmanFilterConstantBias', 'ExtendedKalmanFilterNavState', 'ExtendedKalmanFilterPoint2', 'ExtendedKalmanFilterPoint3', 'ExtendedKalmanFilterPose2', 'ExtendedKalmanFilterPose3', 'ExtendedKalmanFilterRot2', 'ExtendedKalmanFilterRot3', 'ExtendedKalmanFilterSimilarity2', 'ExtendedKalmanFilterSimilarity3', 'Factor', 'FindKarcherMeanPoint2', 'FindKarcherMeanPoint3', 'FindKarcherMeanPose2', 'FindKarcherMeanPose3', 'FindKarcherMeanRot2', 'FindKarcherMeanRot3', 'FindKarcherMeanSO3', 'FindKarcherMeanSO4', 'FitBasisChebyshev1Basis', 'FitBasisChebyshev2', 'FitBasisChebyshev2Basis', 'FitBasisFourierBasis', 'FixedLagSmoother', 'FixedLagSmootherResult', 'FourierBasis', 'FrobeniusBetweenFactorPose2', 'FrobeniusBetweenFactorPose3', 'FrobeniusBetweenFactorRot2', 'FrobeniusBetweenFactorRot3', 'FrobeniusBetweenFactorSO3', 'FrobeniusBetweenFactorSO4', 'FrobeniusFactorPose2', 'FrobeniusFactorPose3', 'FrobeniusFactorRot2', 'FrobeniusFactorRot3', 'FrobeniusFactorSO3', 'FrobeniusFactorSO4', 'FrobeniusPriorPose2', 'FrobeniusPriorPose3', 'FrobeniusPriorRot2', 'FrobeniusPriorRot3', 'FrobeniusPriorSO3', 'FrobeniusPriorSO4', 'FundamentalMatrix', 'GPSFactor', 'GPSFactor2', 'GPSFactor2Arm', 'GPSFactor2ArmCalib', 'GPSFactorArm', 'GPSFactorArmCalib', 'GaussNewtonOptimizer', 'GaussNewtonParams', 'GaussianBayesNet', 'GaussianBayesTree', 'GaussianBayesTreeClique', 'GaussianConditional', 'GaussianDensity', 'GaussianEliminationTree', 'GaussianFactor', 'GaussianFactorGraph', 'GaussianISAM', 'GeneralSFMFactor2Cal3Bundler', 'GeneralSFMFactor2Cal3DS2', 'GeneralSFMFactor2Cal3Fisheye', 'GeneralSFMFactor2Cal3Unified', 'GeneralSFMFactor2Cal3_S2', 'GeneralSFMFactor2Cal3f', 'GeneralSFMFactorCal3Bundler', 'GeneralSFMFactorCal3DS2', 'GeneralSFMFactorCal3Fisheye', 'GeneralSFMFactorCal3Unified', 'GeneralSFMFactorCal3_S2', 'GeneralSFMFactorPoseCal3Bundler', 'GeneralSFMFactorPoseCal3DS2', 'GeneralSFMFactorPoseCal3Fisheye', 'GeneralSFMFactorPoseCal3Unified', 'GeneralSFMFactorPoseCal3_S2', 'GenericProjectionFactorCal3DS2', 'GenericProjectionFactorCal3Fisheye', 'GenericProjectionFactorCal3Unified', 'GenericProjectionFactorCal3_S2', 'GenericStereoFactor3D', 'GenericValueCal3Bundler', 'GenericValueCal3DS2', 'GenericValueCal3Fisheye', 'GenericValueCal3Unified', 'GenericValueCal3_S2', 'GenericValueCalibratedCamera', 'GenericValueConstantBias', 'GenericValueEssentialMatrix', 'GenericValueMatrix', 'GenericValuePoint2', 'GenericValuePoint3', 'GenericValuePose2', 'GenericValuePose3', 'GenericValueRot2', 'GenericValueRot3', 'GenericValueStereoPoint2', 'GenericValueVector', 'GncGaussNewtonOptimizer', 'GncGaussNewtonParams', 'GncLMOptimizer', 'GncLMParams', 'GncLossType', 'GraphvizFormatting', 'HessianFactor', 'HybridBayesNet', 'HybridBayesTree', 'HybridBayesTreeClique', 'HybridConditional', 'HybridFactor', 'HybridGaussianConditional', 'HybridGaussianFactor', 'HybridGaussianFactorGraph', 'HybridNonlinearFactor', 'HybridNonlinearFactorGraph', 'HybridSmoother', 'HybridValues', 'ISAM2', 'ISAM2Clique', 'ISAM2DoglegParams', 'ISAM2GaussNewtonParams', 'ISAM2Params', 'ISAM2Result', 'ISAM2ThresholdMap', 'ImuFactor', 'ImuFactor2', 'IncrementalFixedLagSmoother', 'IndexPair', 'IndexPairSetAsArray', 'InitializePose3', 'IterativeOptimizationParameters', 'JacobianFactor', 'JacobianVector', 'JointMarginal', 'KalmanFilter', 'KarcherMeanFactorPoint2', 'KarcherMeanFactorPoint3', 'KarcherMeanFactorPose2', 'KarcherMeanFactorPose3', 'KarcherMeanFactorRot2', 'KarcherMeanFactorRot3', 'KarcherMeanFactorSO3', 'KarcherMeanFactorSO4', 'KernelFunctionType', 'KeyGroupMap', 'KeyList', 'KeySet', 'LabeledSymbol', 'LevenbergMarquardtOptimizer', 'LevenbergMarquardtParams', 'LinearContainerFactor', 'LinearizationMode', 'MFAS', 'MT19937', 'MagFactor', 'MagFactor1', 'MagPoseFactorPose2', 'MagPoseFactorPose3', 'ManifoldEvaluationFactorChebyshev1BasisPose2', 'ManifoldEvaluationFactorChebyshev1BasisPose3', 'ManifoldEvaluationFactorChebyshev1BasisRot2', 'ManifoldEvaluationFactorChebyshev1BasisRot3', 'ManifoldEvaluationFactorChebyshev2BasisPose2', 'ManifoldEvaluationFactorChebyshev2BasisPose3', 'ManifoldEvaluationFactorChebyshev2BasisRot2', 'ManifoldEvaluationFactorChebyshev2BasisRot3', 'ManifoldEvaluationFactorChebyshev2Pose2', 'ManifoldEvaluationFactorChebyshev2Pose3', 'ManifoldEvaluationFactorChebyshev2Rot2', 'ManifoldEvaluationFactorChebyshev2Rot3', 'ManifoldEvaluationFactorFourierBasisPose2', 'ManifoldEvaluationFactorFourierBasisPose3', 'ManifoldEvaluationFactorFourierBasisRot2', 'ManifoldEvaluationFactorFourierBasisRot3', 'Marginals', 'NavState', 'NoiseFormat', 'NoiseModelFactor', 'NonlinearEquality2Cal3_S2', 'NonlinearEquality2CalibratedCamera', 'NonlinearEquality2ConstantBias', 'NonlinearEquality2PinholeCameraCal3Bundler', 'NonlinearEquality2PinholeCameraCal3Fisheye', 'NonlinearEquality2PinholeCameraCal3Unified', 'NonlinearEquality2PinholeCameraCal3_S2', 'NonlinearEquality2Point2', 'NonlinearEquality2Point3', 'NonlinearEquality2Pose2', 'NonlinearEquality2Pose3', 'NonlinearEquality2Rot2', 'NonlinearEquality2Rot3', 'NonlinearEquality2SO3', 'NonlinearEquality2SO4', 'NonlinearEquality2SOn', 'NonlinearEquality2Similarity2', 'NonlinearEquality2Similarity3', 'NonlinearEquality2StereoPoint2', 'NonlinearEqualityCal3_S2', 'NonlinearEqualityCalibratedCamera', 'NonlinearEqualityConstantBias', 'NonlinearEqualityPinholeCameraCal3Bundler', 'NonlinearEqualityPinholeCameraCal3Fisheye', 'NonlinearEqualityPinholeCameraCal3Unified', 'NonlinearEqualityPinholeCameraCal3_S2', 'NonlinearEqualityPoint2', 'NonlinearEqualityPoint3', 'NonlinearEqualityPose2', 'NonlinearEqualityPose3', 'NonlinearEqualityRot2', 'NonlinearEqualityRot3', 'NonlinearEqualitySO3', 'NonlinearEqualitySO4', 'NonlinearEqualitySOn', 'NonlinearEqualitySimilarity2', 'NonlinearEqualitySimilarity3', 'NonlinearEqualityStereoPoint2', 'NonlinearFactor', 'NonlinearFactorGraph', 'NonlinearISAM', 'NonlinearOptimizer', 'NonlinearOptimizerParams', 'Ordering', 'OrientedPlane3', 'OrientedPlane3DirectionPrior', 'OrientedPlane3Factor', 'PCGSolverParameters', 'PinholeCameraCal3Bundler', 'PinholeCameraCal3DS2', 'PinholeCameraCal3Fisheye', 'PinholeCameraCal3Unified', 'PinholeCameraCal3_S2', 'PinholeCameraCal3f', 'PinholePoseCal3Bundler', 'PinholePoseCal3DS2', 'PinholePoseCal3Fisheye', 'PinholePoseCal3Unified', 'PinholePoseCal3_S2', 'PlanarProjectionFactor1', 'PlanarProjectionFactor2', 'PlanarProjectionFactor3', 'Pose2', 'Pose3', 'Pose3AttitudeFactor', 'PoseRotationPrior2D', 'PoseRotationPrior3D', 'PoseTranslationPrior2D', 'PoseTranslationPrior3D', 'PreconditionerParameters', 'PreintegratedAhrsMeasurements', 'PreintegratedCombinedMeasurements', 'PreintegratedImuMeasurements', 'PreintegratedRotation', 'PreintegratedRotationParams', 'PreintegrationCombinedParams', 'PreintegrationParams', 'PrintDiscreteValues', 'PrintKeyList', 'PrintKeySet', 'PrintKeyVector', 'PriorFactorCal3Bundler', 'PriorFactorCal3DS2', 'PriorFactorCal3Fisheye', 'PriorFactorCal3Unified', 'PriorFactorCal3_S2', 'PriorFactorCalibratedCamera', 'PriorFactorConstantBias', 'PriorFactorDouble', 'PriorFactorNavState', 'PriorFactorPinholeCameraCal3Bundler', 'PriorFactorPinholeCameraCal3Fisheye', 'PriorFactorPinholeCameraCal3Unified', 'PriorFactorPinholeCameraCal3_S2', 'PriorFactorPoint2', 'PriorFactorPoint3', 'PriorFactorPose2', 'PriorFactorPose3', 'PriorFactorRot2', 'PriorFactorRot3', 'PriorFactorSO3', 'PriorFactorSO4', 'PriorFactorSOn', 'PriorFactorSimilarity2', 'PriorFactorSimilarity3', 'PriorFactorStereoPoint2', 'PriorFactorUnit3', 'PriorFactorVector', 'Quaternion', 'RangeFactor2', 'RangeFactor2D', 'RangeFactor3', 'RangeFactor3D', 'RangeFactorCalibratedCamera', 'RangeFactorCalibratedCameraPoint', 'RangeFactorPose2', 'RangeFactorPose3', 'RangeFactorSimpleCamera', 'RangeFactorSimpleCameraPoint', 'RangeFactorWithTransform2D', 'RangeFactorWithTransform3D', 'RangeFactorWithTransformPose2', 'RangeFactorWithTransformPose3', 'RedirectCout', 'ReferenceFrameFactorPoint3Pose3', 'Rot2', 'Rot3', 'Rot3AttitudeFactor', 'RotateDirectionsFactor', 'RotateFactor', 'SO3', 'SO4', 'SOn', 'Sampler', 'Scenario', 'ScenarioRunner', 'SfmData', 'SfmTrack', 'SfmTrack2d', 'ShonanAveraging2', 'ShonanAveraging3', 'ShonanAveragingParameters2', 'ShonanAveragingParameters3', 'ShonanFactor3', 'Similarity2', 'Similarity3', 'SimpleFundamentalMatrix', 'SmartFactorBasePinholeCameraCal3Bundler', 'SmartFactorBasePinholeCameraCal3DS2', 'SmartFactorBasePinholeCameraCal3Fisheye', 'SmartFactorBasePinholeCameraCal3Unified', 'SmartFactorBasePinholeCameraCal3_S2', 'SmartFactorBasePinholePoseCal3Bundler', 'SmartFactorBasePinholePoseCal3DS2', 'SmartFactorBasePinholePoseCal3Fisheye', 'SmartFactorBasePinholePoseCal3Unified', 'SmartFactorBasePinholePoseCal3_S2', 'SmartProjectionFactorPinholeCameraCal3Bundler', 'SmartProjectionFactorPinholeCameraCal3DS2', 'SmartProjectionFactorPinholeCameraCal3Fisheye', 'SmartProjectionFactorPinholeCameraCal3Unified', 'SmartProjectionFactorPinholeCameraCal3_S2', 'SmartProjectionFactorPinholePoseCal3Bundler', 'SmartProjectionFactorPinholePoseCal3DS2', 'SmartProjectionFactorPinholePoseCal3Fisheye', 'SmartProjectionFactorPinholePoseCal3Unified', 'SmartProjectionFactorPinholePoseCal3_S2', 'SmartProjectionParams', 'SmartProjectionPoseFactorCal3Bundler', 'SmartProjectionPoseFactorCal3DS2', 'SmartProjectionPoseFactorCal3Fisheye', 'SmartProjectionPoseFactorCal3Unified', 'SmartProjectionPoseFactorCal3_S2', 'SmartProjectionRigFactorPinholePoseCal3Bundler', 'SmartProjectionRigFactorPinholePoseCal3DS2', 'SmartProjectionRigFactorPinholePoseCal3Fisheye', 'SmartProjectionRigFactorPinholePoseCal3Unified', 'SmartProjectionRigFactorPinholePoseCal3_S2', 'StereoCamera', 'StereoPoint2', 'SubgraphSolver', 'SubgraphSolverParameters', 'Symbol', 'SymbolicBayesNet', 'SymbolicBayesTree', 'SymbolicBayesTreeClique', 'SymbolicCluster', 'SymbolicConditional', 'SymbolicEliminationTree', 'SymbolicFactor', 'SymbolicFactorGraph', 'SymbolicJunctionTree', 'TableDistribution', 'TableFactor', 'TransferFactorFundamentalMatrix', 'TransferFactorSimpleFundamentalMatrix', 'TranslationRecovery', 'TriangulationFactorCal3Bundler', 'TriangulationFactorCal3DS2', 'TriangulationFactorCal3Fisheye', 'TriangulationFactorCal3Unified', 'TriangulationFactorCal3_S2', 'TriangulationFactorPoseCal3Bundler', 'TriangulationFactorPoseCal3DS2', 'TriangulationFactorPoseCal3Fisheye', 'TriangulationFactorPoseCal3Unified', 'TriangulationFactorPoseCal3_S2', 'TriangulationParameters', 'TriangulationResult', 'Unit3', 'Value', 'Values', 'VariableIndex', 'VectorComponentFactorChebyshev1Basis', 'VectorComponentFactorChebyshev2', 'VectorComponentFactorChebyshev2Basis', 'VectorComponentFactorFourierBasis', 'VectorDerivativeFactorChebyshev1Basis', 'VectorDerivativeFactorChebyshev2', 'VectorDerivativeFactorChebyshev2Basis', 'VectorDerivativeFactorFourierBasis', 'VectorEvaluationFactorChebyshev1Basis', 'VectorEvaluationFactorChebyshev2', 'VectorEvaluationFactorChebyshev2Basis', 'VectorEvaluationFactorFourierBasis', 'VectorValues', 'cartesianProduct', 'checkConvergence', 'gtsfm', 'html', 'imuBias', 'initialCamerasAndPointsEstimate', 'initialCamerasEstimate', 'isDebugVersion', 'lago', 'linear_independent', 'load2D', 'load3D', 'markdown', 'mrsymbol', 'mrsymbolChr', 'mrsymbolIndex', 'mrsymbolLabel', 'noiseModel', 'parse2DFactors', 'parse3DFactors', 'readBal', 'readG2o', 'save2D', 'so3', 'symbol', 'symbolChr', 'symbolIndex', 'symbol_shorthand', 'triangulateNonlinear', 'triangulatePoint3', 'triangulateSafe', 'utilities', 'writeBAL', 'writeG2o']
|
|
14
|
+
__all__ = ['AHRSFactor', 'AcceleratingScenario', 'AlgebraicDecisionTreeKey', 'AssignmentKey', 'BarometricFactor', 'BatchFixedLagSmoother', 'BearingFactor2D', 'BearingFactor3D', 'BearingFactorPose2', 'BearingRange2D', 'BearingRange3D', 'BearingRangeFactor2D', 'BearingRangeFactor3D', 'BearingRangeFactorPose2', 'BearingRangeFactorPose3', 'BearingRangePose2', 'BearingRangePose3', 'BetweenFactorConstantBias', 'BetweenFactorDouble', 'BetweenFactorPoint2', 'BetweenFactorPoint3', 'BetweenFactorPose2', 'BetweenFactorPose3', 'BetweenFactorRot2', 'BetweenFactorRot3', 'BetweenFactorSO3', 'BetweenFactorSO4', 'BetweenFactorSimilarity2', 'BetweenFactorSimilarity3', 'BetweenFactorVector', 'BinaryMeasurementPoint3', 'BinaryMeasurementRot3', 'BinaryMeasurementUnit3', 'BlockJacobiPreconditionerParameters', 'Cal3', 'Cal3Bundler', 'Cal3DS2', 'Cal3DS2_Base', 'Cal3Fisheye', 'Cal3Unified', 'Cal3_S2', 'Cal3_S2Stereo', 'Cal3f', 'CalibratedCamera', 'CameraSetCal3Bundler', 'CameraSetCal3DS2', 'CameraSetCal3Fisheye', 'CameraSetCal3Unified', 'CameraSetCal3_S2', 'CameraSetPinholePoseCal3_S2', 'Chebyshev1Basis', 'Chebyshev2', 'Chebyshev2Basis', 'CombinedImuFactor', 'ComponentDerivativeFactorChebyshev1Basis', 'ComponentDerivativeFactorChebyshev2', 'ComponentDerivativeFactorChebyshev2Basis', 'ComponentDerivativeFactorFourierBasis', 'ConjugateGradientParameters', 'ConstantTwistScenario', 'ConstantVelocityFactor', 'ConvertNoiseModel', 'CustomFactor', 'DSFMapIndexPair', 'DecisionTreeFactor', 'DegeneracyMode', 'DerivativeFactorChebyshev1Basis', 'DerivativeFactorChebyshev2', 'DerivativeFactorChebyshev2Basis', 'DerivativeFactorFourierBasis', 'DiscreteBayesNet', 'DiscreteBayesTree', 'DiscreteBayesTreeClique', 'DiscreteCluster', 'DiscreteConditional', 'DiscreteDistribution', 'DiscreteEliminationTree', 'DiscreteFactor', 'DiscreteFactorGraph', 'DiscreteJunctionTree', 'DiscreteKeys', 'DiscreteLookupDAG', 'DiscreteLookupTable', 'DiscreteMarginals', 'DiscreteSearch', 'DiscreteSearchSolution', 'DiscreteValues', 'DoglegOptimizer', 'DoglegParams', 'DotWriter', 'DummyPreconditionerParameters', 'EdgeKey', 'EliminateDiscrete', 'EliminateForMPE', 'EliminateQR', 'EpipolarTransfer', 'EssentialMatrix', 'EssentialMatrixConstraint', 'EssentialMatrixFactor', 'EssentialMatrixFactor2', 'EssentialMatrixFactor3', 'EssentialMatrixFactor4Cal3Bundler', 'EssentialMatrixFactor4Cal3DS2', 'EssentialMatrixFactor4Cal3Fisheye', 'EssentialMatrixFactor4Cal3Unified', 'EssentialMatrixFactor4Cal3_S2', 'EssentialMatrixFactor4Cal3f', 'EssentialMatrixFactor5Cal3Bundler', 'EssentialMatrixFactor5Cal3DS2', 'EssentialMatrixFactor5Cal3Fisheye', 'EssentialMatrixFactor5Cal3Unified', 'EssentialMatrixFactor5Cal3_S2', 'EssentialMatrixFactor5Cal3f', 'EssentialTransferFactorCal3Bundler', 'EssentialTransferFactorCal3_S2', 'EssentialTransferFactorCal3f', 'EssentialTransferFactorKCal3Bundler', 'EssentialTransferFactorKCal3_S2', 'EssentialTransferFactorKCal3f', 'EvaluationFactorChebyshev1Basis', 'EvaluationFactorChebyshev2', 'EvaluationFactorChebyshev2Basis', 'EvaluationFactorFourierBasis', 'Event', 'ExtendedKalmanFilterConstantBias', 'ExtendedKalmanFilterNavState', 'ExtendedKalmanFilterPoint2', 'ExtendedKalmanFilterPoint3', 'ExtendedKalmanFilterPose2', 'ExtendedKalmanFilterPose3', 'ExtendedKalmanFilterRot2', 'ExtendedKalmanFilterRot3', 'ExtendedKalmanFilterSimilarity2', 'ExtendedKalmanFilterSimilarity3', 'Factor', 'FindKarcherMeanPoint2', 'FindKarcherMeanPoint3', 'FindKarcherMeanPose2', 'FindKarcherMeanPose3', 'FindKarcherMeanRot2', 'FindKarcherMeanRot3', 'FindKarcherMeanSO3', 'FindKarcherMeanSO4', 'FitBasisChebyshev1Basis', 'FitBasisChebyshev2', 'FitBasisChebyshev2Basis', 'FitBasisFourierBasis', 'FixedLagSmoother', 'FixedLagSmootherResult', 'FourierBasis', 'FrobeniusBetweenFactorPose2', 'FrobeniusBetweenFactorPose3', 'FrobeniusBetweenFactorRot2', 'FrobeniusBetweenFactorRot3', 'FrobeniusBetweenFactorSO3', 'FrobeniusBetweenFactorSO4', 'FrobeniusFactorPose2', 'FrobeniusFactorPose3', 'FrobeniusFactorRot2', 'FrobeniusFactorRot3', 'FrobeniusFactorSO3', 'FrobeniusFactorSO4', 'FrobeniusPriorPose2', 'FrobeniusPriorPose3', 'FrobeniusPriorRot2', 'FrobeniusPriorRot3', 'FrobeniusPriorSO3', 'FrobeniusPriorSO4', 'FundamentalMatrix', 'GPSFactor', 'GPSFactor2', 'GPSFactor2Arm', 'GPSFactor2ArmCalib', 'GPSFactorArm', 'GPSFactorArmCalib', 'GaussNewtonOptimizer', 'GaussNewtonParams', 'GaussianBayesNet', 'GaussianBayesTree', 'GaussianBayesTreeClique', 'GaussianConditional', 'GaussianDensity', 'GaussianEliminationTree', 'GaussianFactor', 'GaussianFactorGraph', 'GaussianISAM', 'GeneralSFMFactor2Cal3Bundler', 'GeneralSFMFactor2Cal3DS2', 'GeneralSFMFactor2Cal3Fisheye', 'GeneralSFMFactor2Cal3Unified', 'GeneralSFMFactor2Cal3_S2', 'GeneralSFMFactor2Cal3f', 'GeneralSFMFactorCal3Bundler', 'GeneralSFMFactorCal3DS2', 'GeneralSFMFactorCal3Fisheye', 'GeneralSFMFactorCal3Unified', 'GeneralSFMFactorCal3_S2', 'GeneralSFMFactorPoseCal3Bundler', 'GeneralSFMFactorPoseCal3DS2', 'GeneralSFMFactorPoseCal3Fisheye', 'GeneralSFMFactorPoseCal3Unified', 'GeneralSFMFactorPoseCal3_S2', 'GenericProjectionFactorCal3DS2', 'GenericProjectionFactorCal3Fisheye', 'GenericProjectionFactorCal3Unified', 'GenericProjectionFactorCal3_S2', 'GenericStereoFactor3D', 'GenericValueCal3Bundler', 'GenericValueCal3DS2', 'GenericValueCal3Fisheye', 'GenericValueCal3Unified', 'GenericValueCal3_S2', 'GenericValueCalibratedCamera', 'GenericValueConstantBias', 'GenericValueEssentialMatrix', 'GenericValueMatrix', 'GenericValuePoint2', 'GenericValuePoint3', 'GenericValuePose2', 'GenericValuePose3', 'GenericValueRot2', 'GenericValueRot3', 'GenericValueStereoPoint2', 'GenericValueVector', 'GncGaussNewtonOptimizer', 'GncGaussNewtonParams', 'GncLMOptimizer', 'GncLMParams', 'GncLossType', 'GraphvizFormatting', 'HessianFactor', 'HybridBayesNet', 'HybridBayesTree', 'HybridBayesTreeClique', 'HybridConditional', 'HybridFactor', 'HybridGaussianConditional', 'HybridGaussianFactor', 'HybridGaussianFactorGraph', 'HybridNonlinearFactor', 'HybridNonlinearFactorGraph', 'HybridOrdering', 'HybridSmoother', 'HybridValues', 'ISAM2', 'ISAM2Clique', 'ISAM2DoglegParams', 'ISAM2GaussNewtonParams', 'ISAM2Params', 'ISAM2Result', 'ISAM2ThresholdMap', 'ImuFactor', 'ImuFactor2', 'IncrementalFixedLagSmoother', 'IndexPair', 'IndexPairSetAsArray', 'InitializePose3', 'IterativeOptimizationParameters', 'JacobianFactor', 'JacobianVector', 'JointMarginal', 'KalmanFilter', 'KarcherMeanFactorPoint2', 'KarcherMeanFactorPoint3', 'KarcherMeanFactorPose2', 'KarcherMeanFactorPose3', 'KarcherMeanFactorRot2', 'KarcherMeanFactorRot3', 'KarcherMeanFactorSO3', 'KarcherMeanFactorSO4', 'KernelFunctionType', 'KeyGroupMap', 'KeyList', 'KeySet', 'LabeledSymbol', 'LevenbergMarquardtOptimizer', 'LevenbergMarquardtParams', 'LinearContainerFactor', 'LinearizationMode', 'MFAS', 'MT19937', 'MagFactor', 'MagFactor1', 'MagPoseFactorPose2', 'MagPoseFactorPose3', 'ManifoldEvaluationFactorChebyshev1BasisPose2', 'ManifoldEvaluationFactorChebyshev1BasisPose3', 'ManifoldEvaluationFactorChebyshev1BasisRot2', 'ManifoldEvaluationFactorChebyshev1BasisRot3', 'ManifoldEvaluationFactorChebyshev2BasisPose2', 'ManifoldEvaluationFactorChebyshev2BasisPose3', 'ManifoldEvaluationFactorChebyshev2BasisRot2', 'ManifoldEvaluationFactorChebyshev2BasisRot3', 'ManifoldEvaluationFactorChebyshev2Pose2', 'ManifoldEvaluationFactorChebyshev2Pose3', 'ManifoldEvaluationFactorChebyshev2Rot2', 'ManifoldEvaluationFactorChebyshev2Rot3', 'ManifoldEvaluationFactorFourierBasisPose2', 'ManifoldEvaluationFactorFourierBasisPose3', 'ManifoldEvaluationFactorFourierBasisRot2', 'ManifoldEvaluationFactorFourierBasisRot3', 'Marginals', 'NavState', 'NoiseFormat', 'NoiseModelFactor', 'NonlinearEquality2Cal3_S2', 'NonlinearEquality2CalibratedCamera', 'NonlinearEquality2ConstantBias', 'NonlinearEquality2PinholeCameraCal3Bundler', 'NonlinearEquality2PinholeCameraCal3Fisheye', 'NonlinearEquality2PinholeCameraCal3Unified', 'NonlinearEquality2PinholeCameraCal3_S2', 'NonlinearEquality2Point2', 'NonlinearEquality2Point3', 'NonlinearEquality2Pose2', 'NonlinearEquality2Pose3', 'NonlinearEquality2Rot2', 'NonlinearEquality2Rot3', 'NonlinearEquality2SO3', 'NonlinearEquality2SO4', 'NonlinearEquality2SOn', 'NonlinearEquality2Similarity2', 'NonlinearEquality2Similarity3', 'NonlinearEquality2StereoPoint2', 'NonlinearEqualityCal3_S2', 'NonlinearEqualityCalibratedCamera', 'NonlinearEqualityConstantBias', 'NonlinearEqualityPinholeCameraCal3Bundler', 'NonlinearEqualityPinholeCameraCal3Fisheye', 'NonlinearEqualityPinholeCameraCal3Unified', 'NonlinearEqualityPinholeCameraCal3_S2', 'NonlinearEqualityPoint2', 'NonlinearEqualityPoint3', 'NonlinearEqualityPose2', 'NonlinearEqualityPose3', 'NonlinearEqualityRot2', 'NonlinearEqualityRot3', 'NonlinearEqualitySO3', 'NonlinearEqualitySO4', 'NonlinearEqualitySOn', 'NonlinearEqualitySimilarity2', 'NonlinearEqualitySimilarity3', 'NonlinearEqualityStereoPoint2', 'NonlinearFactor', 'NonlinearFactorGraph', 'NonlinearISAM', 'NonlinearOptimizer', 'NonlinearOptimizerParams', 'Ordering', 'OrientedPlane3', 'OrientedPlane3DirectionPrior', 'OrientedPlane3Factor', 'PCGSolverParameters', 'PinholeCameraCal3Bundler', 'PinholeCameraCal3DS2', 'PinholeCameraCal3Fisheye', 'PinholeCameraCal3Unified', 'PinholeCameraCal3_S2', 'PinholeCameraCal3f', 'PinholePoseCal3Bundler', 'PinholePoseCal3DS2', 'PinholePoseCal3Fisheye', 'PinholePoseCal3Unified', 'PinholePoseCal3_S2', 'PlanarProjectionFactor1', 'PlanarProjectionFactor2', 'PlanarProjectionFactor3', 'Pose2', 'Pose3', 'Pose3AttitudeFactor', 'PoseRotationPrior2D', 'PoseRotationPrior3D', 'PoseTranslationPrior2D', 'PoseTranslationPrior3D', 'PreconditionerParameters', 'PreintegratedAhrsMeasurements', 'PreintegratedCombinedMeasurements', 'PreintegratedImuMeasurements', 'PreintegratedRotation', 'PreintegratedRotationParams', 'PreintegrationCombinedParams', 'PreintegrationParams', 'PrintDiscreteValues', 'PrintKeyList', 'PrintKeySet', 'PrintKeyVector', 'PriorFactorCal3Bundler', 'PriorFactorCal3DS2', 'PriorFactorCal3Fisheye', 'PriorFactorCal3Unified', 'PriorFactorCal3_S2', 'PriorFactorCalibratedCamera', 'PriorFactorConstantBias', 'PriorFactorDouble', 'PriorFactorNavState', 'PriorFactorPinholeCameraCal3Bundler', 'PriorFactorPinholeCameraCal3Fisheye', 'PriorFactorPinholeCameraCal3Unified', 'PriorFactorPinholeCameraCal3_S2', 'PriorFactorPoint2', 'PriorFactorPoint3', 'PriorFactorPose2', 'PriorFactorPose3', 'PriorFactorRot2', 'PriorFactorRot3', 'PriorFactorSO3', 'PriorFactorSO4', 'PriorFactorSOn', 'PriorFactorSimilarity2', 'PriorFactorSimilarity3', 'PriorFactorStereoPoint2', 'PriorFactorUnit3', 'PriorFactorVector', 'Quaternion', 'RangeFactor2', 'RangeFactor2D', 'RangeFactor3', 'RangeFactor3D', 'RangeFactorCalibratedCamera', 'RangeFactorCalibratedCameraPoint', 'RangeFactorPose2', 'RangeFactorPose3', 'RangeFactorSimpleCamera', 'RangeFactorSimpleCameraPoint', 'RangeFactorWithTransform2D', 'RangeFactorWithTransform3D', 'RangeFactorWithTransformPose2', 'RangeFactorWithTransformPose3', 'RedirectCout', 'ReferenceFrameFactorPoint3Pose3', 'Rot2', 'Rot3', 'Rot3AttitudeFactor', 'RotateDirectionsFactor', 'RotateFactor', 'SO3', 'SO4', 'SOn', 'Sampler', 'Scenario', 'ScenarioRunner', 'SfmData', 'SfmTrack', 'SfmTrack2d', 'ShonanAveraging2', 'ShonanAveraging3', 'ShonanAveragingParameters2', 'ShonanAveragingParameters3', 'ShonanFactor3', 'Similarity2', 'Similarity3', 'SimpleFundamentalMatrix', 'SmartFactorBasePinholeCameraCal3Bundler', 'SmartFactorBasePinholeCameraCal3DS2', 'SmartFactorBasePinholeCameraCal3Fisheye', 'SmartFactorBasePinholeCameraCal3Unified', 'SmartFactorBasePinholeCameraCal3_S2', 'SmartFactorBasePinholePoseCal3Bundler', 'SmartFactorBasePinholePoseCal3DS2', 'SmartFactorBasePinholePoseCal3Fisheye', 'SmartFactorBasePinholePoseCal3Unified', 'SmartFactorBasePinholePoseCal3_S2', 'SmartProjectionFactorPinholeCameraCal3Bundler', 'SmartProjectionFactorPinholeCameraCal3DS2', 'SmartProjectionFactorPinholeCameraCal3Fisheye', 'SmartProjectionFactorPinholeCameraCal3Unified', 'SmartProjectionFactorPinholeCameraCal3_S2', 'SmartProjectionFactorPinholePoseCal3Bundler', 'SmartProjectionFactorPinholePoseCal3DS2', 'SmartProjectionFactorPinholePoseCal3Fisheye', 'SmartProjectionFactorPinholePoseCal3Unified', 'SmartProjectionFactorPinholePoseCal3_S2', 'SmartProjectionParams', 'SmartProjectionPoseFactorCal3Bundler', 'SmartProjectionPoseFactorCal3DS2', 'SmartProjectionPoseFactorCal3Fisheye', 'SmartProjectionPoseFactorCal3Unified', 'SmartProjectionPoseFactorCal3_S2', 'SmartProjectionRigFactorPinholePoseCal3Bundler', 'SmartProjectionRigFactorPinholePoseCal3DS2', 'SmartProjectionRigFactorPinholePoseCal3Fisheye', 'SmartProjectionRigFactorPinholePoseCal3Unified', 'SmartProjectionRigFactorPinholePoseCal3_S2', 'StereoCamera', 'StereoPoint2', 'SubgraphSolver', 'SubgraphSolverParameters', 'Symbol', 'SymbolicBayesNet', 'SymbolicBayesTree', 'SymbolicBayesTreeClique', 'SymbolicCluster', 'SymbolicConditional', 'SymbolicEliminationTree', 'SymbolicFactor', 'SymbolicFactorGraph', 'SymbolicJunctionTree', 'TableDistribution', 'TableFactor', 'TransferFactorFundamentalMatrix', 'TransferFactorSimpleFundamentalMatrix', 'TranslationRecovery', 'TriangulationFactorCal3Bundler', 'TriangulationFactorCal3DS2', 'TriangulationFactorCal3Fisheye', 'TriangulationFactorCal3Unified', 'TriangulationFactorCal3_S2', 'TriangulationFactorPoseCal3Bundler', 'TriangulationFactorPoseCal3DS2', 'TriangulationFactorPoseCal3Fisheye', 'TriangulationFactorPoseCal3Unified', 'TriangulationFactorPoseCal3_S2', 'TriangulationParameters', 'TriangulationResult', 'Unit3', 'Value', 'Values', 'VariableIndex', 'VectorComponentFactorChebyshev1Basis', 'VectorComponentFactorChebyshev2', 'VectorComponentFactorChebyshev2Basis', 'VectorComponentFactorFourierBasis', 'VectorDerivativeFactorChebyshev1Basis', 'VectorDerivativeFactorChebyshev2', 'VectorDerivativeFactorChebyshev2Basis', 'VectorDerivativeFactorFourierBasis', 'VectorEvaluationFactorChebyshev1Basis', 'VectorEvaluationFactorChebyshev2', 'VectorEvaluationFactorChebyshev2Basis', 'VectorEvaluationFactorFourierBasis', 'VectorValues', 'cartesianProduct', 'checkConvergence', 'gtsfm', 'html', 'imuBias', 'initialCamerasAndPointsEstimate', 'initialCamerasEstimate', 'isDebugVersion', 'lago', 'linear_independent', 'load2D', 'load3D', 'markdown', 'mrsymbol', 'mrsymbolChr', 'mrsymbolIndex', 'mrsymbolLabel', 'noiseModel', 'parse2DFactors', 'parse3DFactors', 'readBal', 'readG2o', 'save2D', 'so3', 'symbol', 'symbolChr', 'symbolIndex', 'symbol_shorthand', 'triangulateNonlinear', 'triangulatePoint3', 'triangulateSafe', 'utilities', 'writeBAL', 'writeG2o']
|
|
15
15
|
class AHRSFactor(NonlinearFactor):
|
|
16
16
|
def __getstate__(self) -> tuple:
|
|
17
17
|
...
|
|
@@ -41,6 +41,46 @@ class AHRSFactor(NonlinearFactor):
|
|
|
41
41
|
class AcceleratingScenario(Scenario):
|
|
42
42
|
def __init__(self, nRb: Rot3, p0: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]], v0: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], a_n: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], omega_b: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> None:
|
|
43
43
|
...
|
|
44
|
+
class AlgebraicDecisionTreeKey:
|
|
45
|
+
def __call__(self, arg0: AssignmentKey) -> float:
|
|
46
|
+
...
|
|
47
|
+
def __repr__(self, s: str = 'AlgebraicDecisionTreeKey\n', keyFormatter: typing.Callable[[int], str] = ...) -> str:
|
|
48
|
+
...
|
|
49
|
+
def print(self, s: str = 'AlgebraicDecisionTreeKey\n', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
50
|
+
...
|
|
51
|
+
class AssignmentKey:
|
|
52
|
+
def __bool__(self) -> bool:
|
|
53
|
+
"""
|
|
54
|
+
Check whether the map is nonempty
|
|
55
|
+
"""
|
|
56
|
+
@typing.overload
|
|
57
|
+
def __contains__(self, arg0: int) -> bool:
|
|
58
|
+
...
|
|
59
|
+
@typing.overload
|
|
60
|
+
def __contains__(self, arg0: typing.Any) -> bool:
|
|
61
|
+
...
|
|
62
|
+
def __delitem__(self, arg0: int) -> None:
|
|
63
|
+
...
|
|
64
|
+
def __getitem__(self, arg0: int) -> int:
|
|
65
|
+
...
|
|
66
|
+
def __init__(self) -> None:
|
|
67
|
+
...
|
|
68
|
+
def __iter__(self) -> typing.Iterator[int]:
|
|
69
|
+
...
|
|
70
|
+
def __len__(self) -> int:
|
|
71
|
+
...
|
|
72
|
+
def __repr__(self) -> str:
|
|
73
|
+
"""
|
|
74
|
+
Return the canonical string representation of this map.
|
|
75
|
+
"""
|
|
76
|
+
def __setitem__(self, arg0: int, arg1: int) -> None:
|
|
77
|
+
...
|
|
78
|
+
def items(self) -> typing.ItemsView:
|
|
79
|
+
...
|
|
80
|
+
def keys(self) -> typing.KeysView:
|
|
81
|
+
...
|
|
82
|
+
def values(self) -> typing.ValuesView:
|
|
83
|
+
...
|
|
44
84
|
class BarometricFactor(NonlinearFactor):
|
|
45
85
|
def __getstate__(self) -> tuple:
|
|
46
86
|
...
|
|
@@ -2517,6 +2557,10 @@ class DiscreteFactor(Factor):
|
|
|
2517
2557
|
"""
|
|
2518
2558
|
equals
|
|
2519
2559
|
"""
|
|
2560
|
+
def errorTree(self) -> ...:
|
|
2561
|
+
"""
|
|
2562
|
+
Compute error for each assignment and return as a tree.
|
|
2563
|
+
"""
|
|
2520
2564
|
def print(self, s: str = 'DiscreteFactor\n', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
2521
2565
|
...
|
|
2522
2566
|
class DiscreteFactorGraph:
|
|
@@ -5620,6 +5664,16 @@ class HybridBayesNet:
|
|
|
5620
5664
|
|
|
5621
5665
|
Returns: Gaussian posterior P(X|M=m) as a GaussianBayesNet.
|
|
5622
5666
|
"""
|
|
5667
|
+
@typing.overload
|
|
5668
|
+
def discreteMarginal(self) -> DiscreteBayesNet:
|
|
5669
|
+
"""
|
|
5670
|
+
Get the discrete Bayes Net P(M).
|
|
5671
|
+
|
|
5672
|
+
As the hybrid Bayes net defines P(X,M) = P(X|M) P(M), this method returns the marginal distribution on the discrete variables.
|
|
5673
|
+
|
|
5674
|
+
Returns: discrete marginal as a DiscreteBayesNet.
|
|
5675
|
+
"""
|
|
5676
|
+
@typing.overload
|
|
5623
5677
|
def discreteMarginal(self) -> DiscreteBayesNet:
|
|
5624
5678
|
"""
|
|
5625
5679
|
Get the discrete Bayes Net P(M).
|
|
@@ -5628,6 +5682,15 @@ class HybridBayesNet:
|
|
|
5628
5682
|
|
|
5629
5683
|
Returns: discrete marginal as a DiscreteBayesNet.
|
|
5630
5684
|
"""
|
|
5685
|
+
def discretePosterior(self, continuousValues: VectorValues) -> AlgebraicDecisionTreeKey:
|
|
5686
|
+
"""
|
|
5687
|
+
Compute normalized posterior P(M|X=x) and return as a tree.
|
|
5688
|
+
|
|
5689
|
+
Args:
|
|
5690
|
+
continuousValues: Continuous values x to condition P(M|X=x) on.
|
|
5691
|
+
|
|
5692
|
+
Returns: AlgebraicDecisionTree<Key>
|
|
5693
|
+
"""
|
|
5631
5694
|
def dot(self, keyFormatter: typing.Callable[[int], str] = ..., writer: DotWriter = ...) -> str:
|
|
5632
5695
|
"""
|
|
5633
5696
|
Output to graphviz format string.
|
|
@@ -5644,6 +5707,15 @@ class HybridBayesNet:
|
|
|
5644
5707
|
"""
|
|
5645
5708
|
Add error for all factors.
|
|
5646
5709
|
"""
|
|
5710
|
+
def errorTree(self, continuousValues: VectorValues) -> AlgebraicDecisionTreeKey:
|
|
5711
|
+
"""
|
|
5712
|
+
Compute the negative log posterior log P'(M|x) of all assignments up to a constant, returning the result as an algebraic decision tree.
|
|
5713
|
+
|
|
5714
|
+
Args:
|
|
5715
|
+
continuousValues: Continuous values x at which to compute log P'(M|x)
|
|
5716
|
+
|
|
5717
|
+
Returns: AlgebraicDecisionTree<Key>
|
|
5718
|
+
"""
|
|
5647
5719
|
def evaluate(self, values: HybridValues) -> float:
|
|
5648
5720
|
"""
|
|
5649
5721
|
Evaluate hybrid probability density for givenHybridValues.
|
|
@@ -5654,6 +5726,33 @@ class HybridBayesNet:
|
|
|
5654
5726
|
"""
|
|
5655
5727
|
def logProbability(self, x: HybridValues) -> float:
|
|
5656
5728
|
...
|
|
5729
|
+
def mpe(self) -> DiscreteValues:
|
|
5730
|
+
"""
|
|
5731
|
+
Compute the Most Probable Explanation (MPE) of the discrete variables.
|
|
5732
|
+
|
|
5733
|
+
Returns: DiscreteValues
|
|
5734
|
+
"""
|
|
5735
|
+
@typing.overload
|
|
5736
|
+
def negLogConstant(self) -> float:
|
|
5737
|
+
"""
|
|
5738
|
+
Get the negative log of the normalization constant corresponding to the joint density represented by this Bayes net.
|
|
5739
|
+
|
|
5740
|
+
Optionally index by discrete.
|
|
5741
|
+
|
|
5742
|
+
Returns: double
|
|
5743
|
+
"""
|
|
5744
|
+
@typing.overload
|
|
5745
|
+
def negLogConstant(self, discrete: DiscreteValues) -> float:
|
|
5746
|
+
"""
|
|
5747
|
+
Get the negative log of the normalization constant corresponding to the joint density represented by this Bayes net.
|
|
5748
|
+
|
|
5749
|
+
Optionally index by discrete.
|
|
5750
|
+
|
|
5751
|
+
Args:
|
|
5752
|
+
discrete: Optional DiscreteValues
|
|
5753
|
+
|
|
5754
|
+
Returns: double
|
|
5755
|
+
"""
|
|
5657
5756
|
@typing.overload
|
|
5658
5757
|
def optimize(self) -> HybridValues:
|
|
5659
5758
|
"""
|
|
@@ -5674,6 +5773,19 @@ class HybridBayesNet:
|
|
|
5674
5773
|
def print(self, s: str = 'HybridBayesNet\n', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
5675
5774
|
...
|
|
5676
5775
|
@typing.overload
|
|
5776
|
+
def prune(self, maxNrLeaves: int) -> HybridBayesNet:
|
|
5777
|
+
"""
|
|
5778
|
+
Prune the Bayes Net such that we have at most maxNrLeaves leaves.
|
|
5779
|
+
|
|
5780
|
+
Args:
|
|
5781
|
+
maxNrLeaves: Continuous values at which to compute the error.
|
|
5782
|
+
|
|
5783
|
+
Returns: A pruned HybridBayesNet
|
|
5784
|
+
"""
|
|
5785
|
+
@typing.overload
|
|
5786
|
+
def prune(self, maxNrLeaves: int, marginalThreshold: float) -> HybridBayesNet:
|
|
5787
|
+
...
|
|
5788
|
+
@typing.overload
|
|
5677
5789
|
def push_back(self, s: HybridGaussianConditional) -> None:
|
|
5678
5790
|
...
|
|
5679
5791
|
@typing.overload
|
|
@@ -5683,6 +5795,13 @@ class HybridBayesNet:
|
|
|
5683
5795
|
def push_back(self, s: DiscreteConditional) -> None:
|
|
5684
5796
|
...
|
|
5685
5797
|
@typing.overload
|
|
5798
|
+
def push_back(self, conditional: HybridConditional) -> None:
|
|
5799
|
+
"""
|
|
5800
|
+
Add a hybrid conditional using a shared_ptr.
|
|
5801
|
+
|
|
5802
|
+
This is the "native" push back, as this class stores hybrid conditionals.
|
|
5803
|
+
"""
|
|
5804
|
+
@typing.overload
|
|
5686
5805
|
def sample(self, given: HybridValues, rng: MT19937 = None) -> HybridValues:
|
|
5687
5806
|
"""
|
|
5688
5807
|
Samplefrom an incompleteBayesNet, given missing variables.
|
|
@@ -5765,9 +5884,27 @@ class HybridBayesTreeClique:
|
|
|
5765
5884
|
"""
|
|
5766
5885
|
Return true if this clique is the root of a Bayes tree.
|
|
5767
5886
|
"""
|
|
5768
|
-
class HybridConditional:
|
|
5887
|
+
class HybridConditional(HybridFactor):
|
|
5769
5888
|
def __call__(self, arg0: HybridValues) -> float:
|
|
5770
5889
|
...
|
|
5890
|
+
@typing.overload
|
|
5891
|
+
def __init__(self) -> None:
|
|
5892
|
+
...
|
|
5893
|
+
@typing.overload
|
|
5894
|
+
def __init__(self, continuousKeys: list[int], discreteKeys: DiscreteKeys, nFrontals: int) -> None:
|
|
5895
|
+
...
|
|
5896
|
+
@typing.overload
|
|
5897
|
+
def __init__(self, continuousFrontals: list[int], discreteFrontals: DiscreteKeys, continuousParents: list[int], discreteParents: DiscreteKeys) -> None:
|
|
5898
|
+
...
|
|
5899
|
+
@typing.overload
|
|
5900
|
+
def __init__(self, continuousConditional: GaussianConditional) -> None:
|
|
5901
|
+
...
|
|
5902
|
+
@typing.overload
|
|
5903
|
+
def __init__(self, discreteConditional: DiscreteConditional) -> None:
|
|
5904
|
+
...
|
|
5905
|
+
@typing.overload
|
|
5906
|
+
def __init__(self, hybridGaussianCond: ...) -> None:
|
|
5907
|
+
...
|
|
5771
5908
|
def __repr__(self, s: str = 'Hybrid Conditional\n', keyFormatter: typing.Callable[[int], str] = ...) -> str:
|
|
5772
5909
|
...
|
|
5773
5910
|
def asDiscrete(self) -> DiscreteConditional:
|
|
@@ -5792,10 +5929,6 @@ class HybridConditional:
|
|
|
5792
5929
|
"""
|
|
5793
5930
|
GTSAM-style equals.
|
|
5794
5931
|
"""
|
|
5795
|
-
def error(self, values: HybridValues) -> float:
|
|
5796
|
-
"""
|
|
5797
|
-
Return the error of the underlying conditional.
|
|
5798
|
-
"""
|
|
5799
5932
|
def evaluate(self, values: HybridValues) -> float:
|
|
5800
5933
|
"""
|
|
5801
5934
|
Return the probability (or density) of the underlying conditional.
|
|
@@ -5804,6 +5937,18 @@ class HybridConditional:
|
|
|
5804
5937
|
"""
|
|
5805
5938
|
Get the type-erased pointer to the inner type.
|
|
5806
5939
|
"""
|
|
5940
|
+
def isContinuous(self) -> bool:
|
|
5941
|
+
"""
|
|
5942
|
+
True if this is a factor of continuous variables only.
|
|
5943
|
+
"""
|
|
5944
|
+
def isDiscrete(self) -> bool:
|
|
5945
|
+
"""
|
|
5946
|
+
True if this is a factor of discrete variables only.
|
|
5947
|
+
"""
|
|
5948
|
+
def isHybrid(self) -> bool:
|
|
5949
|
+
"""
|
|
5950
|
+
True is this is a Discrete-Continuous factor.
|
|
5951
|
+
"""
|
|
5807
5952
|
def logProbability(self, values: HybridValues) -> float:
|
|
5808
5953
|
"""
|
|
5809
5954
|
Return the log-probability (or density) of the underlying conditional.
|
|
@@ -5839,7 +5984,9 @@ class HybridFactor(Factor):
|
|
|
5839
5984
|
"""
|
|
5840
5985
|
equals
|
|
5841
5986
|
"""
|
|
5842
|
-
def error(self,
|
|
5987
|
+
def error(self, hybridValues: HybridValues) -> float:
|
|
5988
|
+
...
|
|
5989
|
+
def errorTree(self, continuousValues: VectorValues) -> AlgebraicDecisionTreeKey:
|
|
5843
5990
|
...
|
|
5844
5991
|
def isContinuous(self) -> bool:
|
|
5845
5992
|
"""
|
|
@@ -5859,7 +6006,9 @@ class HybridFactor(Factor):
|
|
|
5859
6006
|
"""
|
|
5860
6007
|
def print(self, s: str = 'HybridFactor\n', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
5861
6008
|
...
|
|
5862
|
-
|
|
6009
|
+
def restrict(self, assignment: DiscreteValues) -> Factor:
|
|
6010
|
+
...
|
|
6011
|
+
class HybridGaussianConditional(HybridGaussianFactor):
|
|
5863
6012
|
@typing.overload
|
|
5864
6013
|
def __init__(self, discreteParents: DiscreteKeys, conditionals: ..., std: ...) -> None:
|
|
5865
6014
|
...
|
|
@@ -5868,6 +6017,14 @@ class HybridGaussianConditional(HybridFactor):
|
|
|
5868
6017
|
...
|
|
5869
6018
|
def __repr__(self, s: str = 'HybridGaussianConditional\n', keyFormatter: typing.Callable[[int], str] = ...) -> str:
|
|
5870
6019
|
...
|
|
6020
|
+
def choose(self, discreteValues: DiscreteValues) -> GaussianConditional:
|
|
6021
|
+
"""
|
|
6022
|
+
Return the conditional Gaussian for the given discrete assignment.
|
|
6023
|
+
"""
|
|
6024
|
+
def continuousParents(self) -> list[int]:
|
|
6025
|
+
"""
|
|
6026
|
+
Returns the continuous keys among the parents.
|
|
6027
|
+
"""
|
|
5871
6028
|
def evaluate(self, values: HybridValues) -> float:
|
|
5872
6029
|
"""
|
|
5873
6030
|
Calculate probability density for givenvalues.
|
|
@@ -5883,8 +6040,33 @@ class HybridGaussianConditional(HybridFactor):
|
|
|
5883
6040
|
|
|
5884
6041
|
Returns: double
|
|
5885
6042
|
"""
|
|
6043
|
+
def negLogConstant(self) -> float:
|
|
6044
|
+
"""
|
|
6045
|
+
Return log normalization constant in negative log space.
|
|
6046
|
+
|
|
6047
|
+
The log normalization constant is the min of the individual log-normalization constants.
|
|
6048
|
+
|
|
6049
|
+
Returns: double
|
|
6050
|
+
"""
|
|
6051
|
+
def nrComponents(self) -> int:
|
|
6052
|
+
"""
|
|
6053
|
+
Returns the total number of continuous components.
|
|
6054
|
+
"""
|
|
5886
6055
|
def print(self, s: str = 'HybridGaussianConditional\n', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
5887
6056
|
...
|
|
6057
|
+
def prune(self, discreteProbs: DiscreteConditional) -> HybridGaussianConditional:
|
|
6058
|
+
"""
|
|
6059
|
+
Prune the decision tree of Gaussian factors as per the discretediscreteProbs.
|
|
6060
|
+
|
|
6061
|
+
Args:
|
|
6062
|
+
discreteProbs: A pruned set of probabilities for the discrete keys.
|
|
6063
|
+
|
|
6064
|
+
Returns: Shared pointer to possibly a pruned HybridGaussianConditional
|
|
6065
|
+
"""
|
|
6066
|
+
def pruned(self) -> bool:
|
|
6067
|
+
"""
|
|
6068
|
+
Return true if the conditional has already been pruned.
|
|
6069
|
+
"""
|
|
5888
6070
|
class HybridGaussianFactor(HybridFactor):
|
|
5889
6071
|
@typing.overload
|
|
5890
6072
|
def __init__(self, discreteKey: tuple[int, int], factors: list[GaussianFactor]) -> None:
|
|
@@ -16348,6 +16530,8 @@ def FindKarcherMeanSO3(elements: list[SO3]) -> SO3:
|
|
|
16348
16530
|
...
|
|
16349
16531
|
def FindKarcherMeanSO4(elements: list[SO4]) -> SO4:
|
|
16350
16532
|
...
|
|
16533
|
+
def HybridOrdering(graph: HybridGaussianFactorGraph) -> Ordering:
|
|
16534
|
+
...
|
|
16351
16535
|
def IndexPairSetAsArray(set: set[IndexPair]) -> list[IndexPair]:
|
|
16352
16536
|
...
|
|
16353
16537
|
def PrintDiscreteValues(values: DiscreteValues, s: str = '', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
Binary file
|
|
@@ -8,7 +8,8 @@ See LICENSE for the license information
|
|
|
8
8
|
Unit tests for Hybrid Values.
|
|
9
9
|
Author: Frank Dellaert
|
|
10
10
|
"""
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
# pylint: disable=invalid-name, no-name-in-module, no-member, E1101
|
|
12
13
|
|
|
13
14
|
import math
|
|
14
15
|
import unittest
|
|
@@ -17,80 +18,324 @@ import numpy as np
|
|
|
17
18
|
from gtsam.symbol_shorthand import A, X
|
|
18
19
|
from gtsam.utils.test_case import GtsamTestCase
|
|
19
20
|
|
|
20
|
-
from gtsam import (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
from gtsam import (
|
|
22
|
+
AlgebraicDecisionTreeKey,
|
|
23
|
+
AssignmentKey,
|
|
24
|
+
DecisionTreeFactor,
|
|
25
|
+
DiscreteBayesNet,
|
|
26
|
+
DiscreteConditional,
|
|
27
|
+
DiscreteValues,
|
|
28
|
+
GaussianBayesNet,
|
|
29
|
+
GaussianConditional,
|
|
30
|
+
HybridBayesNet,
|
|
31
|
+
HybridGaussianConditional,
|
|
32
|
+
HybridGaussianFactorGraph,
|
|
33
|
+
HybridValues,
|
|
34
|
+
KeySet,
|
|
35
|
+
VectorValues,
|
|
36
|
+
noiseModel,
|
|
37
|
+
)
|
|
24
38
|
|
|
25
39
|
|
|
26
40
|
class TestHybridBayesNet(GtsamTestCase):
|
|
27
|
-
"""Unit tests for
|
|
41
|
+
"""Unit tests for HybridBayesNet."""
|
|
28
42
|
|
|
29
|
-
def
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
bayesNet
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
43
|
+
def setUp(self):
|
|
44
|
+
"""Set up a common HybridBayesNet for testing P(X0|X1) P(X1|Asia) P(Asia)."""
|
|
45
|
+
self.Asia = (A(0), 2)
|
|
46
|
+
|
|
47
|
+
self.I_1x1 = np.eye(1)
|
|
48
|
+
self.conditional_X0_X1 = GaussianConditional.FromMeanAndStddev(
|
|
49
|
+
X(0), 2 * self.I_1x1, X(1), [-4], 5.0
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
self.model0 = noiseModel.Diagonal.Sigmas([2.0])
|
|
53
|
+
self.model1 = noiseModel.Diagonal.Sigmas([3.0])
|
|
54
|
+
|
|
55
|
+
self.conditional0_X1_A = GaussianConditional(X(1), [5], self.I_1x1, self.model0)
|
|
56
|
+
self.conditional1_X1_A1 = GaussianConditional(
|
|
57
|
+
X(1), [2], self.I_1x1, self.model1
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
self.hybrid_conditional_X1_Asia = HybridGaussianConditional(
|
|
61
|
+
self.Asia, [self.conditional0_X1_A, self.conditional1_X1_A1]
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
self.conditional_Asia = DiscreteConditional(self.Asia, "99/1")
|
|
65
|
+
|
|
66
|
+
self.bayesNet = HybridBayesNet()
|
|
67
|
+
self.bayesNet.push_back(self.conditional_X0_X1)
|
|
68
|
+
self.bayesNet.push_back(self.hybrid_conditional_X1_Asia)
|
|
69
|
+
self.bayesNet.push_back(self.conditional_Asia)
|
|
70
|
+
|
|
71
|
+
self.values = HybridValues()
|
|
56
72
|
continuous = VectorValues()
|
|
57
73
|
continuous.insert(X(0), [-6])
|
|
58
74
|
continuous.insert(X(1), [1])
|
|
59
|
-
values.insert(continuous)
|
|
75
|
+
self.values.insert(continuous)
|
|
60
76
|
discrete = DiscreteValues()
|
|
61
|
-
discrete[
|
|
62
|
-
values.insert(discrete)
|
|
77
|
+
discrete[A(0)] = 0
|
|
78
|
+
self.values.insert(discrete)
|
|
79
|
+
|
|
80
|
+
def test_constructor_and_basic_props(self):
|
|
81
|
+
"""Test constructor, empty(), size(), keys(), print(), dot()."""
|
|
82
|
+
bn_empty = HybridBayesNet()
|
|
83
|
+
self.assertTrue(bn_empty.empty())
|
|
84
|
+
self.assertEqual(bn_empty.size(), 0)
|
|
85
|
+
|
|
86
|
+
self.assertFalse(self.bayesNet.empty())
|
|
87
|
+
self.assertEqual(self.bayesNet.size(), 3)
|
|
88
|
+
|
|
89
|
+
keys = self.bayesNet.keys()
|
|
90
|
+
self.assertIsInstance(keys, KeySet)
|
|
91
|
+
self.assertTrue(X(0) in keys)
|
|
92
|
+
self.assertTrue(X(1) in keys)
|
|
93
|
+
self.assertTrue(A(0) in keys)
|
|
94
|
+
self.assertEqual(keys.size(), 3)
|
|
95
|
+
|
|
96
|
+
# Test dot (returns a string)
|
|
97
|
+
self.assertIsInstance(self.bayesNet.dot(), str)
|
|
98
|
+
|
|
99
|
+
def test_equals_method(self):
|
|
100
|
+
"""Test the equals(HybridBayesNet) method."""
|
|
101
|
+
bn_copy = HybridBayesNet()
|
|
102
|
+
bn_copy.push_back(self.conditional_X0_X1)
|
|
103
|
+
bn_copy.push_back(self.hybrid_conditional_X1_Asia)
|
|
104
|
+
bn_copy.push_back(self.conditional_Asia)
|
|
105
|
+
self.assertTrue(self.bayesNet.equals(bn_copy, 1e-9))
|
|
106
|
+
|
|
107
|
+
bn_different_order = HybridBayesNet() # Order matters for BayesNets
|
|
108
|
+
bn_different_order.push_back(self.conditional_Asia) # Different order
|
|
109
|
+
bn_different_order.push_back(self.conditional_X0_X1)
|
|
110
|
+
bn_different_order.push_back(self.hybrid_conditional_X1_Asia)
|
|
111
|
+
self.assertFalse(self.bayesNet.equals(bn_different_order, 1e-9))
|
|
112
|
+
|
|
113
|
+
bn_different_cond = HybridBayesNet()
|
|
114
|
+
bn_different_cond.push_back(self.conditional_X0_X1)
|
|
115
|
+
bn_different_cond.push_back(self.hybrid_conditional_X1_Asia)
|
|
116
|
+
# Different P(Asia)
|
|
117
|
+
bn_different_cond.push_back(DiscreteConditional(self.Asia, "5/5"))
|
|
118
|
+
self.assertFalse(self.bayesNet.equals(bn_different_cond, 1e-9))
|
|
119
|
+
|
|
120
|
+
def test_error_method(self):
|
|
121
|
+
"""Test the error(HybridValues) method of HybridBayesNet."""
|
|
122
|
+
# logProbability(x) = -(K + error(x)) with K = -log(k)
|
|
123
|
+
self.assertAlmostEqual(
|
|
124
|
+
self.bayesNet.negLogConstant() + self.bayesNet.error(self.values),
|
|
125
|
+
-self.bayesNet.logProbability(self.values),
|
|
126
|
+
places=5,
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
def test_evaluate(self):
|
|
130
|
+
"""Test evaluate for a hybrid Bayes net P(X0|X1) P(X1|Asia) P(Asia)."""
|
|
131
|
+
# Original test_evaluate content
|
|
132
|
+
conditionalProbability = self.conditional_X0_X1.evaluate(
|
|
133
|
+
self.values.continuous()
|
|
134
|
+
)
|
|
135
|
+
# For HybridGaussianConditional, we need to evaluate its chosen component
|
|
136
|
+
# given the discrete assignment in self.values
|
|
137
|
+
chosen_gaussian_conditional_X1 = self.hybrid_conditional_X1_Asia.choose(
|
|
138
|
+
self.values.discrete()
|
|
139
|
+
)
|
|
140
|
+
mixtureProbability = chosen_gaussian_conditional_X1.evaluate(
|
|
141
|
+
self.values.continuous()
|
|
142
|
+
)
|
|
143
|
+
discreteProbability = self.conditional_Asia.evaluate(self.values.discrete())
|
|
63
144
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
places=5)
|
|
145
|
+
self.assertAlmostEqual(
|
|
146
|
+
conditionalProbability * mixtureProbability * discreteProbability,
|
|
147
|
+
self.bayesNet.evaluate(self.values),
|
|
148
|
+
places=5,
|
|
149
|
+
)
|
|
70
150
|
|
|
71
151
|
# Check logProbability
|
|
72
|
-
self.assertAlmostEqual(
|
|
73
|
-
|
|
152
|
+
self.assertAlmostEqual(
|
|
153
|
+
self.bayesNet.logProbability(self.values),
|
|
154
|
+
math.log(self.bayesNet.evaluate(self.values)),
|
|
155
|
+
places=5,
|
|
156
|
+
)
|
|
74
157
|
|
|
75
158
|
# Check invariance for all conditionals:
|
|
76
|
-
self.check_invariance(
|
|
77
|
-
|
|
78
|
-
|
|
159
|
+
self.check_invariance(
|
|
160
|
+
self.bayesNet.at(0).asGaussian(), self.values.continuous()
|
|
161
|
+
)
|
|
162
|
+
self.check_invariance(self.bayesNet.at(0).asGaussian(), self.values)
|
|
163
|
+
self.check_invariance(self.bayesNet.at(0), self.values)
|
|
79
164
|
|
|
80
|
-
self.check_invariance(bayesNet.at(1), values)
|
|
165
|
+
self.check_invariance(self.bayesNet.at(1), self.values)
|
|
81
166
|
|
|
82
|
-
self.check_invariance(bayesNet.at(2).asDiscrete(), discrete)
|
|
83
|
-
self.check_invariance(bayesNet.at(2).asDiscrete(), values)
|
|
84
|
-
self.check_invariance(bayesNet.at(2), values)
|
|
167
|
+
self.check_invariance(self.bayesNet.at(2).asDiscrete(), self.values.discrete())
|
|
168
|
+
self.check_invariance(self.bayesNet.at(2).asDiscrete(), self.values)
|
|
169
|
+
self.check_invariance(self.bayesNet.at(2), self.values)
|
|
85
170
|
|
|
86
|
-
def check_invariance(self, conditional,
|
|
171
|
+
def check_invariance(self, conditional, values_obj):
|
|
87
172
|
"""Check invariance for given conditional."""
|
|
88
|
-
probability = conditional.evaluate(
|
|
173
|
+
probability = conditional.evaluate(values_obj)
|
|
89
174
|
self.assertTrue(probability >= 0.0)
|
|
90
|
-
logProb = conditional.logProbability(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
175
|
+
logProb = conditional.logProbability(values_obj)
|
|
176
|
+
if probability > 1e-9: # Avoid issues with log(0)
|
|
177
|
+
self.assertAlmostEqual(
|
|
178
|
+
probability, np.exp(logProb), delta=probability * 1e-6
|
|
179
|
+
) # Relative delta
|
|
180
|
+
|
|
181
|
+
expected = -(conditional.negLogConstant() + conditional.error(values_obj))
|
|
182
|
+
self.assertAlmostEqual(logProb, expected, places=5)
|
|
183
|
+
|
|
184
|
+
def test_mpe_and_optimize_methods(self):
|
|
185
|
+
"""Test mpe(), optimize(), and optimize(DiscreteValues)."""
|
|
186
|
+
# MPE: Most Probable Explanation for discrete variables
|
|
187
|
+
mpe_assignment = self.bayesNet.mpe()
|
|
188
|
+
self.assertIsInstance(mpe_assignment, DiscreteValues)
|
|
189
|
+
# Given P(Asia) = "99/1", Asia=0 is more probable
|
|
190
|
+
self.assertEqual(mpe_assignment[A(0)], 0)
|
|
191
|
+
|
|
192
|
+
# Optimize(): MAP for discrete, then optimize continuous given MAP discrete
|
|
193
|
+
map_solution = self.bayesNet.optimize()
|
|
194
|
+
self.assertIsInstance(map_solution, HybridValues)
|
|
195
|
+
self.assertEqual(map_solution.atDiscrete(A(0)), 0) # Asia=0
|
|
196
|
+
# If Asia=0, X1 from conditional0_X1_A: N(mean=[5], model0_sigmas=[2.0]) -> optimal X1=5
|
|
197
|
+
self.assertAlmostEqual(map_solution.at(X(1))[0], 5.0, places=5)
|
|
198
|
+
# If X1=5, X0 from conditional_X0_X1: N(mean=2*5-4=6, stddev=5.0) -> optimal X0=6
|
|
199
|
+
self.assertAlmostEqual(map_solution.at(X(0))[0], 6.0, places=5)
|
|
200
|
+
|
|
201
|
+
# Optimize(DiscreteValues): optimize continuous given fixed discrete
|
|
202
|
+
discrete_choice = DiscreteValues()
|
|
203
|
+
discrete_choice[A(0)] = 1 # Fix Asia=1 (less likely choice)
|
|
204
|
+
optimized_continuous = self.bayesNet.optimize(discrete_choice)
|
|
205
|
+
self.assertIsInstance(optimized_continuous, VectorValues)
|
|
206
|
+
# If Asia=1, X1 from conditional1_X1_A1: N(mean=[2], model1_sigmas=[3.0]) -> optimal X1=2
|
|
207
|
+
self.assertAlmostEqual(optimized_continuous.at(X(1))[0], 2.0, places=5)
|
|
208
|
+
# If X1=2, X0 from conditional_X0_X1: N(mean=2*2-4=0, stddev=5.0) -> optimal X0=0
|
|
209
|
+
self.assertAlmostEqual(optimized_continuous.at(X(0))[0], 0.0, places=5)
|
|
210
|
+
|
|
211
|
+
def test_sampling_methods(self):
|
|
212
|
+
"""Test sample() and sample(HybridValues)."""
|
|
213
|
+
# sample()
|
|
214
|
+
full_sample = self.bayesNet.sample()
|
|
215
|
+
self.assertIsInstance(full_sample, HybridValues)
|
|
216
|
+
self.assertTrue(full_sample.existsDiscrete(A(0)))
|
|
217
|
+
self.assertTrue(full_sample.existsVector(X(0)))
|
|
218
|
+
self.assertTrue(full_sample.existsVector(X(1)))
|
|
219
|
+
self.assertIn(full_sample.atDiscrete(A(0)), [0, 1])
|
|
220
|
+
|
|
221
|
+
# sample(HybridValues) - conditional sampling
|
|
222
|
+
given_values = HybridValues()
|
|
223
|
+
discrete_given = DiscreteValues()
|
|
224
|
+
discrete_given[A(0)] = 0 # Condition on Asia=0
|
|
225
|
+
given_values.insert(discrete_given)
|
|
226
|
+
|
|
227
|
+
conditional_sample = self.bayesNet.sample(given_values)
|
|
228
|
+
self.assertIsInstance(conditional_sample, HybridValues)
|
|
229
|
+
self.assertEqual(
|
|
230
|
+
conditional_sample.atDiscrete(A(0)), 0
|
|
231
|
+
) # Should respect condition
|
|
232
|
+
self.assertTrue(conditional_sample.existsVector(X(0)))
|
|
233
|
+
self.assertTrue(conditional_sample.existsVector(X(1)))
|
|
234
|
+
|
|
235
|
+
def test_marginals_and_choice_methods(self):
|
|
236
|
+
"""Test discreteMarginal() and choose(DiscreteValues)."""
|
|
237
|
+
# discreteMarginal() -> DiscreteBayesNet P(M)
|
|
238
|
+
discrete_marginal_bn = self.bayesNet.discreteMarginal()
|
|
239
|
+
self.assertIsInstance(discrete_marginal_bn, DiscreteBayesNet)
|
|
240
|
+
# Our BN has only one discrete var Asia, so marginal is just P(Asia)
|
|
241
|
+
self.assertEqual(discrete_marginal_bn.size(), 1)
|
|
242
|
+
d_cond = discrete_marginal_bn.at(0) # Should be P(Asia)
|
|
243
|
+
self.gtsamAssertEquals(d_cond, self.conditional_Asia, 1e-9)
|
|
244
|
+
|
|
245
|
+
# choose(DiscreteValues) -> GaussianBayesNet P(X | M=m)
|
|
246
|
+
fixed_discrete = DiscreteValues()
|
|
247
|
+
fixed_discrete[A(0)] = 0 # Fix Asia = 0
|
|
248
|
+
gaussian_bn_given_asia0 = self.bayesNet.choose(fixed_discrete)
|
|
249
|
+
self.assertIsInstance(gaussian_bn_given_asia0, GaussianBayesNet)
|
|
250
|
+
# Should contain P(X0|X1) and P(X1|Asia=0)
|
|
251
|
+
# The order is important for BayesNets, parents are always *last*
|
|
252
|
+
self.assertEqual(gaussian_bn_given_asia0.size(), 2)
|
|
253
|
+
self.gtsamAssertEquals(
|
|
254
|
+
gaussian_bn_given_asia0.at(1), self.conditional0_X1_A, 1e-9
|
|
255
|
+
) # P(X1|A=0)
|
|
256
|
+
self.gtsamAssertEquals(
|
|
257
|
+
gaussian_bn_given_asia0.at(0), self.conditional_X0_X1, 1e-9
|
|
258
|
+
) # P(X0|X1)
|
|
259
|
+
|
|
260
|
+
def test_errorTree(self):
|
|
261
|
+
"""Test errorTree(VectorValues)."""
|
|
262
|
+
vector_values = self.values.continuous()
|
|
263
|
+
|
|
264
|
+
# errorTree(VectorValues) -> unnormalized log P(M | X=continuous_values)
|
|
265
|
+
error_tree = self.bayesNet.errorTree(vector_values)
|
|
266
|
+
self.assertIsInstance(error_tree, AlgebraicDecisionTreeKey)
|
|
267
|
+
|
|
268
|
+
# Get the errorTree for X1 given Asia=0 (key A(0)):
|
|
269
|
+
error_tree_X1_A = self.hybrid_conditional_X1_Asia.errorTree(vector_values)
|
|
270
|
+
|
|
271
|
+
# For Asia=0 (key A(0)) from self.values:
|
|
272
|
+
assignment_Asia0 = AssignmentKey()
|
|
273
|
+
assignment_Asia0[A(0)] = 0
|
|
274
|
+
# self.values has Asia=0
|
|
275
|
+
error_Asia0 = self.conditional_Asia.error(self.values.discrete())
|
|
276
|
+
expected_error_Asia0 = (
|
|
277
|
+
self.conditional_X0_X1.error(vector_values)
|
|
278
|
+
+ error_tree_X1_A(assignment_Asia0)
|
|
279
|
+
+ error_Asia0
|
|
280
|
+
)
|
|
281
|
+
self.assertAlmostEqual(
|
|
282
|
+
error_tree(assignment_Asia0), expected_error_Asia0, places=4
|
|
283
|
+
)
|
|
284
|
+
|
|
285
|
+
# For Asia=1:
|
|
286
|
+
# Need error(A=1) from P(Asia)="99/1" -> P(A=1)=0.01
|
|
287
|
+
dv = DiscreteValues()
|
|
288
|
+
dv[A(0)] = 1
|
|
289
|
+
error_Asia1 = self.conditional_Asia.error(dv)
|
|
290
|
+
assignment_Asia1 = AssignmentKey()
|
|
291
|
+
assignment_Asia1[A(0)] = 1
|
|
292
|
+
expected_error_Asia1 = (
|
|
293
|
+
self.conditional_X0_X1.error(vector_values)
|
|
294
|
+
+ error_tree_X1_A(assignment_Asia1)
|
|
295
|
+
+ error_Asia1
|
|
296
|
+
)
|
|
297
|
+
self.assertAlmostEqual(
|
|
298
|
+
error_tree(assignment_Asia1), expected_error_Asia1, places=4
|
|
299
|
+
)
|
|
300
|
+
|
|
301
|
+
def test_errorTree_discretePosterior(self):
|
|
302
|
+
"""Test discretePosterior(VectorValues)."""
|
|
303
|
+
vector_values = self.values.continuous()
|
|
304
|
+
posterior_tree = self.bayesNet.discretePosterior(vector_values)
|
|
305
|
+
self.assertIsInstance(posterior_tree, AlgebraicDecisionTreeKey)
|
|
306
|
+
|
|
307
|
+
def test_pruning_methods(self):
|
|
308
|
+
"""Test prune(maxNrLeaves) and prune(maxNrLeaves, marginalThreshold)."""
|
|
309
|
+
# Prune to max 1 leaf (most likely path)
|
|
310
|
+
pruned_bn_1leaf = self.bayesNet.prune(1)
|
|
311
|
+
self.assertIsInstance(pruned_bn_1leaf, HybridBayesNet)
|
|
312
|
+
# The discrete part should now be deterministic for Asia=0
|
|
313
|
+
# TODO(frank): why does it not become a conditional?
|
|
314
|
+
mpe_pruned = pruned_bn_1leaf.mpe()
|
|
315
|
+
self.assertEqual(mpe_pruned[A(0)], 0)
|
|
316
|
+
# The discrete conditional for Asia should reflect P(Asia=0)=1.0
|
|
317
|
+
# TODO(frank): why is there no dead-mode removal here?
|
|
318
|
+
actual = pruned_bn_1leaf.discreteMarginal().at(0).evaluate(mpe_pruned)
|
|
319
|
+
self.assertAlmostEqual(actual, 1.0, places=5)
|
|
320
|
+
|
|
321
|
+
# Prune with marginalThreshold
|
|
322
|
+
# P(Asia=0)=0.99, P(Asia=1)=0.01
|
|
323
|
+
# Threshold 0.5 should keep only Asia=0 branch
|
|
324
|
+
pruned_bn_thresh = self.bayesNet.prune(
|
|
325
|
+
2, marginalThreshold=0.5
|
|
326
|
+
) # maxNrLeaves=2 allows both if above thresh
|
|
327
|
+
# TODO(Frank): I don't understand *how* discrete got cut here.
|
|
328
|
+
self.assertEqual(pruned_bn_thresh.size(), 2) # Should keep both conditionals
|
|
329
|
+
|
|
330
|
+
def test_toFactorGraph_method(self):
|
|
331
|
+
"""Test toFactorGraph(VectorValues) method."""
|
|
332
|
+
# Create measurements for conditioning
|
|
333
|
+
measurements = VectorValues()
|
|
334
|
+
measurements.insert(X(0), [-5.0]) # Example measurement for X(0)
|
|
335
|
+
|
|
336
|
+
hfg = self.bayesNet.toFactorGraph(measurements)
|
|
337
|
+
self.assertIsInstance(hfg, HybridGaussianFactorGraph)
|
|
338
|
+
self.assertEqual(hfg.size(), self.bayesNet.size())
|
|
94
339
|
|
|
95
340
|
|
|
96
341
|
if __name__ == "__main__":
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
gtsam/symbol_shorthand.py,sha256=HlTV-Z5aB5cXWT5AsbKOeWZIHoXQsH2W1S90ET-tidA,236
|
|
2
|
-
gtsam/gtsam.cpython-313-darwin.so,sha256=
|
|
3
|
-
gtsam/__init__.pyi,sha256=
|
|
2
|
+
gtsam/gtsam.cpython-313-darwin.so,sha256=QLBtn9dKHi4lgQsNU-jxuZfDbApOM6vn3ZdY8WKTvbM,18007888
|
|
3
|
+
gtsam/__init__.pyi,sha256=j0eoX9ENKr-faWdRKZeB6_j9BpqgLB6sMhIDVFR-dOM,43159
|
|
4
4
|
gtsam/gtsfm.py,sha256=Udlkb6o5iUk69uxBkb88-W1GLfu1g8iSuZlLu-RRU0o,202
|
|
5
5
|
gtsam/__init__.py,sha256=6G-WPnb_FMQEJXNDDAmrKrQPau7evtd5svhTmMqhYSI,2011
|
|
6
6
|
gtsam/noiseModel.py,sha256=ybfIHa4sLXe78_k-Dib8nTaw34BRXqEDVtS2B9dzSO0,217
|
|
7
7
|
gtsam/imuBias.py,sha256=tz3bOCFl29iMycbGFoF-ud6kRsJYjA7DJ2RJoKPFRU8,209
|
|
8
8
|
gtsam/gtsam/utilities.pyi,sha256=-yn7_jeJbTa_3KJGgqcr_NDD70UhDZ8tYX2M2lPLmSQ,3384
|
|
9
9
|
gtsam/gtsam/gtsfm.pyi,sha256=Onoh4CRaSYIQ0FID0vBkZeV7ESIhc2fh4rJGgaPY-ug,702
|
|
10
|
-
gtsam/gtsam/__init__.pyi,sha256=
|
|
10
|
+
gtsam/gtsam/__init__.pyi,sha256=_uWFVaydZZ2vqBwZwJOiIBAN4YbitXlzHaKWnOnt05I,723458
|
|
11
11
|
gtsam/gtsam/so3.pyi,sha256=UoDGISMgcStVTAtc_y6CmHXCtPJrJ7ju70z3ZH1OLR4,3939
|
|
12
12
|
gtsam/gtsam/imuBias.pyi,sha256=gD6w5kd9xpO4uBEpfNym_3LjW67MV7HPQRYOOoDPysQ,2478
|
|
13
13
|
gtsam/gtsam/symbol_shorthand.pyi,sha256=iaQLf_-hch_4YTYbSWTLINKtIL9Mg7W7HKOMuCXp8Ok,991
|
|
@@ -42,7 +42,7 @@ gtsam/tests/Pose3SLAMExample_g2o.py,sha256=iei2UD8L7o9XkSOLmHy8cAI3iPcVbYBPO-zra
|
|
|
42
42
|
gtsam/tests/Pose3ISAM2Example.py,sha256=pTSARr97SpU9ooKTK8qgBWIdCGtcoajje25V67BiyyE,9664
|
|
43
43
|
gtsam/tests/test_DSFMap.py,sha256=fhlgNsqcXvf4dipaKq-VBxTYTYeUHM39S_wqwOUZ0L4,2107
|
|
44
44
|
gtsam/tests/test_FundamentalMatrix.py,sha256=Bf_-8LJMqBu0SHQeNfWBjixDNp8ccbaD0T-GGlgcWT4,10814
|
|
45
|
-
gtsam/tests/test_HybridBayesNet.py,sha256=
|
|
45
|
+
gtsam/tests/test_HybridBayesNet.py,sha256=8RnBWhp9dM45MIFiAnuRFR3uf8UWCMMn7Mgy5JJW32U,14189
|
|
46
46
|
gtsam/tests/test_logging_optimizer.py,sha256=AZyhLRDwjTVT2lSVBSy3HJgT0wllf5a4w5xEdiUCgrw,4166
|
|
47
47
|
gtsam/tests/EssentialViewGraphExample.py,sha256=md5C69By_Yo6e8A6uj7D1xNOkvXrRN7GyIU3h_Lde8o,3695
|
|
48
48
|
gtsam/tests/test_DiscreteFactorGraph.py,sha256=4PLmQ3tcSngqyaTvg8YEKSSMe4OKtoqdPpbRJ1f6ZmE,8287
|
|
@@ -128,12 +128,12 @@ gtsam/utils/__init__.py,sha256=_ID7pb13SDZedga5KdBqpPug4PW3eU3THdVF_3jrakQ,678
|
|
|
128
128
|
gtsam/utils/test_case.py,sha256=3wIqAW5_smes95XUJgUjD4v3FXACYSVzQ1l6MMdwSkA,1848
|
|
129
129
|
gtsam/utils/logging_optimizer.py,sha256=tRnzQKV4eT5djS0Ojy5J7OGu7oVRjZw7Jhjrx_VQVTU,4417
|
|
130
130
|
gtsam/.dylibs/libboost_thread.dylib,sha256=aT1DCt1Kvw1A2w2mRHIJhZRFrYmoDaI5xYM6wEt86L8,137200
|
|
131
|
-
gtsam/.dylibs/
|
|
131
|
+
gtsam/.dylibs/libgtsam.4.3a0.dev202505291804.dylib,sha256=ujGGErIAHdwyeiLtijJzr6d13dZ6ganynTr07O5ErUU,5666800
|
|
132
132
|
gtsam/.dylibs/libboost_regex.dylib,sha256=XWw3H3ehJjFuFVSSDGo2lyKOIsoTQ-0Aaf1ekhsQJfY,356464
|
|
133
133
|
gtsam/.dylibs/libboost_serialization.dylib,sha256=7OW78djID14u2YB_F_TuXomOIsEpt8I7RnCAGuGmwCc,418288
|
|
134
|
+
gtsam/.dylibs/libgtsam_unstable.4.3a0.dev202505291804.dylib,sha256=8rsRFccU0YD0a6UjRuweHPtua7IkQCoOs6C0xSjEXGU,1623104
|
|
134
135
|
gtsam/.dylibs/libboost_timer.dylib,sha256=leVXIyCdydip4vwIm-Ghrt6UGy_Q-yhL2f8ITyfRku0,81520
|
|
135
136
|
gtsam/.dylibs/libboost_filesystem.dylib,sha256=WUuuO1JZADriLciFi63Ky4dmqt1KA7_V6DcNdzCANSo,197328
|
|
136
|
-
gtsam/.dylibs/libgtsam.4.3a0.dev202505281542.dylib,sha256=43VoJl0N1xMhWBKN2niSgbBstHNxmsjQFYi-TuKwrYU,5666800
|
|
137
137
|
gtsam/.dylibs/libcephes-gtsam.1.0.0.dylib,sha256=pNZtgCIaV7_dC0WPXobOc8sNvd_0WQo1AdYxUsqZ1D0,176352
|
|
138
138
|
gtsam/.dylibs/libmetis-gtsam.dylib,sha256=Od5V_NOZKhxu5cEw1wMfGxk3l0_2LEhV-GkEwnqyx4Q,449504
|
|
139
139
|
gtsam/.dylibs/libboost_atomic.dylib,sha256=AbG9FmLd7biQVvDL9F7_sLOEgmhgj5bwxX98c5jnVVc,104160
|
|
@@ -249,14 +249,14 @@ gtsam/Data/Balbianello/BalbianelloMedium-4.key.gz,sha256=P6tu3JmA0NKlcFYdgYczTOH
|
|
|
249
249
|
gtsam/Data/Balbianello/BalbianelloMedium-1.key.gz,sha256=RgT7tVXXOwvDug20TW-9xtoeO3dSSPMF1n9DaKxdrIw,332878
|
|
250
250
|
gtsam/Data/Balbianello/BalbianelloMedium-3.key.gz,sha256=yNMcyqwZCOj9FG-6qXQ9xhJjpM135cTBJYlOUBG0rnQ,296236
|
|
251
251
|
gtsam/Data/Balbianello/BalbianelloMedium-5.key.gz,sha256=4veDrxRdLH8k1DIhgj1984MitZ7nAWoXDWTWyXuu7Lg,241361
|
|
252
|
-
gtsam_develop-4.3a0.dev202505281542.dist-info/RECORD,,
|
|
253
|
-
gtsam_develop-4.3a0.dev202505281542.dist-info/WHEEL,sha256=oqGJCpG61FZJmvyZ3C_0aCv-2mdfcY9e3fXvyUNmWfM,136
|
|
254
|
-
gtsam_develop-4.3a0.dev202505281542.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
|
|
255
|
-
gtsam_develop-4.3a0.dev202505281542.dist-info/METADATA,sha256=Q2D0kXkx4iN9Lv3sKMDxAiLHu1r7sVCJTvRfDhdaWHE,7767
|
|
256
252
|
gtsam_unstable/__init__.py,sha256=FPc_oO5PFQZbrfpgugzQuI6LJfP1fzq82UQf_nuyGtk,30
|
|
257
|
-
gtsam_unstable/gtsam_unstable.cpython-313-darwin.so,sha256=
|
|
253
|
+
gtsam_unstable/gtsam_unstable.cpython-313-darwin.so,sha256=OH1hm1EgecP31UfY9APogHyzZHEnl0C8fdesYmZJaEg,2050208
|
|
258
254
|
gtsam_unstable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
259
255
|
gtsam_unstable/tests/test_ProjectionFactorRollingShutter.py,sha256=t2l62uWoXfjrM8oH6ogV7M20WjTYKZ4CSferdurMIY0,2156
|
|
260
256
|
gtsam_unstable/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
261
257
|
gtsam_unstable/examples/LocalizationExample.py,sha256=na47I1PQ_5Tenj8Wg2LBg3GaqP32O4yEb8jtRWKu0P8,2882
|
|
262
258
|
gtsam_unstable/examples/TimeOfArrivalExample.py,sha256=uky5ps4Ng83C0Q_s2EAc64Af6iztQjXXdj3ahifRXoI,3737
|
|
259
|
+
gtsam_develop-4.3a0.dev202505291804.dist-info/RECORD,,
|
|
260
|
+
gtsam_develop-4.3a0.dev202505291804.dist-info/WHEEL,sha256=oqGJCpG61FZJmvyZ3C_0aCv-2mdfcY9e3fXvyUNmWfM,136
|
|
261
|
+
gtsam_develop-4.3a0.dev202505291804.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
|
|
262
|
+
gtsam_develop-4.3a0.dev202505291804.dist-info/METADATA,sha256=dLs8YUP_lJEUZd_pIHuEhdWxyp-JX0h-3rcOW5566jE,7767
|
|
Binary file
|
|
File without changes
|
|
File without changes
|