basic experiments for testing the wrapper

release/4.3a0
Duy-Nguyen Ta 2016-11-30 05:58:23 -05:00
parent 1e425536bb
commit 21fa3f07e9
1 changed files with 113 additions and 0 deletions

113
cython/test/experiments.py Normal file
View File

@ -0,0 +1,113 @@
"""
This file contains small experiments to test the wrapper with gtsam_short,
not real unittests. Its name convention is different from other tests so it
won't be discovered.
"""
from gtsam.gtsam import *
import numpy as np
from gtsam_utils import Vector, Matrix
r = Rot3()
print(r)
print(r.pitch())
r2 = Rot3()
r3 = r.compose(r2)
print("r3 pitch:", r3.pitch())
v = Vector(1, 1, 1)
print("v = ", v)
r4 = r3.retract(v)
print("r4 pitch:", r4.pitch())
r4.print_(b'r4: ')
r3.print_(b"r3: ")
v = r3.localCoordinates(r4)
print("localCoordinates:", v)
Rmat = np.array([
[0.990074, -0.0942928, 0.104218],
[0.104218, 0.990074, -0.0942928],
[-0.0942928, 0.104218, 0.990074]
])
r5 = Rot3(Rmat)
r5.print_(b"r5: ")
l = Rot3.Logmap(r5)
print("l = ", l)
noise = noiseModel_Gaussian.Covariance(Rmat)
noise.print_(b"noise:")
D = np.array([1.,2.,3.])
diag = noiseModel_Diagonal.Variances(D)
print("diag:", diag)
diag.print_(b"diag:")
print("diag R:", diag.R())
p = Point3()
p.print_("p:")
factor = BetweenFactorPoint3(1,2,p, noise)
factor.print_(b"factor:")
vv = VectorValues()
vv.print_(b"vv:")
vv.insert(1, np.array([1.,2.,3.]))
vv.insert(2, np.array([3.,4.]))
vv.insert(3, np.array([5.,6.,7.,8.]))
vv.print_(b"vv:")
vv2 = VectorValues(vv)
vv2.insert(4, np.array([4.,2.,1]))
vv2.print_(b"vv2:")
vv.print_(b"vv:")
vv.insert(4, np.array([1.,2.,4.]))
vv.print_(b"vv:")
vv3 = vv.add(vv2)
vv3.print_(b"vv3:")
values = Values()
values.insert(1, Point3())
values.insert(2, Rot3())
values.print_(b"values:")
factor = PriorFactorVector(1, np.array([1.,2.,3.]), diag)
print "Prior factor vector: ", factor
keys = KeyVector()
keys.push_back(1)
keys.push_back(2)
print 'size: ', keys.size()
print keys.at(0)
print keys.at(1)
noise = noiseModel_Isotropic.Precision(2, 3.0)
noise.print_('noise:')
print 'noise print:', noise
f = JacobianFactor(7, np.ones([2,2]), model=noise, b=np.ones(2))
print 'JacobianFactor(7):\n', f
print "A = ", f.getA()
print "b = ", f.getb()
f = JacobianFactor(np.ones(2))
f.print_('jacoboian b_in:')
print "JacobianFactor initalized with b_in:", f
diag = noiseModel_Diagonal.Sigmas(np.array([1.,2.,3.]))
fv = PriorFactorVector(1, np.array([4.,5.,6.]), diag)
print "priorfactorvector: ", fv
print "base noise: ", fv.get_noiseModel()
print "casted to gaussian2: ", dynamic_cast_noiseModel_Diagonal_noiseModel_Base(fv.get_noiseModel())
X = symbol(65, 19)
print X
print symbolChr(X)
print symbolIndex(X)