added wrapper for ProjectionFactorRollingShutter
							parent
							
								
									894605be3f
								
							
						
					
					
						commit
						0a06238785
					
				| 
						 | 
				
			
			@ -17,3 +17,4 @@
 | 
			
		|||
# for QtCreator:
 | 
			
		||||
CMakeLists.txt.user*
 | 
			
		||||
xcode/
 | 
			
		||||
/Dockerfile
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,59 @@
 | 
			
		|||
"""
 | 
			
		||||
GTSAM Copyright 2010-2019, Georgia Tech Research Corporation,
 | 
			
		||||
Atlanta, Georgia 30332-0415
 | 
			
		||||
All Rights Reserved
 | 
			
		||||
 | 
			
		||||
See LICENSE for the license information
 | 
			
		||||
 | 
			
		||||
ProjectionFactorRollingShutter unit tests.
 | 
			
		||||
Author: Yotam Stern
 | 
			
		||||
"""
 | 
			
		||||
import unittest
 | 
			
		||||
 | 
			
		||||
import numpy as np
 | 
			
		||||
 | 
			
		||||
import gtsam
 | 
			
		||||
import gtsam_unstable
 | 
			
		||||
from gtsam.utils.test_case import GtsamTestCase
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
pose1 = gtsam.Pose3()
 | 
			
		||||
pose2 = gtsam.Pose3(np.array([[ 0.9999375 ,  0.00502487,  0.00998725,  0.1       ],
 | 
			
		||||
                              [-0.00497488,  0.999975  , -0.00502487,  0.02      ],
 | 
			
		||||
                              [-0.01001225,  0.00497488,  0.9999375 ,  1.        ],
 | 
			
		||||
                              [ 0.        ,  0.        ,  0.        ,  1.        ]]))
 | 
			
		||||
point = np.array([2, 0, 15])
 | 
			
		||||
point_noise = gtsam.noiseModel.Diagonal.Sigmas(np.ones(2))
 | 
			
		||||
cal = gtsam.Cal3_S2()
 | 
			
		||||
body_p_sensor = gtsam.Pose3()
 | 
			
		||||
alpha = 0.1
 | 
			
		||||
measured = array([0.13257015, 0.0004157])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestProjectionFactorRollingShutter(GtsamTestCase):
 | 
			
		||||
 | 
			
		||||
    def test_constructor(self):
 | 
			
		||||
        '''
 | 
			
		||||
        test constructor for the ProjectionFactorRollingShutter
 | 
			
		||||
        '''
 | 
			
		||||
        factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal)
 | 
			
		||||
        factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal,
 | 
			
		||||
                                                               body_p_sensor)
 | 
			
		||||
        factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal, True, False)
 | 
			
		||||
        factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal, True, False,
 | 
			
		||||
                                                               body_p_sensor)
 | 
			
		||||
 | 
			
		||||
    def test_error(self):
 | 
			
		||||
        '''
 | 
			
		||||
        test the factor error for a specific example
 | 
			
		||||
        '''
 | 
			
		||||
        values = gtsam.Values()
 | 
			
		||||
        values.insert(0, pose1)
 | 
			
		||||
        values.insert(1, pose2)
 | 
			
		||||
        values.insert(2, point)
 | 
			
		||||
        factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal)
 | 
			
		||||
        self.assertEqual(factor.error(values), 0)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    unittest.main()
 | 
			
		||||
		Loading…
	
		Reference in New Issue