gtsam-develop 4.3a0.dev202508020718__cp311-cp311-macosx_11_0_arm64.whl → 4.3a0.dev202508021458__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.dev202508020718.dylib → libgtsam.4.3a0.dev202508021458.dylib} +0 -0
- gtsam/.dylibs/{libgtsam_unstable.4.3a0.dev202508020718.dylib → libgtsam_unstable.4.3a0.dev202508021458.dylib} +0 -0
- gtsam/__init__.pyi +12 -12
- gtsam/gtsam/__init__.pyi +155 -33
- gtsam/gtsam.cpython-311-darwin.so +0 -0
- {gtsam_develop-4.3a0.dev202508020718.dist-info → gtsam_develop-4.3a0.dev202508021458.dist-info}/METADATA +3 -3
- {gtsam_develop-4.3a0.dev202508020718.dist-info → gtsam_develop-4.3a0.dev202508021458.dist-info}/RECORD +10 -10
- gtsam_unstable/gtsam_unstable.cpython-311-darwin.so +0 -0
- {gtsam_develop-4.3a0.dev202508020718.dist-info → gtsam_develop-4.3a0.dev202508021458.dist-info}/WHEEL +0 -0
- {gtsam_develop-4.3a0.dev202508020718.dist-info → gtsam_develop-4.3a0.dev202508021458.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
gtsam/__init__.pyi
CHANGED
|
@@ -3,26 +3,26 @@ Module definition file for GTSAM
|
|
|
3
3
|
"""
|
|
4
4
|
from __future__ import annotations
|
|
5
5
|
from builtins import dict as IndexPairSetMap
|
|
6
|
-
from builtins import dict as MatchIndicesMap
|
|
7
6
|
from builtins import dict as KeyPairDoubleMap
|
|
7
|
+
from builtins import dict as MatchIndicesMap
|
|
8
|
+
from builtins import list as KeypointsVector
|
|
8
9
|
from builtins import list as Point2Vector
|
|
9
|
-
from builtins import list as
|
|
10
|
-
from builtins import list as
|
|
10
|
+
from builtins import list as BinaryMeasurementsUnit3
|
|
11
|
+
from builtins import list as SfmCameras
|
|
12
|
+
from builtins import list as IndexPairVector
|
|
11
13
|
from builtins import list as BetweenFactorPose2s
|
|
14
|
+
from builtins import list as Pose2Pairs
|
|
15
|
+
from builtins import list as BinaryMeasurementsRot3
|
|
16
|
+
from builtins import list as BinaryMeasurementsPoint3
|
|
17
|
+
from builtins import list as KeyVector
|
|
18
|
+
from builtins import list as Pose3Vector
|
|
12
19
|
from builtins import list as BetweenFactorPose3s
|
|
13
|
-
from builtins import list as SfmTrack2dVector
|
|
14
20
|
from builtins import list as SfmTracks
|
|
15
|
-
from builtins import list as IndexPairVector
|
|
16
21
|
from builtins import list as Rot3Vector
|
|
17
|
-
from builtins import list as
|
|
18
|
-
from builtins import list as
|
|
22
|
+
from builtins import list as Point3Pairs
|
|
23
|
+
from builtins import list as SfmTrack2dVector
|
|
19
24
|
from builtins import list as SfmMeasurementVector
|
|
20
|
-
from builtins import list as SfmCameras
|
|
21
25
|
from builtins import list as Pose3Pairs
|
|
22
|
-
from builtins import list as Pose3Vector
|
|
23
|
-
from builtins import list as KeyVector
|
|
24
|
-
from builtins import list as Pose2Pairs
|
|
25
|
-
from builtins import list as BinaryMeasurementsUnit3
|
|
26
26
|
from builtins import list as Point2Pairs
|
|
27
27
|
from gtsam.gtsam import AHRSFactor
|
|
28
28
|
from gtsam.gtsam import AcceleratingScenario
|
gtsam/gtsam/__init__.pyi
CHANGED
|
@@ -612,6 +612,11 @@ class Cal3:
|
|
|
612
612
|
vectorized form (column-wise)
|
|
613
613
|
"""
|
|
614
614
|
class Cal3Bundler(Cal3f):
|
|
615
|
+
@staticmethod
|
|
616
|
+
def Dim() -> int:
|
|
617
|
+
"""
|
|
618
|
+
Return DOF, dimensionality of tangent space.
|
|
619
|
+
"""
|
|
615
620
|
def __getstate__(self) -> tuple:
|
|
616
621
|
...
|
|
617
622
|
@typing.overload
|
|
@@ -629,6 +634,10 @@ class Cal3Bundler(Cal3f):
|
|
|
629
634
|
...
|
|
630
635
|
def deserialize(self, serialized: str) -> None:
|
|
631
636
|
...
|
|
637
|
+
def dim(self) -> int:
|
|
638
|
+
"""
|
|
639
|
+
Return DOF, dimensionality of tangent space.
|
|
640
|
+
"""
|
|
632
641
|
def equals(self, K: Cal3Bundler, tol: float) -> bool:
|
|
633
642
|
"""
|
|
634
643
|
assert equality up to a tolerance
|
|
@@ -659,7 +668,7 @@ class Cal3DS2(Cal3DS2_Base):
|
|
|
659
668
|
@staticmethod
|
|
660
669
|
def Dim() -> int:
|
|
661
670
|
"""
|
|
662
|
-
|
|
671
|
+
return DOF, dimensionality of tangent space
|
|
663
672
|
"""
|
|
664
673
|
def __getstate__(self) -> tuple:
|
|
665
674
|
...
|
|
@@ -681,7 +690,7 @@ class Cal3DS2(Cal3DS2_Base):
|
|
|
681
690
|
...
|
|
682
691
|
def dim(self) -> int:
|
|
683
692
|
"""
|
|
684
|
-
|
|
693
|
+
return DOF, dimensionality of tangent space
|
|
685
694
|
"""
|
|
686
695
|
def equals(self, K: Cal3DS2, tol: float) -> bool:
|
|
687
696
|
"""
|
|
@@ -771,6 +780,11 @@ class Cal3DS2_Base(Cal3):
|
|
|
771
780
|
Return all parameters as a vector.
|
|
772
781
|
"""
|
|
773
782
|
class Cal3Fisheye(Cal3):
|
|
783
|
+
@staticmethod
|
|
784
|
+
def Dim() -> int:
|
|
785
|
+
"""
|
|
786
|
+
Return dimensions of calibration manifold object.
|
|
787
|
+
"""
|
|
774
788
|
def __getstate__(self) -> tuple:
|
|
775
789
|
...
|
|
776
790
|
@typing.overload
|
|
@@ -810,6 +824,10 @@ class Cal3Fisheye(Cal3):
|
|
|
810
824
|
"""
|
|
811
825
|
def deserialize(self, serialized: str) -> None:
|
|
812
826
|
...
|
|
827
|
+
def dim(self) -> int:
|
|
828
|
+
"""
|
|
829
|
+
Return dimensions of calibration manifold object.
|
|
830
|
+
"""
|
|
813
831
|
def equals(self, K: Cal3Fisheye, tol: float) -> bool:
|
|
814
832
|
"""
|
|
815
833
|
assert equality up to a tolerance
|
|
@@ -1057,6 +1075,11 @@ class Cal3_S2(Cal3):
|
|
|
1057
1075
|
Returns: point in image coordinates
|
|
1058
1076
|
"""
|
|
1059
1077
|
class Cal3_S2Stereo(Cal3_S2):
|
|
1078
|
+
@staticmethod
|
|
1079
|
+
def Dim() -> int:
|
|
1080
|
+
"""
|
|
1081
|
+
return DOF, dimensionality of tangent space
|
|
1082
|
+
"""
|
|
1060
1083
|
@typing.overload
|
|
1061
1084
|
def __init__(self) -> None:
|
|
1062
1085
|
...
|
|
@@ -1099,6 +1122,10 @@ class Cal3_S2Stereo(Cal3_S2):
|
|
|
1099
1122
|
|
|
1100
1123
|
Returns: point in intrinsic coordinates
|
|
1101
1124
|
"""
|
|
1125
|
+
def dim(self) -> int:
|
|
1126
|
+
"""
|
|
1127
|
+
return DOF, dimensionality of tangent space
|
|
1128
|
+
"""
|
|
1102
1129
|
def equals(self, other: Cal3_S2Stereo, tol: float) -> bool:
|
|
1103
1130
|
"""
|
|
1104
1131
|
Check if equal up to specified tolerance.
|
|
@@ -1142,6 +1169,11 @@ class Cal3_S2Stereo(Cal3_S2):
|
|
|
1142
1169
|
vectorized form (column-wise)
|
|
1143
1170
|
"""
|
|
1144
1171
|
class Cal3f(Cal3):
|
|
1172
|
+
@staticmethod
|
|
1173
|
+
def Dim() -> int:
|
|
1174
|
+
"""
|
|
1175
|
+
Return DOF, dimensionality of tangent space.
|
|
1176
|
+
"""
|
|
1145
1177
|
def __getstate__(self) -> tuple:
|
|
1146
1178
|
...
|
|
1147
1179
|
@typing.overload
|
|
@@ -1178,6 +1210,10 @@ class Cal3f(Cal3):
|
|
|
1178
1210
|
"""
|
|
1179
1211
|
def deserialize(self, serialized: str) -> None:
|
|
1180
1212
|
...
|
|
1213
|
+
def dim(self) -> int:
|
|
1214
|
+
"""
|
|
1215
|
+
Return DOF, dimensionality of tangent space.
|
|
1216
|
+
"""
|
|
1181
1217
|
def equals(self, K: Cal3f, tol: float) -> bool:
|
|
1182
1218
|
"""
|
|
1183
1219
|
assert equality up to a tolerance
|
|
@@ -1225,9 +1261,7 @@ class Cal3f(Cal3):
|
|
|
1225
1261
|
class CalibratedCamera:
|
|
1226
1262
|
@staticmethod
|
|
1227
1263
|
def Dim() -> int:
|
|
1228
|
-
|
|
1229
|
-
Deprecated
|
|
1230
|
-
"""
|
|
1264
|
+
...
|
|
1231
1265
|
@staticmethod
|
|
1232
1266
|
def Level(pose2: Pose2, height: float) -> CalibratedCamera:
|
|
1233
1267
|
"""
|
|
@@ -1266,9 +1300,7 @@ class CalibratedCamera:
|
|
|
1266
1300
|
def deserialize(self, serialized: str) -> None:
|
|
1267
1301
|
...
|
|
1268
1302
|
def dim(self) -> int:
|
|
1269
|
-
|
|
1270
|
-
Deprecated
|
|
1271
|
-
"""
|
|
1303
|
+
...
|
|
1272
1304
|
def equals(self, camera: CalibratedCamera, tol: float) -> bool:
|
|
1273
1305
|
"""
|
|
1274
1306
|
assert equality up to a tolerance
|
|
@@ -4065,11 +4097,21 @@ class GPSFactorArmCalib(NonlinearFactor):
|
|
|
4065
4097
|
...
|
|
4066
4098
|
class Gal3:
|
|
4067
4099
|
@staticmethod
|
|
4100
|
+
def Dim() -> int:
|
|
4101
|
+
"""
|
|
4102
|
+
Static method to get the dimension (compile-time or dynamic)
|
|
4103
|
+
"""
|
|
4104
|
+
@staticmethod
|
|
4068
4105
|
def Expmap(xi: numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Gal3:
|
|
4069
4106
|
"""
|
|
4070
4107
|
Exponential map at identity: tangent vector xi -> manifold element g.
|
|
4071
4108
|
"""
|
|
4072
4109
|
@staticmethod
|
|
4110
|
+
def Hat(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[5], typing.Literal[5]], numpy.dtype[numpy.float64]]:
|
|
4111
|
+
"""
|
|
4112
|
+
Hat operator: maps tangent vector xi to Lie algebra matrix.
|
|
4113
|
+
"""
|
|
4114
|
+
@staticmethod
|
|
4073
4115
|
def Identity() -> Gal3:
|
|
4074
4116
|
"""
|
|
4075
4117
|
Return the identity element.
|
|
@@ -4079,6 +4121,11 @@ class Gal3:
|
|
|
4079
4121
|
"""
|
|
4080
4122
|
Logarithmic map at identity: manifold element g -> tangent vector xi.
|
|
4081
4123
|
"""
|
|
4124
|
+
@staticmethod
|
|
4125
|
+
def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
4126
|
+
"""
|
|
4127
|
+
Vee operator: maps Lie algebra matrix to tangent vector xi.
|
|
4128
|
+
"""
|
|
4082
4129
|
@typing.overload
|
|
4083
4130
|
def __init__(self) -> None:
|
|
4084
4131
|
...
|
|
@@ -4096,6 +4143,10 @@ class Gal3:
|
|
|
4096
4143
|
...
|
|
4097
4144
|
def compose(self, other: Gal3) -> Gal3:
|
|
4098
4145
|
...
|
|
4146
|
+
def dim(self) -> int:
|
|
4147
|
+
"""
|
|
4148
|
+
Provided fixed dimension indim()if needed.
|
|
4149
|
+
"""
|
|
4099
4150
|
def equals(self, other: Gal3, tol: float) -> bool:
|
|
4100
4151
|
"""
|
|
4101
4152
|
Check equality within tolerance.
|
|
@@ -10623,6 +10674,11 @@ class Pose2:
|
|
|
10623
10674
|
def Align(a: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], b: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> Pose2 | None:
|
|
10624
10675
|
...
|
|
10625
10676
|
@staticmethod
|
|
10677
|
+
def Dim() -> int:
|
|
10678
|
+
"""
|
|
10679
|
+
Static method to get the dimension (compile-time or dynamic)
|
|
10680
|
+
"""
|
|
10681
|
+
@staticmethod
|
|
10626
10682
|
@typing.overload
|
|
10627
10683
|
def Expmap(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Pose2:
|
|
10628
10684
|
"""
|
|
@@ -10739,6 +10795,10 @@ class Pose2:
|
|
|
10739
10795
|
...
|
|
10740
10796
|
def deserialize(self, serialized: str) -> None:
|
|
10741
10797
|
...
|
|
10798
|
+
def dim(self) -> int:
|
|
10799
|
+
"""
|
|
10800
|
+
Provided fixed dimension indim()if needed.
|
|
10801
|
+
"""
|
|
10742
10802
|
def equals(self, pose: Pose2, tol: float) -> bool:
|
|
10743
10803
|
"""
|
|
10744
10804
|
assert equality up to a tolerance
|
|
@@ -10852,6 +10912,10 @@ class Pose2:
|
|
|
10852
10912
|
"""
|
|
10853
10913
|
translation
|
|
10854
10914
|
"""
|
|
10915
|
+
def vec(self) -> numpy.ndarray[tuple[typing.Literal[9], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
10916
|
+
"""
|
|
10917
|
+
Vectorize the rotation matrix into a 9D vector.
|
|
10918
|
+
"""
|
|
10855
10919
|
def x(self) -> float:
|
|
10856
10920
|
"""
|
|
10857
10921
|
get x
|
|
@@ -10872,6 +10936,11 @@ class Pose3:
|
|
|
10872
10936
|
def Align(a: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], b: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> Pose3 | None:
|
|
10873
10937
|
...
|
|
10874
10938
|
@staticmethod
|
|
10939
|
+
def Dim() -> int:
|
|
10940
|
+
"""
|
|
10941
|
+
Static method to get the dimension (compile-time or dynamic)
|
|
10942
|
+
"""
|
|
10943
|
+
@staticmethod
|
|
10875
10944
|
@typing.overload
|
|
10876
10945
|
def Expmap(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Pose3:
|
|
10877
10946
|
"""
|
|
@@ -11018,6 +11087,10 @@ class Pose3:
|
|
|
11018
11087
|
...
|
|
11019
11088
|
def deserialize(self, serialized: str) -> None:
|
|
11020
11089
|
...
|
|
11090
|
+
def dim(self) -> int:
|
|
11091
|
+
"""
|
|
11092
|
+
Provided fixed dimension indim()if needed.
|
|
11093
|
+
"""
|
|
11021
11094
|
def equals(self, pose: Pose3, tol: float) -> bool:
|
|
11022
11095
|
"""
|
|
11023
11096
|
assert equality up to a tolerance
|
|
@@ -11234,6 +11307,10 @@ class Pose3:
|
|
|
11234
11307
|
"""
|
|
11235
11308
|
get translation
|
|
11236
11309
|
"""
|
|
11310
|
+
def vec(self) -> numpy.ndarray[tuple[typing.Literal[16], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
11311
|
+
"""
|
|
11312
|
+
Return vectorized SE(3) matrix in column order.
|
|
11313
|
+
"""
|
|
11237
11314
|
def x(self) -> float:
|
|
11238
11315
|
"""
|
|
11239
11316
|
get x
|
|
@@ -12209,6 +12286,11 @@ class ReferenceFrameFactorPoint3Pose3(NoiseModelFactor):
|
|
|
12209
12286
|
...
|
|
12210
12287
|
class Rot2:
|
|
12211
12288
|
@staticmethod
|
|
12289
|
+
def Dim() -> int:
|
|
12290
|
+
"""
|
|
12291
|
+
Static method to get the dimension (compile-time or dynamic)
|
|
12292
|
+
"""
|
|
12293
|
+
@staticmethod
|
|
12212
12294
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Rot2:
|
|
12213
12295
|
"""
|
|
12214
12296
|
Exponential map at identity - create a rotation from canonical coordinates.
|
|
@@ -12291,6 +12373,10 @@ class Rot2:
|
|
|
12291
12373
|
"""
|
|
12292
12374
|
def deserialize(self, serialized: str) -> None:
|
|
12293
12375
|
...
|
|
12376
|
+
def dim(self) -> int:
|
|
12377
|
+
"""
|
|
12378
|
+
Provided fixed dimension indim()if needed.
|
|
12379
|
+
"""
|
|
12294
12380
|
def equals(self, R: Rot2, tol: float) -> bool:
|
|
12295
12381
|
"""
|
|
12296
12382
|
equals with an tolerance
|
|
@@ -12349,6 +12435,10 @@ class Rot2:
|
|
|
12349
12435
|
"""
|
|
12350
12436
|
rotate point from world to rotated frame$ p^c = (R_c^w)^T p^w $
|
|
12351
12437
|
"""
|
|
12438
|
+
def vec(self) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12439
|
+
"""
|
|
12440
|
+
Vectorize the rotation matrix into a 4D vector.
|
|
12441
|
+
"""
|
|
12352
12442
|
class Rot3:
|
|
12353
12443
|
@staticmethod
|
|
12354
12444
|
def AxisAngle(axis: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]], angle: float) -> Rot3:
|
|
@@ -12369,6 +12459,11 @@ class Rot3:
|
|
|
12369
12459
|
Uses Full SVD to compute the orthogonal matrix, thus is highly accurate and robust. N. J. Higham. Matrix nearness problems and applications. In M. J. C. Gover and S. Barnett, editors, Applications of Matrix Theory, pages 1–27. Oxford University Press, 1989.
|
|
12370
12460
|
"""
|
|
12371
12461
|
@staticmethod
|
|
12462
|
+
def Dim() -> int:
|
|
12463
|
+
"""
|
|
12464
|
+
Static method to get the dimension (compile-time or dynamic)
|
|
12465
|
+
"""
|
|
12466
|
+
@staticmethod
|
|
12372
12467
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Rot3:
|
|
12373
12468
|
"""
|
|
12374
12469
|
Exponential map - create a rotation from canonical coordinates$ [R_x,R_y,R_z] $using Rodrigues' formula.
|
|
@@ -12503,6 +12598,10 @@ class Rot3:
|
|
|
12503
12598
|
...
|
|
12504
12599
|
def deserialize(self, serialized: str) -> None:
|
|
12505
12600
|
...
|
|
12601
|
+
def dim(self) -> int:
|
|
12602
|
+
"""
|
|
12603
|
+
Provided fixed dimension indim()if needed.
|
|
12604
|
+
"""
|
|
12506
12605
|
def equals(self, p: Rot3, tol: float) -> bool:
|
|
12507
12606
|
"""
|
|
12508
12607
|
equals with an tolerance
|
|
@@ -12592,6 +12691,10 @@ class Rot3:
|
|
|
12592
12691
|
"""
|
|
12593
12692
|
unrotate 3D direction from world frame to rotated coordinate frame
|
|
12594
12693
|
"""
|
|
12694
|
+
def vec(self) -> numpy.ndarray[tuple[typing.Literal[9], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12695
|
+
"""
|
|
12696
|
+
Vee maps from Lie algebra to tangent vector.
|
|
12697
|
+
"""
|
|
12595
12698
|
def xyz(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12596
12699
|
"""
|
|
12597
12700
|
Use RQ to calculate xyz angle representation.
|
|
@@ -12671,6 +12774,11 @@ class RotateFactor(NoiseModelFactor):
|
|
|
12671
12774
|
"""
|
|
12672
12775
|
class SL4:
|
|
12673
12776
|
@staticmethod
|
|
12777
|
+
def Dim() -> int:
|
|
12778
|
+
"""
|
|
12779
|
+
Static method to get the dimension (compile-time or dynamic)
|
|
12780
|
+
"""
|
|
12781
|
+
@staticmethod
|
|
12674
12782
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SL4:
|
|
12675
12783
|
...
|
|
12676
12784
|
@staticmethod
|
|
@@ -12715,6 +12823,10 @@ class SL4:
|
|
|
12715
12823
|
...
|
|
12716
12824
|
def deserialize(self, serialized: str) -> None:
|
|
12717
12825
|
...
|
|
12826
|
+
def dim(self) -> int:
|
|
12827
|
+
"""
|
|
12828
|
+
Provided fixed dimension indim()if needed.
|
|
12829
|
+
"""
|
|
12718
12830
|
def equals(self, sl4: SL4, tol: float) -> bool:
|
|
12719
12831
|
"""
|
|
12720
12832
|
assert equality up to a tolerance
|
|
@@ -12749,6 +12861,12 @@ class SL4:
|
|
|
12749
12861
|
...
|
|
12750
12862
|
def serialize(self) -> str:
|
|
12751
12863
|
...
|
|
12864
|
+
def vec(self) -> numpy.ndarray[tuple[typing.Literal[16], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12865
|
+
"""
|
|
12866
|
+
Vectorize the matrix representation of a Lie group element.
|
|
12867
|
+
|
|
12868
|
+
The derivative H is the (N*N) x D Jacobian of this vectorization map. It is given by the formula H = (I_N ⊗ T) * P, where T is the N x N matrix of this group element, ⊗ is the Kronecker product, and P is the (N*N) x D matrix whose columns are the vectorized Lie algebra generators vec(Hat(e_j)). This can be computed efficiently via block-wise multiplication.
|
|
12869
|
+
"""
|
|
12752
12870
|
class SO3:
|
|
12753
12871
|
@staticmethod
|
|
12754
12872
|
def AxisAngle(axis: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], theta: float) -> SO3:
|
|
@@ -12757,6 +12875,9 @@ class SO3:
|
|
|
12757
12875
|
def ClosestTo(M: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SO3:
|
|
12758
12876
|
...
|
|
12759
12877
|
@staticmethod
|
|
12878
|
+
def Dim() -> int:
|
|
12879
|
+
...
|
|
12880
|
+
@staticmethod
|
|
12760
12881
|
def Expmap(v: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO3:
|
|
12761
12882
|
...
|
|
12762
12883
|
@staticmethod
|
|
@@ -12766,9 +12887,14 @@ class SO3:
|
|
|
12766
12887
|
def FromMatrix(R: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SO3:
|
|
12767
12888
|
...
|
|
12768
12889
|
@staticmethod
|
|
12890
|
+
@typing.overload
|
|
12769
12891
|
def Hat(xi: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
|
|
12770
12892
|
...
|
|
12771
12893
|
@staticmethod
|
|
12894
|
+
@typing.overload
|
|
12895
|
+
def Hat(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
|
|
12896
|
+
...
|
|
12897
|
+
@staticmethod
|
|
12772
12898
|
def Identity() -> SO3:
|
|
12773
12899
|
...
|
|
12774
12900
|
@staticmethod
|
|
@@ -12778,8 +12904,13 @@ class SO3:
|
|
|
12778
12904
|
def LogmapDerivative(omega: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
|
|
12779
12905
|
...
|
|
12780
12906
|
@staticmethod
|
|
12907
|
+
@typing.overload
|
|
12781
12908
|
def Vee(xi: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12782
12909
|
...
|
|
12910
|
+
@staticmethod
|
|
12911
|
+
@typing.overload
|
|
12912
|
+
def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12913
|
+
...
|
|
12783
12914
|
@typing.overload
|
|
12784
12915
|
def __init__(self) -> None:
|
|
12785
12916
|
...
|
|
@@ -12794,6 +12925,8 @@ class SO3:
|
|
|
12794
12925
|
...
|
|
12795
12926
|
def compose(self, R: SO3) -> SO3:
|
|
12796
12927
|
...
|
|
12928
|
+
def dim(self) -> int:
|
|
12929
|
+
...
|
|
12797
12930
|
def equals(self, other: SO3, tol: float) -> bool:
|
|
12798
12931
|
...
|
|
12799
12932
|
def expmap(self, v: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO3:
|
|
@@ -12814,11 +12947,9 @@ class SO3:
|
|
|
12814
12947
|
...
|
|
12815
12948
|
class SO4:
|
|
12816
12949
|
@staticmethod
|
|
12817
|
-
|
|
12818
|
-
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
|
|
12950
|
+
def Dim() -> int:
|
|
12819
12951
|
...
|
|
12820
12952
|
@staticmethod
|
|
12821
|
-
@typing.overload
|
|
12822
12953
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
|
|
12823
12954
|
...
|
|
12824
12955
|
@staticmethod
|
|
@@ -12834,7 +12965,7 @@ class SO4:
|
|
|
12834
12965
|
def Logmap(p: SO4) -> numpy.ndarray[tuple[typing.Literal[6], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12835
12966
|
...
|
|
12836
12967
|
@staticmethod
|
|
12837
|
-
def Vee(
|
|
12968
|
+
def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[6], typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12838
12969
|
...
|
|
12839
12970
|
@typing.overload
|
|
12840
12971
|
def __init__(self) -> None:
|
|
@@ -12850,6 +12981,8 @@ class SO4:
|
|
|
12850
12981
|
...
|
|
12851
12982
|
def compose(self, Q: SO4) -> SO4:
|
|
12852
12983
|
...
|
|
12984
|
+
def dim(self) -> int:
|
|
12985
|
+
...
|
|
12853
12986
|
def equals(self, other: SO4, tol: float) -> bool:
|
|
12854
12987
|
...
|
|
12855
12988
|
def expmap(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
|
|
@@ -12870,6 +13003,9 @@ class SO4:
|
|
|
12870
13003
|
...
|
|
12871
13004
|
class SOn:
|
|
12872
13005
|
@staticmethod
|
|
13006
|
+
def Dim() -> int:
|
|
13007
|
+
...
|
|
13008
|
+
@staticmethod
|
|
12873
13009
|
@typing.overload
|
|
12874
13010
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SOn:
|
|
12875
13011
|
...
|
|
@@ -12893,7 +13029,7 @@ class SOn:
|
|
|
12893
13029
|
def Logmap(p: SOn) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12894
13030
|
...
|
|
12895
13031
|
@staticmethod
|
|
12896
|
-
def Vee(
|
|
13032
|
+
def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
12897
13033
|
...
|
|
12898
13034
|
def __getstate__(self) -> tuple:
|
|
12899
13035
|
...
|
|
@@ -12911,6 +13047,8 @@ class SOn:
|
|
|
12911
13047
|
...
|
|
12912
13048
|
def deserialize(self, serialized: str) -> None:
|
|
12913
13049
|
...
|
|
13050
|
+
def dim(self) -> int:
|
|
13051
|
+
...
|
|
12914
13052
|
def equals(self, other: SOn, tol: float) -> bool:
|
|
12915
13053
|
...
|
|
12916
13054
|
def expmap(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SOn:
|
|
@@ -13513,7 +13651,7 @@ class Similarity2:
|
|
|
13513
13651
|
@staticmethod
|
|
13514
13652
|
def Dim() -> int:
|
|
13515
13653
|
"""
|
|
13516
|
-
|
|
13654
|
+
Static method to get the dimension (compile-time or dynamic)
|
|
13517
13655
|
"""
|
|
13518
13656
|
@staticmethod
|
|
13519
13657
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity2:
|
|
@@ -13565,7 +13703,7 @@ class Similarity2:
|
|
|
13565
13703
|
...
|
|
13566
13704
|
def dim(self) -> int:
|
|
13567
13705
|
"""
|
|
13568
|
-
|
|
13706
|
+
Provided fixed dimension indim()if needed.
|
|
13569
13707
|
"""
|
|
13570
13708
|
def equals(self, sim: Similarity2, tol: float) -> bool:
|
|
13571
13709
|
"""
|
|
@@ -13639,7 +13777,7 @@ class Similarity3:
|
|
|
13639
13777
|
@staticmethod
|
|
13640
13778
|
def Dim() -> int:
|
|
13641
13779
|
"""
|
|
13642
|
-
|
|
13780
|
+
Static method to get the dimension (compile-time or dynamic)
|
|
13643
13781
|
"""
|
|
13644
13782
|
@staticmethod
|
|
13645
13783
|
def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity3:
|
|
@@ -13696,7 +13834,7 @@ class Similarity3:
|
|
|
13696
13834
|
...
|
|
13697
13835
|
def dim(self) -> int:
|
|
13698
13836
|
"""
|
|
13699
|
-
|
|
13837
|
+
Provided fixed dimension indim()if needed.
|
|
13700
13838
|
"""
|
|
13701
13839
|
def equals(self, sim: Similarity3, tol: float) -> bool:
|
|
13702
13840
|
"""
|
|
@@ -14941,16 +15079,10 @@ class StereoCamera:
|
|
|
14941
15079
|
...
|
|
14942
15080
|
class StereoPoint2:
|
|
14943
15081
|
@staticmethod
|
|
14944
|
-
def Expmap(d: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> StereoPoint2:
|
|
14945
|
-
...
|
|
14946
|
-
@staticmethod
|
|
14947
15082
|
def Identity() -> StereoPoint2:
|
|
14948
15083
|
"""
|
|
14949
15084
|
identity
|
|
14950
15085
|
"""
|
|
14951
|
-
@staticmethod
|
|
14952
|
-
def Logmap(p: StereoPoint2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
14953
|
-
...
|
|
14954
15086
|
def __add__(self, arg0: StereoPoint2) -> StereoPoint2:
|
|
14955
15087
|
...
|
|
14956
15088
|
def __getstate__(self) -> tuple:
|
|
@@ -14972,26 +15104,16 @@ class StereoPoint2:
|
|
|
14972
15104
|
...
|
|
14973
15105
|
def __sub__(self, arg0: StereoPoint2) -> StereoPoint2:
|
|
14974
15106
|
...
|
|
14975
|
-
def between(self, p2: StereoPoint2) -> StereoPoint2:
|
|
14976
|
-
...
|
|
14977
|
-
def compose(self, p1: StereoPoint2) -> StereoPoint2:
|
|
14978
|
-
...
|
|
14979
15107
|
def deserialize(self, serialized: str) -> None:
|
|
14980
15108
|
...
|
|
14981
15109
|
def equals(self, q: StereoPoint2, tol: float) -> bool:
|
|
14982
15110
|
"""
|
|
14983
15111
|
equals
|
|
14984
15112
|
"""
|
|
14985
|
-
def inverse(self) -> StereoPoint2:
|
|
14986
|
-
...
|
|
14987
|
-
def localCoordinates(self, t2: StereoPoint2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
|
|
14988
|
-
...
|
|
14989
15113
|
def print(self, s: str = '') -> None:
|
|
14990
15114
|
"""
|
|
14991
15115
|
print
|
|
14992
15116
|
"""
|
|
14993
|
-
def retract(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> StereoPoint2:
|
|
14994
|
-
...
|
|
14995
15117
|
def serialize(self) -> str:
|
|
14996
15118
|
...
|
|
14997
15119
|
def uL(self) -> float:
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gtsam-develop
|
|
3
|
-
Version: 4.3a0.
|
|
3
|
+
Version: 4.3a0.dev202508021458
|
|
4
4
|
Summary: Georgia Tech Smoothing And Mapping library
|
|
5
5
|
Home-page: https://gtsam.org/
|
|
6
6
|
Author: Frank Dellaert et. al.
|
|
@@ -149,9 +149,9 @@ In GTSAM 4 a new and more efficient implementation, based on integrating on the
|
|
|
149
149
|
|
|
150
150
|
## Additional Information
|
|
151
151
|
|
|
152
|
-
There is a [
|
|
152
|
+
There is a [GTSAM users Google group](https://groups.google.com/forum/#!forum/gtsam-users) for general discussion.
|
|
153
153
|
|
|
154
|
-
Read about important [
|
|
154
|
+
Read about important [GTSAM-Concepts](doc/GTSAM-Concepts.md) here. A primer on GTSAM Expressions,
|
|
155
155
|
which support (superfast) automatic differentiation,
|
|
156
156
|
can be found on the [GTSAM wiki on BitBucket](https://bitbucket.org/gtborg/gtsam/wiki/Home).
|
|
157
157
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
gtsam/symbol_shorthand.py,sha256=HlTV-Z5aB5cXWT5AsbKOeWZIHoXQsH2W1S90ET-tidA,236
|
|
2
|
-
gtsam/__init__.pyi,sha256=
|
|
2
|
+
gtsam/__init__.pyi,sha256=XuXeMqtVDp5pUMXtbx_D_-B3hNALUDH4lFS3kwddRvQ,44348
|
|
3
3
|
gtsam/gtsfm.py,sha256=Udlkb6o5iUk69uxBkb88-W1GLfu1g8iSuZlLu-RRU0o,202
|
|
4
4
|
gtsam/__init__.py,sha256=6G-WPnb_FMQEJXNDDAmrKrQPau7evtd5svhTmMqhYSI,2011
|
|
5
|
-
gtsam/gtsam.cpython-311-darwin.so,sha256=
|
|
5
|
+
gtsam/gtsam.cpython-311-darwin.so,sha256=c04xYnAuLt5Uj1x0Flvc4TWZ-w7qBA02fYRpFfnKG3Y,18140640
|
|
6
6
|
gtsam/noiseModel.py,sha256=ybfIHa4sLXe78_k-Dib8nTaw34BRXqEDVtS2B9dzSO0,217
|
|
7
7
|
gtsam/imuBias.py,sha256=tz3bOCFl29iMycbGFoF-ud6kRsJYjA7DJ2RJoKPFRU8,209
|
|
8
8
|
gtsam/gtsam/utilities.pyi,sha256=-yn7_jeJbTa_3KJGgqcr_NDD70UhDZ8tYX2M2lPLmSQ,3384
|
|
9
9
|
gtsam/gtsam/gtsfm.pyi,sha256=Onoh4CRaSYIQ0FID0vBkZeV7ESIhc2fh4rJGgaPY-ug,702
|
|
10
|
-
gtsam/gtsam/__init__.pyi,sha256=
|
|
10
|
+
gtsam/gtsam/__init__.pyi,sha256=tnoQhbHTBLNN2t3W4Td5j5NP3VuYZpxQReL3jlkjRLs,742480
|
|
11
11
|
gtsam/gtsam/so3.pyi,sha256=UoDGISMgcStVTAtc_y6CmHXCtPJrJ7ju70z3ZH1OLR4,3939
|
|
12
12
|
gtsam/gtsam/imuBias.pyi,sha256=UqK0nLVICpnyw8B8_Q1GgX-qRd6atlCXT6OZNffZ1ao,2797
|
|
13
13
|
gtsam/gtsam/symbol_shorthand.pyi,sha256=iaQLf_-hch_4YTYbSWTLINKtIL9Mg7W7HKOMuCXp8Ok,991
|
|
@@ -129,10 +129,10 @@ gtsam/utils/test_case.py,sha256=3wIqAW5_smes95XUJgUjD4v3FXACYSVzQ1l6MMdwSkA,1848
|
|
|
129
129
|
gtsam/utils/logging_optimizer.py,sha256=tRnzQKV4eT5djS0Ojy5J7OGu7oVRjZw7Jhjrx_VQVTU,4417
|
|
130
130
|
gtsam/utils/generate_trajectory.py,sha256=_1TZWhpRKj8ha0FOEmqUpEzAt3KLgwqyZJ4ueFD2jmE,2663
|
|
131
131
|
gtsam/.dylibs/libboost_thread.dylib,sha256=aT1DCt1Kvw1A2w2mRHIJhZRFrYmoDaI5xYM6wEt86L8,137200
|
|
132
|
-
gtsam/.dylibs/libgtsam.4.3a0.
|
|
132
|
+
gtsam/.dylibs/libgtsam.4.3a0.dev202508021458.dylib,sha256=gbOpszhjF6fnOD_eicNSeUbNhIgnbAJt77aQ_Ofs0Gg,5958048
|
|
133
133
|
gtsam/.dylibs/libboost_regex.dylib,sha256=XWw3H3ehJjFuFVSSDGo2lyKOIsoTQ-0Aaf1ekhsQJfY,356464
|
|
134
|
+
gtsam/.dylibs/libgtsam_unstable.4.3a0.dev202508021458.dylib,sha256=YK1xPdEtErF8r-AUuXuI5X0tiitpo9m0G0Ve8r8Excs,1623248
|
|
134
135
|
gtsam/.dylibs/libboost_serialization.dylib,sha256=7OW78djID14u2YB_F_TuXomOIsEpt8I7RnCAGuGmwCc,418288
|
|
135
|
-
gtsam/.dylibs/libgtsam_unstable.4.3a0.dev202508020718.dylib,sha256=qBHqX_oNtcxOl_E4VdrKuw0HCwgXrE30c4-VjTreZLA,1623248
|
|
136
136
|
gtsam/.dylibs/libboost_timer.dylib,sha256=leVXIyCdydip4vwIm-Ghrt6UGy_Q-yhL2f8ITyfRku0,81520
|
|
137
137
|
gtsam/.dylibs/libboost_filesystem.dylib,sha256=WUuuO1JZADriLciFi63Ky4dmqt1KA7_V6DcNdzCANSo,197328
|
|
138
138
|
gtsam/.dylibs/libcephes-gtsam.1.0.0.dylib,sha256=pNZtgCIaV7_dC0WPXobOc8sNvd_0WQo1AdYxUsqZ1D0,176352
|
|
@@ -250,14 +250,14 @@ gtsam/Data/Balbianello/BalbianelloMedium-4.key.gz,sha256=P6tu3JmA0NKlcFYdgYczTOH
|
|
|
250
250
|
gtsam/Data/Balbianello/BalbianelloMedium-1.key.gz,sha256=RgT7tVXXOwvDug20TW-9xtoeO3dSSPMF1n9DaKxdrIw,332878
|
|
251
251
|
gtsam/Data/Balbianello/BalbianelloMedium-3.key.gz,sha256=yNMcyqwZCOj9FG-6qXQ9xhJjpM135cTBJYlOUBG0rnQ,296236
|
|
252
252
|
gtsam/Data/Balbianello/BalbianelloMedium-5.key.gz,sha256=4veDrxRdLH8k1DIhgj1984MitZ7nAWoXDWTWyXuu7Lg,241361
|
|
253
|
-
|
|
254
|
-
gtsam_develop-4.3a0.dev202508020718.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
|
|
255
|
-
gtsam_develop-4.3a0.dev202508020718.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
|
|
256
|
-
gtsam_develop-4.3a0.dev202508020718.dist-info/METADATA,sha256=AQqsvHo0Jzs8I42vYOzqyhIUnT32oqoQp0vq7D0MSqU,7767
|
|
257
|
-
gtsam_unstable/gtsam_unstable.cpython-311-darwin.so,sha256=BqO1OXa1lenrVShZEoO9sq5p0sYOJXFQ4A7jXNQaVio,2033440
|
|
253
|
+
gtsam_unstable/gtsam_unstable.cpython-311-darwin.so,sha256=wVvBMrKOVvSB_mIeq1g7W-3TOv4Q7c1ejOyHU7eZ0XQ,2033440
|
|
258
254
|
gtsam_unstable/__init__.py,sha256=FPc_oO5PFQZbrfpgugzQuI6LJfP1fzq82UQf_nuyGtk,30
|
|
259
255
|
gtsam_unstable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
260
256
|
gtsam_unstable/tests/test_ProjectionFactorRollingShutter.py,sha256=t2l62uWoXfjrM8oH6ogV7M20WjTYKZ4CSferdurMIY0,2156
|
|
261
257
|
gtsam_unstable/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
262
258
|
gtsam_unstable/examples/LocalizationExample.py,sha256=na47I1PQ_5Tenj8Wg2LBg3GaqP32O4yEb8jtRWKu0P8,2882
|
|
263
259
|
gtsam_unstable/examples/TimeOfArrivalExample.py,sha256=uky5ps4Ng83C0Q_s2EAc64Af6iztQjXXdj3ahifRXoI,3737
|
|
260
|
+
gtsam_develop-4.3a0.dev202508021458.dist-info/RECORD,,
|
|
261
|
+
gtsam_develop-4.3a0.dev202508021458.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
|
|
262
|
+
gtsam_develop-4.3a0.dev202508021458.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
|
|
263
|
+
gtsam_develop-4.3a0.dev202508021458.dist-info/METADATA,sha256=klQnrdag_821o4Ul5Rbjx_PjwY48JPK_CLO9r1_KWYo,7767
|
|
Binary file
|
|
File without changes
|
|
File without changes
|