gtsam-develop 4.3a0.dev202506061330__cp311-cp311-macosx_11_0_arm64.whl → 4.3a0.dev202508020718__cp311-cp311-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gtsam-develop might be problematic. Click here for more details.
- gtsam/.dylibs/{libgtsam.4.3a0.dev202506061330.dylib → libgtsam.4.3a0.dev202508020718.dylib} +0 -0
- gtsam/.dylibs/libgtsam_unstable.4.3a0.dev202508020718.dylib +0 -0
- gtsam/__init__.pyi +34 -17
- gtsam/gtsam/__init__.pyi +468 -45
- gtsam/gtsam/imuBias.pyi +6 -0
- gtsam/gtsam.cpython-311-darwin.so +0 -0
- gtsam/tests/test_FrobeniusFactor.py +70 -3
- gtsam/tests/test_Sim2.py +93 -9
- gtsam/tests/test_Sim3.py +113 -15
- gtsam/utils/generate_trajectory.py +100 -0
- {gtsam_develop-4.3a0.dev202506061330.dist-info → gtsam_develop-4.3a0.dev202508020718.dist-info}/METADATA +1 -1
- {gtsam_develop-4.3a0.dev202506061330.dist-info → gtsam_develop-4.3a0.dev202508020718.dist-info}/RECORD +15 -14
- gtsam_unstable/gtsam_unstable.cpython-311-darwin.so +0 -0
- gtsam/.dylibs/libgtsam_unstable.4.3a0.dev202506061330.dylib +0 -0
- {gtsam_develop-4.3a0.dev202506061330.dist-info → gtsam_develop-4.3a0.dev202508020718.dist-info}/WHEEL +0 -0
- {gtsam_develop-4.3a0.dev202506061330.dist-info → gtsam_develop-4.3a0.dev202508020718.dist-info}/top_level.txt +0 -0
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', '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']
|
|
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', 'BetweenFactorSL4', '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', 'DiscreteScenario', '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', 'ExtendedKalmanFilterSL4', 'ExtendedKalmanFilterSimilarity2', 'ExtendedKalmanFilterSimilarity3', 'Factor', 'FindKarcherMeanPoint2', 'FindKarcherMeanPoint3', 'FindKarcherMeanPose2', 'FindKarcherMeanPose3', 'FindKarcherMeanRot2', 'FindKarcherMeanRot3', 'FindKarcherMeanSO3', 'FindKarcherMeanSO4', 'FitBasisChebyshev1Basis', 'FitBasisChebyshev2', 'FitBasisChebyshev2Basis', 'FitBasisFourierBasis', 'FixedLagSmoother', 'FixedLagSmootherResult', 'FourierBasis', 'FrobeniusBetweenFactorGal3', 'FrobeniusBetweenFactorPose2', 'FrobeniusBetweenFactorPose3', 'FrobeniusBetweenFactorRot2', 'FrobeniusBetweenFactorRot3', 'FrobeniusBetweenFactorSO3', 'FrobeniusBetweenFactorSO4', 'FrobeniusBetweenFactorSimilarity2', 'FrobeniusBetweenFactorSimilarity3', 'FrobeniusFactorGal3', 'FrobeniusFactorPose2', 'FrobeniusFactorPose3', 'FrobeniusFactorRot2', 'FrobeniusFactorRot3', 'FrobeniusFactorSO3', 'FrobeniusFactorSO4', 'FrobeniusFactorSimilarity2', 'FrobeniusFactorSimilarity3', 'FrobeniusPriorGal3', 'FrobeniusPriorPose2', 'FrobeniusPriorPose3', 'FrobeniusPriorRot2', 'FrobeniusPriorRot3', 'FrobeniusPriorSO3', 'FrobeniusPriorSO4', 'FrobeniusPriorSimilarity2', 'FrobeniusPriorSimilarity3', 'FundamentalMatrix', 'GPSFactor', 'GPSFactor2', 'GPSFactor2Arm', 'GPSFactor2ArmCalib', 'GPSFactorArm', 'GPSFactorArmCalib', 'Gal3', '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', 'NonlinearEquality2SL4', 'NonlinearEquality2SO3', 'NonlinearEquality2SO4', 'NonlinearEquality2SOn', 'NonlinearEquality2Similarity2', 'NonlinearEquality2Similarity3', 'NonlinearEquality2StereoPoint2', 'NonlinearEqualityCal3_S2', 'NonlinearEqualityCalibratedCamera', 'NonlinearEqualityConstantBias', 'NonlinearEqualityPinholeCameraCal3Bundler', 'NonlinearEqualityPinholeCameraCal3Fisheye', 'NonlinearEqualityPinholeCameraCal3Unified', 'NonlinearEqualityPinholeCameraCal3_S2', 'NonlinearEqualityPoint2', 'NonlinearEqualityPoint3', 'NonlinearEqualityPose2', 'NonlinearEqualityPose3', 'NonlinearEqualityRot2', 'NonlinearEqualityRot3', 'NonlinearEqualitySL4', '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', 'PriorFactorSL4', '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', 'SL4', '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
|
...
|
|
@@ -144,6 +144,8 @@ class BatchFixedLagSmoother(FixedLagSmoother):
|
|
|
144
144
|
...
|
|
145
145
|
def calculateEstimateRot3(self, key: int) -> Rot3:
|
|
146
146
|
...
|
|
147
|
+
def calculateEstimateSL4(self, key: int) -> SL4:
|
|
148
|
+
...
|
|
147
149
|
def calculateEstimateSimilarity2(self, key: int) -> Similarity2:
|
|
148
150
|
...
|
|
149
151
|
def calculateEstimateSimilarity3(self, key: int) -> Similarity3:
|
|
@@ -435,6 +437,19 @@ class BetweenFactorRot3(NoiseModelFactor):
|
|
|
435
437
|
...
|
|
436
438
|
def serialize(self) -> str:
|
|
437
439
|
...
|
|
440
|
+
class BetweenFactorSL4(NoiseModelFactor):
|
|
441
|
+
def __getstate__(self) -> tuple:
|
|
442
|
+
...
|
|
443
|
+
def __init__(self, key1: int, key2: int, relativePose: SL4, noiseModel: noiseModel.Base) -> None:
|
|
444
|
+
...
|
|
445
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
446
|
+
...
|
|
447
|
+
def deserialize(self, serialized: str) -> None:
|
|
448
|
+
...
|
|
449
|
+
def measured(self) -> SL4:
|
|
450
|
+
...
|
|
451
|
+
def serialize(self) -> str:
|
|
452
|
+
...
|
|
438
453
|
class BetweenFactorSO3(NoiseModelFactor):
|
|
439
454
|
def __getstate__(self) -> tuple:
|
|
440
455
|
...
|
|
@@ -537,11 +552,6 @@ class BlockJacobiPreconditionerParameters(PreconditionerParameters):
|
|
|
537
552
|
def __init__(self) -> None:
|
|
538
553
|
...
|
|
539
554
|
class Cal3:
|
|
540
|
-
@staticmethod
|
|
541
|
-
def Dim() -> int:
|
|
542
|
-
"""
|
|
543
|
-
return DOF, dimensionality of tangent space
|
|
544
|
-
"""
|
|
545
555
|
def K(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
|
|
546
556
|
"""
|
|
547
557
|
return calibration matrix K
|
|
@@ -561,10 +571,6 @@ class Cal3:
|
|
|
561
571
|
"""
|
|
562
572
|
aspect ratio
|
|
563
573
|
"""
|
|
564
|
-
def dim(self) -> int:
|
|
565
|
-
"""
|
|
566
|
-
return DOF, dimensionality of tangent space
|
|
567
|
-
"""
|
|
568
574
|
def equals(self, K: Cal3, tol: float) -> bool:
|
|
569
575
|
"""
|
|
570
576
|
Check if equal up to specified tolerance.
|
|
@@ -712,6 +718,10 @@ class Cal3DS2_Base(Cal3):
|
|
|
712
718
|
"""
|
|
713
719
|
def deserialize(self, serialized: str) -> None:
|
|
714
720
|
...
|
|
721
|
+
def k(self) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
722
|
+
"""
|
|
723
|
+
return distortion parameter vector
|
|
724
|
+
"""
|
|
715
725
|
def k1(self) -> float:
|
|
716
726
|
"""
|
|
717
727
|
First distortion coefficient.
|
|
@@ -720,6 +730,14 @@ class Cal3DS2_Base(Cal3):
|
|
|
720
730
|
"""
|
|
721
731
|
Second distortion coefficient.
|
|
722
732
|
"""
|
|
733
|
+
def p1(self) -> float:
|
|
734
|
+
"""
|
|
735
|
+
First tangential distortion coefficient.
|
|
736
|
+
"""
|
|
737
|
+
def p2(self) -> float:
|
|
738
|
+
"""
|
|
739
|
+
Second tangential distortion coefficient.
|
|
740
|
+
"""
|
|
723
741
|
def print(self, s: str = '') -> None:
|
|
724
742
|
"""
|
|
725
743
|
print with optional string
|
|
@@ -748,6 +766,10 @@ class Cal3DS2_Base(Cal3):
|
|
|
748
766
|
|
|
749
767
|
Returns: point in (distorted) image coordinates
|
|
750
768
|
"""
|
|
769
|
+
def vector(self) -> numpy.ndarray[tuple[typing.Literal[9], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
770
|
+
"""
|
|
771
|
+
Return all parameters as a vector.
|
|
772
|
+
"""
|
|
751
773
|
class Cal3Fisheye(Cal3):
|
|
752
774
|
def __getstate__(self) -> tuple:
|
|
753
775
|
...
|
|
@@ -976,6 +998,16 @@ class Cal3_S2(Cal3):
|
|
|
976
998
|
Dcal: optional 2*5 Jacobian wrpt Cal3 parameters
|
|
977
999
|
Dp: optional 2*2 Jacobian wrpt intrinsic coordinates
|
|
978
1000
|
|
|
1001
|
+
Returns: point in intrinsic coordinates
|
|
1002
|
+
"""
|
|
1003
|
+
@typing.overload
|
|
1004
|
+
def calibrate(self, p: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
1005
|
+
"""
|
|
1006
|
+
Convert homogeneous image coordinates to intrinsic coordinates.
|
|
1007
|
+
|
|
1008
|
+
Args:
|
|
1009
|
+
p: point in image coordinates
|
|
1010
|
+
|
|
979
1011
|
Returns: point in intrinsic coordinates
|
|
980
1012
|
"""
|
|
981
1013
|
def deserialize(self, serialized: str) -> None:
|
|
@@ -1024,7 +1056,7 @@ class Cal3_S2(Cal3):
|
|
|
1024
1056
|
|
|
1025
1057
|
Returns: point in image coordinates
|
|
1026
1058
|
"""
|
|
1027
|
-
class Cal3_S2Stereo(
|
|
1059
|
+
class Cal3_S2Stereo(Cal3_S2):
|
|
1028
1060
|
@typing.overload
|
|
1029
1061
|
def __init__(self) -> None:
|
|
1030
1062
|
...
|
|
@@ -1034,12 +1066,39 @@ class Cal3_S2Stereo(Cal3):
|
|
|
1034
1066
|
@typing.overload
|
|
1035
1067
|
def __init__(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> None:
|
|
1036
1068
|
...
|
|
1069
|
+
@typing.overload
|
|
1070
|
+
def __init__(self, fov: float, w: int, h: int, b: float) -> None:
|
|
1071
|
+
...
|
|
1037
1072
|
def __repr__(self, s: str = '') -> str:
|
|
1038
1073
|
...
|
|
1039
1074
|
def baseline(self) -> float:
|
|
1040
1075
|
"""
|
|
1041
1076
|
return baseline
|
|
1042
1077
|
"""
|
|
1078
|
+
@typing.overload
|
|
1079
|
+
def calibrate(self, p: numpy.ndarray[tuple[typing.Literal[2], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[2], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
1080
|
+
"""
|
|
1081
|
+
Convert image coordinates uv to intrinsic coordinates xy.
|
|
1082
|
+
|
|
1083
|
+
Args:
|
|
1084
|
+
p: point in image coordinates
|
|
1085
|
+
Dcal: optional 2*6 Jacobian wrpt Cal3_S2Stereo parameters
|
|
1086
|
+
Dp: optional 2*2 Jacobian wrpt intrinsic coordinates
|
|
1087
|
+
|
|
1088
|
+
Returns: point in intrinsic coordinates
|
|
1089
|
+
"""
|
|
1090
|
+
@typing.overload
|
|
1091
|
+
def calibrate(self, p: numpy.ndarray[tuple[typing.Literal[2], typing.Literal[1]], numpy.dtype[numpy.float64]], Dcal: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], Dp: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[2], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
1092
|
+
"""
|
|
1093
|
+
Convert image coordinates uv to intrinsic coordinates xy.
|
|
1094
|
+
|
|
1095
|
+
Args:
|
|
1096
|
+
p: point in image coordinates
|
|
1097
|
+
Dcal: optional 2*6 Jacobian wrpt Cal3_S2Stereo parameters
|
|
1098
|
+
Dp: optional 2*2 Jacobian wrpt intrinsic coordinates
|
|
1099
|
+
|
|
1100
|
+
Returns: point in intrinsic coordinates
|
|
1101
|
+
"""
|
|
1043
1102
|
def equals(self, other: Cal3_S2Stereo, tol: float) -> bool:
|
|
1044
1103
|
"""
|
|
1045
1104
|
Check if equal up to specified tolerance.
|
|
@@ -1056,6 +1115,28 @@ class Cal3_S2Stereo(Cal3):
|
|
|
1056
1115
|
"""
|
|
1057
1116
|
Given 6-dim tangent vector, create new calibration.
|
|
1058
1117
|
"""
|
|
1118
|
+
@typing.overload
|
|
1119
|
+
def uncalibrate(self, p: numpy.ndarray[tuple[typing.Literal[2], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[2], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
1120
|
+
"""
|
|
1121
|
+
Convert intrinsic coordinates xy to image coordinates uv, fixed derivaitves.
|
|
1122
|
+
|
|
1123
|
+
Args:
|
|
1124
|
+
p: point in intrinsic coordinates
|
|
1125
|
+
|
|
1126
|
+
Returns: point in image coordinates
|
|
1127
|
+
"""
|
|
1128
|
+
@typing.overload
|
|
1129
|
+
def uncalibrate(self, p: numpy.ndarray[tuple[typing.Literal[2], typing.Literal[1]], numpy.dtype[numpy.float64]], Dcal: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], Dp: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[2], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
1130
|
+
"""
|
|
1131
|
+
Convert intrinsic coordinates xy to image coordinates uv, fixed derivaitves.
|
|
1132
|
+
|
|
1133
|
+
Args:
|
|
1134
|
+
p: point in intrinsic coordinates
|
|
1135
|
+
Dcal: optional 2*6 Jacobian wrpt Cal3_S2Stereo parameters
|
|
1136
|
+
Dp: optional 2*2 Jacobian wrpt intrinsic coordinates
|
|
1137
|
+
|
|
1138
|
+
Returns: point in image coordinates
|
|
1139
|
+
"""
|
|
1059
1140
|
def vector(self) -> numpy.ndarray[tuple[typing.Literal[6], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
1060
1141
|
"""
|
|
1061
1142
|
vectorized form (column-wise)
|
|
@@ -1847,9 +1928,7 @@ class CombinedImuFactor(NoiseModelFactor):
|
|
|
1847
1928
|
def evaluateError(self, pose_i: Pose3, vel_i: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], pose_j: Pose3, vel_j: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], bias_i: imuBias.ConstantBias, bias_j: imuBias.ConstantBias) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
1848
1929
|
...
|
|
1849
1930
|
def preintegratedMeasurements(self) -> PreintegratedCombinedMeasurements:
|
|
1850
|
-
|
|
1851
|
-
Access the preintegrated measurements.
|
|
1852
|
-
"""
|
|
1931
|
+
...
|
|
1853
1932
|
def serialize(self) -> str:
|
|
1854
1933
|
...
|
|
1855
1934
|
class ComponentDerivativeFactorChebyshev1Basis(NoiseModelFactor):
|
|
@@ -2864,6 +2943,21 @@ class DiscreteMarginals:
|
|
|
2864
2943
|
"""
|
|
2865
2944
|
def print(self, s: str = '', keyFormatter: typing.Callable[[int], str] = ...) -> None:
|
|
2866
2945
|
...
|
|
2946
|
+
class DiscreteScenario(Scenario):
|
|
2947
|
+
@staticmethod
|
|
2948
|
+
def FromCSV(csv_filepath: str) -> DiscreteScenario:
|
|
2949
|
+
"""
|
|
2950
|
+
Named constructor to create a scenario from a CSV file.
|
|
2951
|
+
|
|
2952
|
+
The CSV file should contain a header row followed by data rows. All timestamps will be normalized so that the first timestamp in the file corresponds to t=0 for the scenario. Expected CSV format (16 columns): timestamp,px,py,pz,qw,qx,qy,qz,vx,vy,vz,omegax,omegay,omegaz,ax,ay,az
|
|
2953
|
+
|
|
2954
|
+
Args:
|
|
2955
|
+
csv_filepath: Path to the CSV file.
|
|
2956
|
+
|
|
2957
|
+
Returns: A constructed DiscreteScenario.
|
|
2958
|
+
"""
|
|
2959
|
+
def __init__(self, poses: dict[float, Pose3], angularVelocities_b: dict[float, numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]], velocities_n: dict[float, numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]], accelerations_n: dict[float, numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]]) -> None:
|
|
2960
|
+
...
|
|
2867
2961
|
class DiscreteSearch:
|
|
2868
2962
|
@staticmethod
|
|
2869
2963
|
def FromFactorGraph(factorGraph: DiscreteFactorGraph, ordering: Ordering, buildJunctionTree: bool = False) -> DiscreteSearch:
|
|
@@ -3390,6 +3484,15 @@ class ExtendedKalmanFilterRot3:
|
|
|
3390
3484
|
...
|
|
3391
3485
|
def update(self, measurementFactor: NoiseModelFactor) -> Rot3:
|
|
3392
3486
|
...
|
|
3487
|
+
class ExtendedKalmanFilterSL4:
|
|
3488
|
+
def Density(self) -> JacobianFactor:
|
|
3489
|
+
...
|
|
3490
|
+
def __init__(self, key_initial: int, x_initial: SL4, P_initial: noiseModel.Gaussian) -> None:
|
|
3491
|
+
...
|
|
3492
|
+
def predict(self, motionFactor: NoiseModelFactor) -> SL4:
|
|
3493
|
+
...
|
|
3494
|
+
def update(self, measurementFactor: NoiseModelFactor) -> SL4:
|
|
3495
|
+
...
|
|
3393
3496
|
class ExtendedKalmanFilterSimilarity2:
|
|
3394
3497
|
def Density(self) -> JacobianFactor:
|
|
3395
3498
|
...
|
|
@@ -3550,6 +3653,15 @@ class FourierBasis:
|
|
|
3550
3653
|
@staticmethod
|
|
3551
3654
|
def WeightMatrix(N: int, x: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]:
|
|
3552
3655
|
...
|
|
3656
|
+
class FrobeniusBetweenFactorGal3(NoiseModelFactor):
|
|
3657
|
+
@typing.overload
|
|
3658
|
+
def __init__(self, j1: int, j2: int, T12: Gal3) -> None:
|
|
3659
|
+
...
|
|
3660
|
+
@typing.overload
|
|
3661
|
+
def __init__(self, key1: int, key2: int, T12: Gal3, model: noiseModel.Base) -> None:
|
|
3662
|
+
...
|
|
3663
|
+
def evaluateError(self, T1: Gal3, T2: Gal3) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3664
|
+
...
|
|
3553
3665
|
class FrobeniusBetweenFactorPose2(NoiseModelFactor):
|
|
3554
3666
|
@typing.overload
|
|
3555
3667
|
def __init__(self, j1: int, j2: int, T12: Pose2) -> None:
|
|
@@ -3604,6 +3716,33 @@ class FrobeniusBetweenFactorSO4(NoiseModelFactor):
|
|
|
3604
3716
|
...
|
|
3605
3717
|
def evaluateError(self, T1: SO4, T2: SO4) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3606
3718
|
...
|
|
3719
|
+
class FrobeniusBetweenFactorSimilarity2(NoiseModelFactor):
|
|
3720
|
+
@typing.overload
|
|
3721
|
+
def __init__(self, j1: int, j2: int, T12: Similarity2) -> None:
|
|
3722
|
+
...
|
|
3723
|
+
@typing.overload
|
|
3724
|
+
def __init__(self, key1: int, key2: int, T12: Similarity2, model: noiseModel.Base) -> None:
|
|
3725
|
+
...
|
|
3726
|
+
def evaluateError(self, T1: Similarity2, T2: Similarity2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3727
|
+
...
|
|
3728
|
+
class FrobeniusBetweenFactorSimilarity3(NoiseModelFactor):
|
|
3729
|
+
@typing.overload
|
|
3730
|
+
def __init__(self, j1: int, j2: int, T12: Similarity3) -> None:
|
|
3731
|
+
...
|
|
3732
|
+
@typing.overload
|
|
3733
|
+
def __init__(self, key1: int, key2: int, T12: Similarity3, model: noiseModel.Base) -> None:
|
|
3734
|
+
...
|
|
3735
|
+
def evaluateError(self, T1: Similarity3, T2: Similarity3) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3736
|
+
...
|
|
3737
|
+
class FrobeniusFactorGal3(NoiseModelFactor):
|
|
3738
|
+
@typing.overload
|
|
3739
|
+
def __init__(self, key1: int, key2: int) -> None:
|
|
3740
|
+
...
|
|
3741
|
+
@typing.overload
|
|
3742
|
+
def __init__(self, j1: int, j2: int, model: noiseModel.Base) -> None:
|
|
3743
|
+
...
|
|
3744
|
+
def evaluateError(self, T1: Gal3, T2: Gal3) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3745
|
+
...
|
|
3607
3746
|
class FrobeniusFactorPose2(NoiseModelFactor):
|
|
3608
3747
|
@typing.overload
|
|
3609
3748
|
def __init__(self, key1: int, key2: int) -> None:
|
|
@@ -3658,6 +3797,29 @@ class FrobeniusFactorSO4(NoiseModelFactor):
|
|
|
3658
3797
|
...
|
|
3659
3798
|
def evaluateError(self, T1: SO4, T2: SO4) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3660
3799
|
...
|
|
3800
|
+
class FrobeniusFactorSimilarity2(NoiseModelFactor):
|
|
3801
|
+
@typing.overload
|
|
3802
|
+
def __init__(self, key1: int, key2: int) -> None:
|
|
3803
|
+
...
|
|
3804
|
+
@typing.overload
|
|
3805
|
+
def __init__(self, j1: int, j2: int, model: noiseModel.Base) -> None:
|
|
3806
|
+
...
|
|
3807
|
+
def evaluateError(self, T1: Similarity2, T2: Similarity2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3808
|
+
...
|
|
3809
|
+
class FrobeniusFactorSimilarity3(NoiseModelFactor):
|
|
3810
|
+
@typing.overload
|
|
3811
|
+
def __init__(self, key1: int, key2: int) -> None:
|
|
3812
|
+
...
|
|
3813
|
+
@typing.overload
|
|
3814
|
+
def __init__(self, j1: int, j2: int, model: noiseModel.Base) -> None:
|
|
3815
|
+
...
|
|
3816
|
+
def evaluateError(self, T1: Similarity3, T2: Similarity3) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3817
|
+
...
|
|
3818
|
+
class FrobeniusPriorGal3(NoiseModelFactor):
|
|
3819
|
+
def __init__(self, j: int, M: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], model: noiseModel.Base) -> None:
|
|
3820
|
+
...
|
|
3821
|
+
def evaluateError(self, g: Gal3) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3822
|
+
...
|
|
3661
3823
|
class FrobeniusPriorPose2(NoiseModelFactor):
|
|
3662
3824
|
def __init__(self, j: int, M: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], model: noiseModel.Base) -> None:
|
|
3663
3825
|
...
|
|
@@ -3688,6 +3850,16 @@ class FrobeniusPriorSO4(NoiseModelFactor):
|
|
|
3688
3850
|
...
|
|
3689
3851
|
def evaluateError(self, g: SO4) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3690
3852
|
...
|
|
3853
|
+
class FrobeniusPriorSimilarity2(NoiseModelFactor):
|
|
3854
|
+
def __init__(self, j: int, M: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], model: noiseModel.Base) -> None:
|
|
3855
|
+
...
|
|
3856
|
+
def evaluateError(self, g: Similarity2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3857
|
+
...
|
|
3858
|
+
class FrobeniusPriorSimilarity3(NoiseModelFactor):
|
|
3859
|
+
def __init__(self, j: int, M: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], model: noiseModel.Base) -> None:
|
|
3860
|
+
...
|
|
3861
|
+
def evaluateError(self, g: Similarity3) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
3862
|
+
...
|
|
3691
3863
|
class FundamentalMatrix:
|
|
3692
3864
|
@staticmethod
|
|
3693
3865
|
def Dim() -> int:
|
|
@@ -3891,6 +4063,87 @@ class GPSFactorArmCalib(NonlinearFactor):
|
|
|
3891
4063
|
"""
|
|
3892
4064
|
def serialize(self) -> str:
|
|
3893
4065
|
...
|
|
4066
|
+
class Gal3:
|
|
4067
|
+
@staticmethod
|
|
4068
|
+
def Expmap(xi: numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Gal3:
|
|
4069
|
+
"""
|
|
4070
|
+
Exponential map at identity: tangent vector xi -> manifold element g.
|
|
4071
|
+
"""
|
|
4072
|
+
@staticmethod
|
|
4073
|
+
def Identity() -> Gal3:
|
|
4074
|
+
"""
|
|
4075
|
+
Return the identity element.
|
|
4076
|
+
"""
|
|
4077
|
+
@staticmethod
|
|
4078
|
+
def Logmap(g: Gal3) -> numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
4079
|
+
"""
|
|
4080
|
+
Logarithmic map at identity: manifold element g -> tangent vector xi.
|
|
4081
|
+
"""
|
|
4082
|
+
@typing.overload
|
|
4083
|
+
def __init__(self) -> None:
|
|
4084
|
+
...
|
|
4085
|
+
@typing.overload
|
|
4086
|
+
def __init__(self, R: Rot3, r: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]], v: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]], t: float) -> None:
|
|
4087
|
+
...
|
|
4088
|
+
@typing.overload
|
|
4089
|
+
def __init__(self, M: numpy.ndarray[tuple[typing.Literal[5], typing.Literal[5]], numpy.dtype[numpy.float64]]) -> None:
|
|
4090
|
+
...
|
|
4091
|
+
def __mul__(self, arg0: Gal3) -> Gal3:
|
|
4092
|
+
...
|
|
4093
|
+
def __repr__(self, s: str = '') -> str:
|
|
4094
|
+
...
|
|
4095
|
+
def between(self, other: Gal3) -> Gal3:
|
|
4096
|
+
...
|
|
4097
|
+
def compose(self, other: Gal3) -> Gal3:
|
|
4098
|
+
...
|
|
4099
|
+
def equals(self, other: Gal3, tol: float) -> bool:
|
|
4100
|
+
"""
|
|
4101
|
+
Check equality within tolerance.
|
|
4102
|
+
"""
|
|
4103
|
+
def expmap(self, xi: numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Gal3:
|
|
4104
|
+
...
|
|
4105
|
+
def inverse(self) -> Gal3:
|
|
4106
|
+
"""
|
|
4107
|
+
Return the inverse of this element.
|
|
4108
|
+
"""
|
|
4109
|
+
def localCoordinates(self, g: Gal3) -> numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
4110
|
+
"""
|
|
4111
|
+
localCoordinates as required by manifold concept: finds tangent vector between *this and g
|
|
4112
|
+
"""
|
|
4113
|
+
def logmap(self, g: Gal3) -> numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
4114
|
+
"""
|
|
4115
|
+
logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
4116
|
+
"""
|
|
4117
|
+
def matrix(self) -> numpy.ndarray[tuple[typing.Literal[5], typing.Literal[5]], numpy.dtype[numpy.float64]]:
|
|
4118
|
+
"""
|
|
4119
|
+
Return 5x5 homogeneous matrix representation.
|
|
4120
|
+
"""
|
|
4121
|
+
def print(self, s: str = '') -> None:
|
|
4122
|
+
"""
|
|
4123
|
+
Print with optional string prefix.
|
|
4124
|
+
"""
|
|
4125
|
+
def retract(self, xi: numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Gal3:
|
|
4126
|
+
...
|
|
4127
|
+
def rotation(self) -> Rot3:
|
|
4128
|
+
"""
|
|
4129
|
+
Access rotation component (Rot3)
|
|
4130
|
+
"""
|
|
4131
|
+
def time(self) -> float:
|
|
4132
|
+
"""
|
|
4133
|
+
Access time component (double)
|
|
4134
|
+
"""
|
|
4135
|
+
def translation(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
4136
|
+
"""
|
|
4137
|
+
Access translation component (Point3)
|
|
4138
|
+
"""
|
|
4139
|
+
def vec(self) -> numpy.ndarray[tuple[typing.Literal[25], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
4140
|
+
"""
|
|
4141
|
+
Vectorize 5x5 matrix into a 25-dim vector.
|
|
4142
|
+
"""
|
|
4143
|
+
def velocity(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
4144
|
+
"""
|
|
4145
|
+
Access velocity component (Vector3)
|
|
4146
|
+
"""
|
|
3894
4147
|
class GaussNewtonOptimizer(NonlinearOptimizer):
|
|
3895
4148
|
@typing.overload
|
|
3896
4149
|
def __init__(self, graph: NonlinearFactorGraph, initialValues: ...) -> None:
|
|
@@ -6723,6 +6976,8 @@ class ISAM2:
|
|
|
6723
6976
|
...
|
|
6724
6977
|
def calculateEstimateRot3(self, key: int) -> Rot3:
|
|
6725
6978
|
...
|
|
6979
|
+
def calculateEstimateSL4(self, key: int) -> SL4:
|
|
6980
|
+
...
|
|
6726
6981
|
def calculateEstimateSimilarity2(self, key: int) -> Similarity2:
|
|
6727
6982
|
...
|
|
6728
6983
|
def calculateEstimateSimilarity3(self, key: int) -> Similarity3:
|
|
@@ -7027,9 +7282,7 @@ class ImuFactor(NonlinearFactor):
|
|
|
7027
7282
|
def evaluateError(self, pose_i: Pose3, vel_i: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], pose_j: Pose3, vel_j: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], bias: imuBias.ConstantBias) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
7028
7283
|
...
|
|
7029
7284
|
def preintegratedMeasurements(self) -> PreintegratedImuMeasurements:
|
|
7030
|
-
|
|
7031
|
-
Access the preintegrated measurements.
|
|
7032
|
-
"""
|
|
7285
|
+
...
|
|
7033
7286
|
def serialize(self) -> str:
|
|
7034
7287
|
...
|
|
7035
7288
|
class ImuFactor2(NonlinearFactor):
|
|
@@ -7048,9 +7301,7 @@ class ImuFactor2(NonlinearFactor):
|
|
|
7048
7301
|
def evaluateError(self, state_i: NavState, state_j: NavState, bias_i: imuBias.ConstantBias) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
7049
7302
|
...
|
|
7050
7303
|
def preintegratedMeasurements(self) -> PreintegratedImuMeasurements:
|
|
7051
|
-
|
|
7052
|
-
Access the preintegrated measurements.
|
|
7053
|
-
"""
|
|
7304
|
+
...
|
|
7054
7305
|
def serialize(self) -> str:
|
|
7055
7306
|
...
|
|
7056
7307
|
class IncrementalFixedLagSmoother(FixedLagSmoother):
|
|
@@ -8396,6 +8647,11 @@ class NonlinearEquality2Rot3(NoiseModelFactor):
|
|
|
8396
8647
|
...
|
|
8397
8648
|
def evaluateError(self, x1: Rot3, x2: Rot3) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
8398
8649
|
...
|
|
8650
|
+
class NonlinearEquality2SL4(NoiseModelFactor):
|
|
8651
|
+
def __init__(self, key1: int, key2: int, mu: float = 10000.0) -> None:
|
|
8652
|
+
...
|
|
8653
|
+
def evaluateError(self, x1: SL4, x2: SL4) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
8654
|
+
...
|
|
8399
8655
|
class NonlinearEquality2SO3(NoiseModelFactor):
|
|
8400
8656
|
def __init__(self, key1: int, key2: int, mu: float = 10000.0) -> None:
|
|
8401
8657
|
...
|
|
@@ -8621,6 +8877,21 @@ class NonlinearEqualityRot3(NoiseModelFactor):
|
|
|
8621
8877
|
...
|
|
8622
8878
|
def serialize(self) -> str:
|
|
8623
8879
|
...
|
|
8880
|
+
class NonlinearEqualitySL4(NoiseModelFactor):
|
|
8881
|
+
def __getstate__(self) -> tuple:
|
|
8882
|
+
...
|
|
8883
|
+
@typing.overload
|
|
8884
|
+
def __init__(self, j: int, feasible: SL4) -> None:
|
|
8885
|
+
...
|
|
8886
|
+
@typing.overload
|
|
8887
|
+
def __init__(self, j: int, feasible: SL4, error_gain: float) -> None:
|
|
8888
|
+
...
|
|
8889
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
8890
|
+
...
|
|
8891
|
+
def deserialize(self, serialized: str) -> None:
|
|
8892
|
+
...
|
|
8893
|
+
def serialize(self) -> str:
|
|
8894
|
+
...
|
|
8624
8895
|
class NonlinearEqualitySO3(NoiseModelFactor):
|
|
8625
8896
|
def __getstate__(self) -> tuple:
|
|
8626
8897
|
...
|
|
@@ -8817,6 +9088,8 @@ class NonlinearFactorGraph:
|
|
|
8817
9088
|
...
|
|
8818
9089
|
def addPriorRot3(self, key: int, prior: Rot3, noiseModel: noiseModel.Base) -> None:
|
|
8819
9090
|
...
|
|
9091
|
+
def addPriorSL4(self, key: int, prior: SL4, noiseModel: noiseModel.Base) -> None:
|
|
9092
|
+
...
|
|
8820
9093
|
def addPriorSO3(self, key: int, prior: SO3, noiseModel: noiseModel.Base) -> None:
|
|
8821
9094
|
...
|
|
8822
9095
|
def addPriorSO4(self, key: int, prior: SO4, noiseModel: noiseModel.Base) -> None:
|
|
@@ -10501,7 +10774,9 @@ class Pose2:
|
|
|
10501
10774
|
logmap with optional derivatives
|
|
10502
10775
|
"""
|
|
10503
10776
|
def matrix(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
|
|
10504
|
-
|
|
10777
|
+
"""
|
|
10778
|
+
return transformation matrix
|
|
10779
|
+
"""
|
|
10505
10780
|
def print(self, s: str = '') -> None:
|
|
10506
10781
|
"""
|
|
10507
10782
|
print with optional string
|
|
@@ -10760,7 +11035,7 @@ class Pose3:
|
|
|
10760
11035
|
@typing.overload
|
|
10761
11036
|
def inverse(self) -> Pose3:
|
|
10762
11037
|
"""
|
|
10763
|
-
inverse transformation
|
|
11038
|
+
inverse transformation
|
|
10764
11039
|
"""
|
|
10765
11040
|
@typing.overload
|
|
10766
11041
|
def inverse(self, H: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> Pose3:
|
|
@@ -11136,9 +11411,7 @@ class PreintegratedCombinedMeasurements:
|
|
|
11136
11411
|
def deserialize(self, serialized: str) -> None:
|
|
11137
11412
|
...
|
|
11138
11413
|
def equals(self, expected: PreintegratedCombinedMeasurements, tol: float) -> bool:
|
|
11139
|
-
|
|
11140
|
-
equals
|
|
11141
|
-
"""
|
|
11414
|
+
...
|
|
11142
11415
|
def integrateMeasurement(self, measuredAcc: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], measuredOmega: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], deltaT: float) -> None:
|
|
11143
11416
|
...
|
|
11144
11417
|
def predict(self, state_i: NavState, bias: imuBias.ConstantBias) -> NavState:
|
|
@@ -11148,9 +11421,7 @@ class PreintegratedCombinedMeasurements:
|
|
|
11148
11421
|
def print(self, s: str = 'Preintegrated Measurements:') -> None:
|
|
11149
11422
|
...
|
|
11150
11423
|
def resetIntegration(self) -> None:
|
|
11151
|
-
|
|
11152
|
-
Re-initializePreintegratedCombinedMeasurements.
|
|
11153
|
-
"""
|
|
11424
|
+
...
|
|
11154
11425
|
def resetIntegrationAndSetBias(self, biasHat: imuBias.ConstantBias) -> None:
|
|
11155
11426
|
...
|
|
11156
11427
|
def serialize(self) -> str:
|
|
@@ -11183,27 +11454,19 @@ class PreintegratedImuMeasurements:
|
|
|
11183
11454
|
def deserialize(self, serialized: str) -> None:
|
|
11184
11455
|
...
|
|
11185
11456
|
def equals(self, expected: PreintegratedImuMeasurements, tol: float) -> bool:
|
|
11186
|
-
|
|
11187
|
-
equals
|
|
11188
|
-
"""
|
|
11457
|
+
...
|
|
11189
11458
|
def integrateMeasurement(self, measuredAcc: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], measuredOmega: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], deltaT: float) -> None:
|
|
11190
11459
|
...
|
|
11191
11460
|
def predict(self, state_i: NavState, bias: imuBias.ConstantBias) -> NavState:
|
|
11192
11461
|
...
|
|
11193
11462
|
def preintMeasCov(self) -> numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]:
|
|
11194
|
-
|
|
11195
|
-
Return pre-integrated measurement covariance.
|
|
11196
|
-
"""
|
|
11463
|
+
...
|
|
11197
11464
|
def preintegrated(self) -> numpy.ndarray[tuple[typing.Literal[9], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
11198
11465
|
...
|
|
11199
11466
|
def print(self, s: str = '') -> None:
|
|
11200
|
-
|
|
11201
|
-
print
|
|
11202
|
-
"""
|
|
11467
|
+
...
|
|
11203
11468
|
def resetIntegration(self) -> None:
|
|
11204
|
-
|
|
11205
|
-
Re-initializePreintegratedImuMeasurements.
|
|
11206
|
-
"""
|
|
11469
|
+
...
|
|
11207
11470
|
def resetIntegrationAndSetBias(self, biasHat: imuBias.ConstantBias) -> None:
|
|
11208
11471
|
...
|
|
11209
11472
|
def serialize(self) -> str:
|
|
@@ -11315,8 +11578,6 @@ class PreintegrationCombinedParams(PreintegrationParams):
|
|
|
11315
11578
|
...
|
|
11316
11579
|
def getBiasAccCovariance(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
|
|
11317
11580
|
...
|
|
11318
|
-
def getBiasAccOmegaInit(self) -> numpy.ndarray[tuple[typing.Literal[6], typing.Literal[6]], numpy.dtype[numpy.float64]]:
|
|
11319
|
-
...
|
|
11320
11581
|
def getBiasOmegaCovariance(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
|
|
11321
11582
|
...
|
|
11322
11583
|
def print(self, s: str = '') -> None:
|
|
@@ -11325,8 +11586,6 @@ class PreintegrationCombinedParams(PreintegrationParams):
|
|
|
11325
11586
|
...
|
|
11326
11587
|
def setBiasAccCovariance(self, cov: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> None:
|
|
11327
11588
|
...
|
|
11328
|
-
def setBiasAccOmegaInit(self, cov: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> None:
|
|
11329
|
-
...
|
|
11330
11589
|
def setBiasOmegaCovariance(self, cov: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> None:
|
|
11331
11590
|
...
|
|
11332
11591
|
class PreintegrationParams(PreintegratedRotationParams):
|
|
@@ -11622,6 +11881,19 @@ class PriorFactorRot3(NoiseModelFactor):
|
|
|
11622
11881
|
...
|
|
11623
11882
|
def serialize(self) -> str:
|
|
11624
11883
|
...
|
|
11884
|
+
class PriorFactorSL4(NoiseModelFactor):
|
|
11885
|
+
def __getstate__(self) -> tuple:
|
|
11886
|
+
...
|
|
11887
|
+
def __init__(self, key: int, prior: SL4, noiseModel: noiseModel.Base) -> None:
|
|
11888
|
+
...
|
|
11889
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
11890
|
+
...
|
|
11891
|
+
def deserialize(self, serialized: str) -> None:
|
|
11892
|
+
...
|
|
11893
|
+
def prior(self) -> SL4:
|
|
11894
|
+
...
|
|
11895
|
+
def serialize(self) -> str:
|
|
11896
|
+
...
|
|
11625
11897
|
class PriorFactorSO3(NoiseModelFactor):
|
|
11626
11898
|
def __getstate__(self) -> tuple:
|
|
11627
11899
|
...
|
|
@@ -12397,6 +12669,86 @@ class RotateFactor(NoiseModelFactor):
|
|
|
12397
12669
|
"""
|
|
12398
12670
|
print
|
|
12399
12671
|
"""
|
|
12672
|
+
class SL4:
|
|
12673
|
+
@staticmethod
|
|
12674
|
+
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SL4:
|
|
12675
|
+
...
|
|
12676
|
+
@staticmethod
|
|
12677
|
+
def Hat(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[4]], numpy.dtype[numpy.float64]]:
|
|
12678
|
+
...
|
|
12679
|
+
@staticmethod
|
|
12680
|
+
def Identity() -> SL4:
|
|
12681
|
+
"""
|
|
12682
|
+
identity for group operation
|
|
12683
|
+
"""
|
|
12684
|
+
@staticmethod
|
|
12685
|
+
def Logmap(g: SL4) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12686
|
+
...
|
|
12687
|
+
@staticmethod
|
|
12688
|
+
def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12689
|
+
...
|
|
12690
|
+
def __getstate__(self) -> tuple:
|
|
12691
|
+
...
|
|
12692
|
+
@typing.overload
|
|
12693
|
+
def __init__(self) -> None:
|
|
12694
|
+
...
|
|
12695
|
+
@typing.overload
|
|
12696
|
+
def __init__(self, T: numpy.ndarray[tuple[typing.Literal[4], typing.Literal[4]], numpy.dtype[numpy.float64]]) -> None:
|
|
12697
|
+
...
|
|
12698
|
+
def __mul__(self, arg0: SL4) -> SL4:
|
|
12699
|
+
...
|
|
12700
|
+
def __repr__(self, s: str = '') -> str:
|
|
12701
|
+
...
|
|
12702
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
12703
|
+
...
|
|
12704
|
+
@typing.overload
|
|
12705
|
+
def between(self, sl4: SL4) -> SL4:
|
|
12706
|
+
...
|
|
12707
|
+
@typing.overload
|
|
12708
|
+
def between(self, sl4: SL4, H1: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], H2: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SL4:
|
|
12709
|
+
...
|
|
12710
|
+
@typing.overload
|
|
12711
|
+
def compose(self, sl4: SL4) -> SL4:
|
|
12712
|
+
...
|
|
12713
|
+
@typing.overload
|
|
12714
|
+
def compose(self, sl4: SL4, H1: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], H2: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SL4:
|
|
12715
|
+
...
|
|
12716
|
+
def deserialize(self, serialized: str) -> None:
|
|
12717
|
+
...
|
|
12718
|
+
def equals(self, sl4: SL4, tol: float) -> bool:
|
|
12719
|
+
"""
|
|
12720
|
+
assert equality up to a tolerance
|
|
12721
|
+
"""
|
|
12722
|
+
def expmap(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SL4:
|
|
12723
|
+
"""
|
|
12724
|
+
expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
12725
|
+
"""
|
|
12726
|
+
@typing.overload
|
|
12727
|
+
def inverse(self) -> SL4:
|
|
12728
|
+
"""
|
|
12729
|
+
inverse transformation
|
|
12730
|
+
"""
|
|
12731
|
+
@typing.overload
|
|
12732
|
+
def inverse(self, H: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SL4:
|
|
12733
|
+
...
|
|
12734
|
+
def localCoordinates(self, g: SL4, Horigin: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], Hp2: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[15], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12735
|
+
...
|
|
12736
|
+
def logmap(self, g: SL4) -> numpy.ndarray[tuple[typing.Literal[15], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12737
|
+
"""
|
|
12738
|
+
logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
12739
|
+
"""
|
|
12740
|
+
def matrix(self) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[4]], numpy.dtype[numpy.float64]]:
|
|
12741
|
+
"""
|
|
12742
|
+
convert to 4*4 matrix
|
|
12743
|
+
"""
|
|
12744
|
+
def print(self, s: str = '') -> None:
|
|
12745
|
+
"""
|
|
12746
|
+
print with optional string
|
|
12747
|
+
"""
|
|
12748
|
+
def retract(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], Horigin: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], Hv: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SL4:
|
|
12749
|
+
...
|
|
12750
|
+
def serialize(self) -> str:
|
|
12751
|
+
...
|
|
12400
12752
|
class SO3:
|
|
12401
12753
|
@staticmethod
|
|
12402
12754
|
def AxisAngle(axis: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], theta: float) -> SO3:
|
|
@@ -13159,6 +13511,11 @@ class Similarity2:
|
|
|
13159
13511
|
Each pair is of the form (aTi, bTi). Given a list of pairs in frame a, and a list of pairs in frame b, Align() will compute the best-fit Similarity2 aSb transformation to align them. First, the rotation aRb will be computed as the average (Karcher mean) of many estimates aRb (from each pair). Afterwards, the scale factor will be computed using the algorithm described here: http://www5.informatik.uni-erlangen.de/Forschung/Publikationen/2005/Zinsser05-PSR.pdf
|
|
13160
13512
|
"""
|
|
13161
13513
|
@staticmethod
|
|
13514
|
+
def Dim() -> int:
|
|
13515
|
+
"""
|
|
13516
|
+
Dimensionality of tangent space = 4 DOF - used to autodetect sizes.
|
|
13517
|
+
"""
|
|
13518
|
+
@staticmethod
|
|
13162
13519
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity2:
|
|
13163
13520
|
"""
|
|
13164
13521
|
Exponential map at the identity.
|
|
@@ -13169,6 +13526,11 @@ class Similarity2:
|
|
|
13169
13526
|
Hat maps from tangent vector to Lie algebra.
|
|
13170
13527
|
"""
|
|
13171
13528
|
@staticmethod
|
|
13529
|
+
def Identity() -> Similarity2:
|
|
13530
|
+
"""
|
|
13531
|
+
Return an identity transform.
|
|
13532
|
+
"""
|
|
13533
|
+
@staticmethod
|
|
13172
13534
|
def Logmap(S: Similarity2) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
13173
13535
|
"""
|
|
13174
13536
|
Log map at the identity$ [t_x, t_y, \\delta, \\lambda] $.
|
|
@@ -13193,8 +13555,18 @@ class Similarity2:
|
|
|
13193
13555
|
@typing.overload
|
|
13194
13556
|
def __init__(self, T: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> None:
|
|
13195
13557
|
...
|
|
13558
|
+
def __mul__(self, arg0: Similarity2) -> Similarity2:
|
|
13559
|
+
...
|
|
13196
13560
|
def __repr__(self, s: str = '') -> str:
|
|
13197
13561
|
...
|
|
13562
|
+
def between(self, other: Similarity2) -> Similarity2:
|
|
13563
|
+
...
|
|
13564
|
+
def compose(self, other: Similarity2) -> Similarity2:
|
|
13565
|
+
...
|
|
13566
|
+
def dim(self) -> int:
|
|
13567
|
+
"""
|
|
13568
|
+
Dimensionality of tangent space = 4 DOF.
|
|
13569
|
+
"""
|
|
13198
13570
|
def equals(self, sim: Similarity2, tol: float) -> bool:
|
|
13199
13571
|
"""
|
|
13200
13572
|
Compare with tolerance.
|
|
@@ -13203,18 +13575,28 @@ class Similarity2:
|
|
|
13203
13575
|
"""
|
|
13204
13576
|
expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
13205
13577
|
"""
|
|
13578
|
+
def inverse(self) -> Similarity2:
|
|
13579
|
+
"""
|
|
13580
|
+
Return the inverse.
|
|
13581
|
+
"""
|
|
13582
|
+
def localCoordinates(self, t2: Similarity2) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
13583
|
+
...
|
|
13206
13584
|
def logmap(self, g: Similarity2) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
13207
13585
|
"""
|
|
13208
13586
|
logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
13209
13587
|
"""
|
|
13210
13588
|
def matrix(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
|
|
13211
13589
|
"""
|
|
13212
|
-
Calculate
|
|
13590
|
+
Calculate 3*3 matrix group equivalent.
|
|
13213
13591
|
"""
|
|
13214
13592
|
def print(self, s: str = '') -> None:
|
|
13215
13593
|
"""
|
|
13216
13594
|
Print with optional string.
|
|
13217
13595
|
"""
|
|
13596
|
+
def retract(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity2:
|
|
13597
|
+
"""
|
|
13598
|
+
retract as required by manifold concept: applies v at *this
|
|
13599
|
+
"""
|
|
13218
13600
|
def rotation(self) -> Rot2:
|
|
13219
13601
|
"""
|
|
13220
13602
|
Return a GTSAM rotation.
|
|
@@ -13255,6 +13637,11 @@ class Similarity3:
|
|
|
13255
13637
|
Each pair is of the form (aTi, bTi). Given a list of pairs in frame a, and a list of pairs in frame b, Align() will compute the best-fit Similarity3 aSb transformation to align them. First, the rotation aRb will be computed as the average (Karcher mean) of many estimates aRb (from each pair). Afterwards, the scale factor will be computed using the algorithm described here: http://www5.informatik.uni-erlangen.de/Forschung/Publikationen/2005/Zinsser05-PSR.pdf
|
|
13256
13638
|
"""
|
|
13257
13639
|
@staticmethod
|
|
13640
|
+
def Dim() -> int:
|
|
13641
|
+
"""
|
|
13642
|
+
Dimensionality of tangent space = 7 DOF - used to autodetect sizes.
|
|
13643
|
+
"""
|
|
13644
|
+
@staticmethod
|
|
13258
13645
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity3:
|
|
13259
13646
|
"""
|
|
13260
13647
|
Exponential map at the identity.
|
|
@@ -13270,6 +13657,11 @@ class Similarity3:
|
|
|
13270
13657
|
Returns: 4*4 element of Lie algebra that can be exponentiated
|
|
13271
13658
|
"""
|
|
13272
13659
|
@staticmethod
|
|
13660
|
+
def Identity() -> Similarity3:
|
|
13661
|
+
"""
|
|
13662
|
+
Return an identity transform.
|
|
13663
|
+
"""
|
|
13664
|
+
@staticmethod
|
|
13273
13665
|
def Logmap(s: Similarity3) -> numpy.ndarray[tuple[typing.Literal[7], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
13274
13666
|
"""
|
|
13275
13667
|
Log map at the identity$ [R_x,R_y,R_z, t_x, t_y, t_z, \\lambda] $.
|
|
@@ -13294,8 +13686,18 @@ class Similarity3:
|
|
|
13294
13686
|
@typing.overload
|
|
13295
13687
|
def __init__(self, T: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> None:
|
|
13296
13688
|
...
|
|
13689
|
+
def __mul__(self, arg0: Similarity3) -> Similarity3:
|
|
13690
|
+
...
|
|
13297
13691
|
def __repr__(self, s: str = '') -> str:
|
|
13298
13692
|
...
|
|
13693
|
+
def between(self, other: Similarity3) -> Similarity3:
|
|
13694
|
+
...
|
|
13695
|
+
def compose(self, other: Similarity3) -> Similarity3:
|
|
13696
|
+
...
|
|
13697
|
+
def dim(self) -> int:
|
|
13698
|
+
"""
|
|
13699
|
+
Dimensionality of tangent space = 7 DOF.
|
|
13700
|
+
"""
|
|
13299
13701
|
def equals(self, sim: Similarity3, tol: float) -> bool:
|
|
13300
13702
|
"""
|
|
13301
13703
|
Compare with tolerance.
|
|
@@ -13304,6 +13706,12 @@ class Similarity3:
|
|
|
13304
13706
|
"""
|
|
13305
13707
|
expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
13306
13708
|
"""
|
|
13709
|
+
def inverse(self) -> Similarity3:
|
|
13710
|
+
"""
|
|
13711
|
+
Return the inverse.
|
|
13712
|
+
"""
|
|
13713
|
+
def localCoordinates(self, t2: Similarity3) -> numpy.ndarray[tuple[typing.Literal[7], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
13714
|
+
...
|
|
13307
13715
|
def logmap(self, g: Similarity3) -> numpy.ndarray[tuple[typing.Literal[7], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
13308
13716
|
"""
|
|
13309
13717
|
logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
@@ -13316,6 +13724,10 @@ class Similarity3:
|
|
|
13316
13724
|
"""
|
|
13317
13725
|
Print with optional string.
|
|
13318
13726
|
"""
|
|
13727
|
+
def retract(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity3:
|
|
13728
|
+
"""
|
|
13729
|
+
retract as required by manifold concept: applies v at *this
|
|
13730
|
+
"""
|
|
13319
13731
|
def rotation(self) -> Rot3:
|
|
13320
13732
|
"""
|
|
13321
13733
|
Return a GTSAM rotation.
|
|
@@ -15671,6 +16083,8 @@ class Values:
|
|
|
15671
16083
|
...
|
|
15672
16084
|
def atRot3(self, j: int) -> Rot3:
|
|
15673
16085
|
...
|
|
16086
|
+
def atSL4(self, j: int) -> SL4:
|
|
16087
|
+
...
|
|
15674
16088
|
def atSO3(self, j: int) -> SO3:
|
|
15675
16089
|
...
|
|
15676
16090
|
def atSO4(self, j: int) -> SO4:
|
|
@@ -15748,6 +16162,9 @@ class Values:
|
|
|
15748
16162
|
def insert(self, j: int, P: SOn) -> None:
|
|
15749
16163
|
...
|
|
15750
16164
|
@typing.overload
|
|
16165
|
+
def insert(self, j: int, H: SL4) -> None:
|
|
16166
|
+
...
|
|
16167
|
+
@typing.overload
|
|
15751
16168
|
def insert(self, j: int, rot3: Rot3) -> None:
|
|
15752
16169
|
...
|
|
15753
16170
|
@typing.overload
|
|
@@ -15876,6 +16293,9 @@ class Values:
|
|
|
15876
16293
|
def insert_or_assign(self, j: int, P: SOn) -> None:
|
|
15877
16294
|
...
|
|
15878
16295
|
@typing.overload
|
|
16296
|
+
def insert_or_assign(self, j: int, H: SL4) -> None:
|
|
16297
|
+
...
|
|
16298
|
+
@typing.overload
|
|
15879
16299
|
def insert_or_assign(self, j: int, rot3: Rot3) -> None:
|
|
15880
16300
|
...
|
|
15881
16301
|
@typing.overload
|
|
@@ -16024,6 +16444,9 @@ class Values:
|
|
|
16024
16444
|
def update(self, j: int, P: SOn) -> None:
|
|
16025
16445
|
...
|
|
16026
16446
|
@typing.overload
|
|
16447
|
+
def update(self, j: int, H: SL4) -> None:
|
|
16448
|
+
...
|
|
16449
|
+
@typing.overload
|
|
16027
16450
|
def update(self, j: int, rot3: Rot3) -> None:
|
|
16028
16451
|
...
|
|
16029
16452
|
@typing.overload
|