gtsam-develop 4.3a0.dev202505281542__cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 4.3a0.dev202505291804__cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.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/__init__.pyi +14 -11
- gtsam/gtsam/__init__.pyi +192 -8
- gtsam/gtsam.cpython-313-aarch64-linux-gnu.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_develop.libs/{libgtsam-d5b5c340.so.4.3a0.dev202505281542 → libgtsam-d5b5c340.so.4.3a0.dev202505291804} +0 -0
- gtsam_develop.libs/{libgtsam_unstable-9cc685c5.so.4.3a0.dev202505281542 → libgtsam_unstable-9cc685c5.so.4.3a0.dev202505291804} +0 -0
- gtsam_unstable/gtsam_unstable.cpython-313-aarch64-linux-gnu.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
gtsam/__init__.pyi
CHANGED
|
@@ -2,30 +2,32 @@
|
|
|
2
2
|
Module definition file for GTSAM
|
|
3
3
|
"""
|
|
4
4
|
from __future__ import annotations
|
|
5
|
+
from builtins import dict as MatchIndicesMap
|
|
5
6
|
from builtins import dict as KeyPairDoubleMap
|
|
6
7
|
from builtins import dict as IndexPairSetMap
|
|
7
|
-
from builtins import dict as MatchIndicesMap
|
|
8
|
-
from builtins import list as BinaryMeasurementsUnit3
|
|
9
8
|
from builtins import list as BetweenFactorPose3s
|
|
10
9
|
from builtins import list as Point2Pairs
|
|
11
|
-
from builtins import list as BetweenFactorPose2s
|
|
12
10
|
from builtins import list as SfmMeasurementVector
|
|
11
|
+
from builtins import list as BinaryMeasurementsUnit3
|
|
12
|
+
from builtins import list as KeypointsVector
|
|
13
13
|
from builtins import list as KeyVector
|
|
14
|
-
from builtins import list as Point2Vector
|
|
15
|
-
from builtins import list as SfmTrack2dVector
|
|
16
|
-
from builtins import list as Point3Pairs
|
|
17
|
-
from builtins import list as BinaryMeasurementsPoint3
|
|
18
14
|
from builtins import list as IndexPairVector
|
|
15
|
+
from builtins import list as BetweenFactorPose2s
|
|
16
|
+
from builtins import list as SfmTracks
|
|
17
|
+
from builtins import list as Point3Pairs
|
|
18
|
+
from builtins import list as SfmCameras
|
|
19
19
|
from builtins import list as Rot3Vector
|
|
20
|
+
from builtins import list as BinaryMeasurementsPoint3
|
|
20
21
|
from builtins import list as BinaryMeasurementsRot3
|
|
21
|
-
from builtins import list as
|
|
22
|
-
from builtins import list as SfmTracks
|
|
22
|
+
from builtins import list as SfmTrack2dVector
|
|
23
23
|
from builtins import list as Pose2Pairs
|
|
24
24
|
from builtins import list as Pose3Pairs
|
|
25
|
-
from builtins import list as KeypointsVector
|
|
26
25
|
from builtins import list as Pose3Vector
|
|
26
|
+
from builtins import list as Point2Vector
|
|
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:
|
|
@@ -5595,6 +5639,16 @@ class HybridBayesNet:
|
|
|
5595
5639
|
|
|
5596
5640
|
Returns: Gaussian posterior P(X|M=m) as a GaussianBayesNet.
|
|
5597
5641
|
"""
|
|
5642
|
+
@typing.overload
|
|
5643
|
+
def discreteMarginal(self) -> DiscreteBayesNet:
|
|
5644
|
+
"""
|
|
5645
|
+
Get the discrete Bayes Net P(M).
|
|
5646
|
+
|
|
5647
|
+
As the hybrid Bayes net defines P(X,M) = P(X|M) P(M), this method returns the marginal distribution on the discrete variables.
|
|
5648
|
+
|
|
5649
|
+
Returns: discrete marginal as a DiscreteBayesNet.
|
|
5650
|
+
"""
|
|
5651
|
+
@typing.overload
|
|
5598
5652
|
def discreteMarginal(self) -> DiscreteBayesNet:
|
|
5599
5653
|
"""
|
|
5600
5654
|
Get the discrete Bayes Net P(M).
|
|
@@ -5603,6 +5657,15 @@ class HybridBayesNet:
|
|
|
5603
5657
|
|
|
5604
5658
|
Returns: discrete marginal as a DiscreteBayesNet.
|
|
5605
5659
|
"""
|
|
5660
|
+
def discretePosterior(self, continuousValues: VectorValues) -> AlgebraicDecisionTreeKey:
|
|
5661
|
+
"""
|
|
5662
|
+
Compute normalized posterior P(M|X=x) and return as a tree.
|
|
5663
|
+
|
|
5664
|
+
Args:
|
|
5665
|
+
continuousValues: Continuous values x to condition P(M|X=x) on.
|
|
5666
|
+
|
|
5667
|
+
Returns: AlgebraicDecisionTree<Key>
|
|
5668
|
+
"""
|
|
5606
5669
|
def dot(self, keyFormatter: typing.Callable[[int], str] = ..., writer: DotWriter = ...) -> str:
|
|
5607
5670
|
"""
|
|
5608
5671
|
Output to graphviz format string.
|
|
@@ -5619,6 +5682,15 @@ class HybridBayesNet:
|
|
|
5619
5682
|
"""
|
|
5620
5683
|
Add error for all factors.
|
|
5621
5684
|
"""
|
|
5685
|
+
def errorTree(self, continuousValues: VectorValues) -> AlgebraicDecisionTreeKey:
|
|
5686
|
+
"""
|
|
5687
|
+
Compute the negative log posterior log P'(M|x) of all assignments up to a constant, returning the result as an algebraic decision tree.
|
|
5688
|
+
|
|
5689
|
+
Args:
|
|
5690
|
+
continuousValues: Continuous values x at which to compute log P'(M|x)
|
|
5691
|
+
|
|
5692
|
+
Returns: AlgebraicDecisionTree<Key>
|
|
5693
|
+
"""
|
|
5622
5694
|
def evaluate(self, values: HybridValues) -> float:
|
|
5623
5695
|
"""
|
|
5624
5696
|
Evaluate hybrid probability density for givenHybridValues.
|
|
@@ -5629,6 +5701,33 @@ class HybridBayesNet:
|
|
|
5629
5701
|
"""
|
|
5630
5702
|
def logProbability(self, x: HybridValues) -> float:
|
|
5631
5703
|
...
|
|
5704
|
+
def mpe(self) -> DiscreteValues:
|
|
5705
|
+
"""
|
|
5706
|
+
Compute the Most Probable Explanation (MPE) of the discrete variables.
|
|
5707
|
+
|
|
5708
|
+
Returns: DiscreteValues
|
|
5709
|
+
"""
|
|
5710
|
+
@typing.overload
|
|
5711
|
+
def negLogConstant(self) -> float:
|
|
5712
|
+
"""
|
|
5713
|
+
Get the negative log of the normalization constant corresponding to the joint density represented by this Bayes net.
|
|
5714
|
+
|
|
5715
|
+
Optionally index by discrete.
|
|
5716
|
+
|
|
5717
|
+
Returns: double
|
|
5718
|
+
"""
|
|
5719
|
+
@typing.overload
|
|
5720
|
+
def negLogConstant(self, discrete: DiscreteValues) -> float:
|
|
5721
|
+
"""
|
|
5722
|
+
Get the negative log of the normalization constant corresponding to the joint density represented by this Bayes net.
|
|
5723
|
+
|
|
5724
|
+
Optionally index by discrete.
|
|
5725
|
+
|
|
5726
|
+
Args:
|
|
5727
|
+
discrete: Optional DiscreteValues
|
|
5728
|
+
|
|
5729
|
+
Returns: double
|
|
5730
|
+
"""
|
|
5632
5731
|
@typing.overload
|
|
5633
5732
|
def optimize(self) -> HybridValues:
|
|
5634
5733
|
"""
|
|
@@ -5649,6 +5748,19 @@ class HybridBayesNet:
|
|
|
5649
5748
|
def print(self, s: str = 'HybridBayesNet\n', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
5650
5749
|
...
|
|
5651
5750
|
@typing.overload
|
|
5751
|
+
def prune(self, maxNrLeaves: int) -> HybridBayesNet:
|
|
5752
|
+
"""
|
|
5753
|
+
Prune the Bayes Net such that we have at most maxNrLeaves leaves.
|
|
5754
|
+
|
|
5755
|
+
Args:
|
|
5756
|
+
maxNrLeaves: Continuous values at which to compute the error.
|
|
5757
|
+
|
|
5758
|
+
Returns: A pruned HybridBayesNet
|
|
5759
|
+
"""
|
|
5760
|
+
@typing.overload
|
|
5761
|
+
def prune(self, maxNrLeaves: int, marginalThreshold: float) -> HybridBayesNet:
|
|
5762
|
+
...
|
|
5763
|
+
@typing.overload
|
|
5652
5764
|
def push_back(self, s: HybridGaussianConditional) -> None:
|
|
5653
5765
|
...
|
|
5654
5766
|
@typing.overload
|
|
@@ -5658,6 +5770,13 @@ class HybridBayesNet:
|
|
|
5658
5770
|
def push_back(self, s: DiscreteConditional) -> None:
|
|
5659
5771
|
...
|
|
5660
5772
|
@typing.overload
|
|
5773
|
+
def push_back(self, conditional: HybridConditional) -> None:
|
|
5774
|
+
"""
|
|
5775
|
+
Add a hybrid conditional using a shared_ptr.
|
|
5776
|
+
|
|
5777
|
+
This is the "native" push back, as this class stores hybrid conditionals.
|
|
5778
|
+
"""
|
|
5779
|
+
@typing.overload
|
|
5661
5780
|
def sample(self, given: HybridValues, rng: MT19937 = None) -> HybridValues:
|
|
5662
5781
|
"""
|
|
5663
5782
|
Sample from an incompleteBayesNet, given missing variables.
|
|
@@ -5740,9 +5859,27 @@ class HybridBayesTreeClique:
|
|
|
5740
5859
|
"""
|
|
5741
5860
|
Return true if this clique is the root of a Bayes tree.
|
|
5742
5861
|
"""
|
|
5743
|
-
class HybridConditional:
|
|
5862
|
+
class HybridConditional(HybridFactor):
|
|
5744
5863
|
def __call__(self, arg0: HybridValues) -> float:
|
|
5745
5864
|
...
|
|
5865
|
+
@typing.overload
|
|
5866
|
+
def __init__(self) -> None:
|
|
5867
|
+
...
|
|
5868
|
+
@typing.overload
|
|
5869
|
+
def __init__(self, continuousKeys: list[int], discreteKeys: DiscreteKeys, nFrontals: int) -> None:
|
|
5870
|
+
...
|
|
5871
|
+
@typing.overload
|
|
5872
|
+
def __init__(self, continuousFrontals: list[int], discreteFrontals: DiscreteKeys, continuousParents: list[int], discreteParents: DiscreteKeys) -> None:
|
|
5873
|
+
...
|
|
5874
|
+
@typing.overload
|
|
5875
|
+
def __init__(self, continuousConditional: GaussianConditional) -> None:
|
|
5876
|
+
...
|
|
5877
|
+
@typing.overload
|
|
5878
|
+
def __init__(self, discreteConditional: DiscreteConditional) -> None:
|
|
5879
|
+
...
|
|
5880
|
+
@typing.overload
|
|
5881
|
+
def __init__(self, hybridGaussianCond: ...) -> None:
|
|
5882
|
+
...
|
|
5746
5883
|
def __repr__(self, s: str = 'Hybrid Conditional\n', keyFormatter: typing.Callable[[int], str] = ...) -> str:
|
|
5747
5884
|
...
|
|
5748
5885
|
def asDiscrete(self) -> DiscreteConditional:
|
|
@@ -5767,10 +5904,6 @@ class HybridConditional:
|
|
|
5767
5904
|
"""
|
|
5768
5905
|
GTSAM-style equals.
|
|
5769
5906
|
"""
|
|
5770
|
-
def error(self, values: HybridValues) -> float:
|
|
5771
|
-
"""
|
|
5772
|
-
Return the error of the underlying conditional.
|
|
5773
|
-
"""
|
|
5774
5907
|
def evaluate(self, values: HybridValues) -> float:
|
|
5775
5908
|
"""
|
|
5776
5909
|
Return the probability (or density) of the underlying conditional.
|
|
@@ -5779,6 +5912,18 @@ class HybridConditional:
|
|
|
5779
5912
|
"""
|
|
5780
5913
|
Get the type-erased pointer to the inner type.
|
|
5781
5914
|
"""
|
|
5915
|
+
def isContinuous(self) -> bool:
|
|
5916
|
+
"""
|
|
5917
|
+
True if this is a factor of continuous variables only.
|
|
5918
|
+
"""
|
|
5919
|
+
def isDiscrete(self) -> bool:
|
|
5920
|
+
"""
|
|
5921
|
+
True if this is a factor of discrete variables only.
|
|
5922
|
+
"""
|
|
5923
|
+
def isHybrid(self) -> bool:
|
|
5924
|
+
"""
|
|
5925
|
+
True is this is a Discrete-Continuous factor.
|
|
5926
|
+
"""
|
|
5782
5927
|
def logProbability(self, values: HybridValues) -> float:
|
|
5783
5928
|
"""
|
|
5784
5929
|
Return the log-probability (or density) of the underlying conditional.
|
|
@@ -5814,7 +5959,9 @@ class HybridFactor(Factor):
|
|
|
5814
5959
|
"""
|
|
5815
5960
|
equals
|
|
5816
5961
|
"""
|
|
5817
|
-
def error(self,
|
|
5962
|
+
def error(self, hybridValues: HybridValues) -> float:
|
|
5963
|
+
...
|
|
5964
|
+
def errorTree(self, continuousValues: VectorValues) -> AlgebraicDecisionTreeKey:
|
|
5818
5965
|
...
|
|
5819
5966
|
def isContinuous(self) -> bool:
|
|
5820
5967
|
"""
|
|
@@ -5834,7 +5981,9 @@ class HybridFactor(Factor):
|
|
|
5834
5981
|
"""
|
|
5835
5982
|
def print(self, s: str = 'HybridFactor\n', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
5836
5983
|
...
|
|
5837
|
-
|
|
5984
|
+
def restrict(self, assignment: DiscreteValues) -> Factor:
|
|
5985
|
+
...
|
|
5986
|
+
class HybridGaussianConditional(HybridGaussianFactor):
|
|
5838
5987
|
@typing.overload
|
|
5839
5988
|
def __init__(self, discreteParents: DiscreteKeys, conditionals: ..., std: ...) -> None:
|
|
5840
5989
|
...
|
|
@@ -5843,6 +5992,14 @@ class HybridGaussianConditional(HybridFactor):
|
|
|
5843
5992
|
...
|
|
5844
5993
|
def __repr__(self, s: str = 'HybridGaussianConditional\n', keyFormatter: typing.Callable[[int], str] = ...) -> str:
|
|
5845
5994
|
...
|
|
5995
|
+
def choose(self, discreteValues: DiscreteValues) -> GaussianConditional:
|
|
5996
|
+
"""
|
|
5997
|
+
Return the conditional Gaussian for the given discrete assignment.
|
|
5998
|
+
"""
|
|
5999
|
+
def continuousParents(self) -> list[int]:
|
|
6000
|
+
"""
|
|
6001
|
+
Returns the continuous keys among the parents.
|
|
6002
|
+
"""
|
|
5846
6003
|
def evaluate(self, values: HybridValues) -> float:
|
|
5847
6004
|
"""
|
|
5848
6005
|
Calculate probability density for givenvalues.
|
|
@@ -5858,8 +6015,33 @@ class HybridGaussianConditional(HybridFactor):
|
|
|
5858
6015
|
|
|
5859
6016
|
Returns: double
|
|
5860
6017
|
"""
|
|
6018
|
+
def negLogConstant(self) -> float:
|
|
6019
|
+
"""
|
|
6020
|
+
Return log normalization constant in negative log space.
|
|
6021
|
+
|
|
6022
|
+
The log normalization constant is the min of the individual log-normalization constants.
|
|
6023
|
+
|
|
6024
|
+
Returns: double
|
|
6025
|
+
"""
|
|
6026
|
+
def nrComponents(self) -> int:
|
|
6027
|
+
"""
|
|
6028
|
+
Returns the total number of continuous components.
|
|
6029
|
+
"""
|
|
5861
6030
|
def print(self, s: str = 'HybridGaussianConditional\n', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
5862
6031
|
...
|
|
6032
|
+
def prune(self, discreteProbs: DiscreteConditional) -> HybridGaussianConditional:
|
|
6033
|
+
"""
|
|
6034
|
+
Prune the decision tree of Gaussian factors as per the discretediscreteProbs.
|
|
6035
|
+
|
|
6036
|
+
Args:
|
|
6037
|
+
discreteProbs: A pruned set of probabilities for the discrete keys.
|
|
6038
|
+
|
|
6039
|
+
Returns: Shared pointer to possibly a pruned HybridGaussianConditional
|
|
6040
|
+
"""
|
|
6041
|
+
def pruned(self) -> bool:
|
|
6042
|
+
"""
|
|
6043
|
+
Return true if the conditional has already been pruned.
|
|
6044
|
+
"""
|
|
5863
6045
|
class HybridGaussianFactor(HybridFactor):
|
|
5864
6046
|
@typing.overload
|
|
5865
6047
|
def __init__(self, discreteKey: tuple[int, int], factors: list[GaussianFactor]) -> None:
|
|
@@ -16317,6 +16499,8 @@ def FindKarcherMeanSO3(elements: list[SO3]) -> SO3:
|
|
|
16317
16499
|
...
|
|
16318
16500
|
def FindKarcherMeanSO4(elements: list[SO4]) -> SO4:
|
|
16319
16501
|
...
|
|
16502
|
+
def HybridOrdering(graph: HybridGaussianFactorGraph) -> Ordering:
|
|
16503
|
+
...
|
|
16320
16504
|
def IndexPairSetAsArray(set: set[IndexPair]) -> list[IndexPair]:
|
|
16321
16505
|
...
|
|
16322
16506
|
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,6 +1,6 @@
|
|
|
1
1
|
gtsam/__init__.py,sha256=6G-WPnb_FMQEJXNDDAmrKrQPau7evtd5svhTmMqhYSI,2011
|
|
2
|
-
gtsam/__init__.pyi,sha256=
|
|
3
|
-
gtsam/gtsam.cpython-313-aarch64-linux-gnu.so,sha256=
|
|
2
|
+
gtsam/__init__.pyi,sha256=iyuqAnMyNRrI4JCAAocqzNv0Q5CIVhaCFG6eDI28d2c,43159
|
|
3
|
+
gtsam/gtsam.cpython-313-aarch64-linux-gnu.so,sha256=VJJC_QhzQ-9fhKZqvNmVx0pyaNHP8p2DUNLwbdwiJ-c,22524737
|
|
4
4
|
gtsam/gtsfm.py,sha256=Udlkb6o5iUk69uxBkb88-W1GLfu1g8iSuZlLu-RRU0o,202
|
|
5
5
|
gtsam/imuBias.py,sha256=tz3bOCFl29iMycbGFoF-ud6kRsJYjA7DJ2RJoKPFRU8,209
|
|
6
6
|
gtsam/noiseModel.py,sha256=ybfIHa4sLXe78_k-Dib8nTaw34BRXqEDVtS2B9dzSO0,217
|
|
@@ -114,7 +114,7 @@ gtsam/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
114
114
|
gtsam/examples/gtsam_plotly.py,sha256=bTXAzZ3i_RunKrdGwFLsMsetYYleQrzDa50ekmrt_nQ,17073
|
|
115
115
|
gtsam/examples/plot_city10000.py,sha256=xsM1HFlcBn6TqEqQtZjlOl0WQI6tVZMgjtKdYIusbyE,3353
|
|
116
116
|
gtsam/examples/simulation.py,sha256=VAopcCosvdtXRy6xe547EDz73lXhLiYbPnFQZWjo2wU,5405
|
|
117
|
-
gtsam/gtsam/__init__.pyi,sha256=
|
|
117
|
+
gtsam/gtsam/__init__.pyi,sha256=GSUSu2iIXUinAEWPVLPKBYfAhQhya--W0Ud8KNjQR1M,723228
|
|
118
118
|
gtsam/gtsam/gtsfm.pyi,sha256=Onoh4CRaSYIQ0FID0vBkZeV7ESIhc2fh4rJGgaPY-ug,702
|
|
119
119
|
gtsam/gtsam/imuBias.pyi,sha256=gD6w5kd9xpO4uBEpfNym_3LjW67MV7HPQRYOOoDPysQ,2478
|
|
120
120
|
gtsam/gtsam/lago.pyi,sha256=-VzJaQ1ho25n7S4VjbugWmPNUtKeMsoESifX9K8l2Yo,551
|
|
@@ -180,7 +180,7 @@ gtsam/tests/test_FundamentalMatrix.py,sha256=Bf_-8LJMqBu0SHQeNfWBjixDNp8ccbaD0T-
|
|
|
180
180
|
gtsam/tests/test_GaussianBayesNet.py,sha256=tF5CDF5giL9gfHOgQ4dwY1u4JQmg4mxh8jCDQ-3-8Wk,2430
|
|
181
181
|
gtsam/tests/test_GaussianFactorGraph.py,sha256=C7U4Dfogavc-Wef0OpWn3Yqvh-fUosKYsRrbITRo2u4,3418
|
|
182
182
|
gtsam/tests/test_GraphvizFormatting.py,sha256=q0SvlNriwuHQ5trzJ_o8cEQusD8H9Q-MzUkICfI70yE,4276
|
|
183
|
-
gtsam/tests/test_HybridBayesNet.py,sha256=
|
|
183
|
+
gtsam/tests/test_HybridBayesNet.py,sha256=8RnBWhp9dM45MIFiAnuRFR3uf8UWCMMn7Mgy5JJW32U,14189
|
|
184
184
|
gtsam/tests/test_HybridFactorGraph.py,sha256=_tJld82_p_AxkqMQdeL11PEA5xTk-p21Fj1RLPvhljE,13093
|
|
185
185
|
gtsam/tests/test_HybridNonlinearFactorGraph.py,sha256=8XFH9CidtrhDeKSr_x5mS5QtK_aEvJfhEcPUrCSlJgI,1729
|
|
186
186
|
gtsam/tests/test_HybridValues.py,sha256=DtgMnPFoifEuce0hS-gOozLFqfheVfwPO8ehQhpigtc,9027
|
|
@@ -246,17 +246,17 @@ gtsam_develop.libs/libboost_system-0f8f8a6a.so.1.87.0,sha256=vG7c-nCNDFk9UrmGaYj
|
|
|
246
246
|
gtsam_develop.libs/libboost_thread-e6217d1e.so.1.87.0,sha256=E2jFMpQ_xgH8mzebJPVAo9JKwZRF0cTUZx4q4aDVVKo,357745
|
|
247
247
|
gtsam_develop.libs/libboost_timer-c03b5720.so.1.87.0,sha256=C-jrqHaflQqKfg88hGhzFRof8w0WX5Lw-N56zLtD3CE,133249
|
|
248
248
|
gtsam_develop.libs/libcephes-gtsam-906422bf.so.1.0.0,sha256=aX4Q_2V2F1uwqCEdNkLhzOzgGWLf2cTeZn9OJeRcSvY,264913
|
|
249
|
-
gtsam_develop.libs/libgtsam-d5b5c340.so.4.3a0.
|
|
250
|
-
gtsam_develop.libs/libgtsam_unstable-9cc685c5.so.4.3a0.
|
|
249
|
+
gtsam_develop.libs/libgtsam-d5b5c340.so.4.3a0.dev202505291804,sha256=KAZIJ_BczQp2r5Fvex1KHyygSzRTu8pRiX_JY05C5Ko,10774073
|
|
250
|
+
gtsam_develop.libs/libgtsam_unstable-9cc685c5.so.4.3a0.dev202505291804,sha256=Pb5MeXxzdPap6U9-I8rQPO_AiNGDcdxHP_3QiScVoU0,2585473
|
|
251
251
|
gtsam_develop.libs/libmetis-gtsam-b7310f3a.so,sha256=6Y9LebAEnr8OFCzKGxK2KADmtBGIq3XnzDpXF7jMX4A,546689
|
|
252
252
|
gtsam_unstable/__init__.py,sha256=FPc_oO5PFQZbrfpgugzQuI6LJfP1fzq82UQf_nuyGtk,30
|
|
253
|
-
gtsam_unstable/gtsam_unstable.cpython-313-aarch64-linux-gnu.so,sha256=
|
|
253
|
+
gtsam_unstable/gtsam_unstable.cpython-313-aarch64-linux-gnu.so,sha256=_2yC5EAPp32cyq1F4FKWPQ5zpcGEqhOy-mLQexREtjE,2715857
|
|
254
254
|
gtsam_unstable/examples/LocalizationExample.py,sha256=na47I1PQ_5Tenj8Wg2LBg3GaqP32O4yEb8jtRWKu0P8,2882
|
|
255
255
|
gtsam_unstable/examples/TimeOfArrivalExample.py,sha256=uky5ps4Ng83C0Q_s2EAc64Af6iztQjXXdj3ahifRXoI,3737
|
|
256
256
|
gtsam_unstable/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
257
257
|
gtsam_unstable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
258
258
|
gtsam_unstable/tests/test_ProjectionFactorRollingShutter.py,sha256=t2l62uWoXfjrM8oH6ogV7M20WjTYKZ4CSferdurMIY0,2156
|
|
259
|
-
gtsam_develop-4.3a0.
|
|
260
|
-
gtsam_develop-4.3a0.
|
|
261
|
-
gtsam_develop-4.3a0.
|
|
262
|
-
gtsam_develop-4.3a0.
|
|
259
|
+
gtsam_develop-4.3a0.dev202505291804.dist-info/METADATA,sha256=dLs8YUP_lJEUZd_pIHuEhdWxyp-JX0h-3rcOW5566jE,7767
|
|
260
|
+
gtsam_develop-4.3a0.dev202505291804.dist-info/WHEEL,sha256=DVQfR3xH2KJfS7pBhJzIuIwL8FVo2fvDAAMW3lhwv20,153
|
|
261
|
+
gtsam_develop-4.3a0.dev202505291804.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
|
|
262
|
+
gtsam_develop-4.3a0.dev202505291804.dist-info/RECORD,,
|
|
index faab537..a3c0269 100755
|
|
|
Binary file
|
|
index b2daa12..dc8f424 100755
|
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|