def test_get_properties_returns_only_requested_columns_that_exist(self): matcher_nms_n = 10 matcher_nms_tau = 35 matcher_match_binsize = 16 matcher_match_radius = 155 matcher_match_disp_tolerance = 4 matcher_outlier_disp_tolerance = 3 matcher_outlier_flow_tolerance = 6 matcher_multi_stage = False matcher_half_resolution = False matcher_refinement = MatcherRefinement.SUBPIXEL bucketing_max_features = 6 bucketing_bucket_width = 45 bucketing_bucket_height = 66 height = 0.8 pitch = 0.22 ransac_iters = 1444 inlier_threshold = 0.0006 motion_threshold = 78.4 subject = LibVisOMonoSystem( matcher_nms_n=matcher_nms_n, matcher_nms_tau=matcher_nms_tau, matcher_match_binsize=matcher_match_binsize, matcher_match_radius=matcher_match_radius, matcher_match_disp_tolerance=matcher_match_disp_tolerance, matcher_outlier_disp_tolerance=matcher_outlier_disp_tolerance, matcher_outlier_flow_tolerance=matcher_outlier_flow_tolerance, matcher_multi_stage=matcher_multi_stage, matcher_half_resolution=matcher_half_resolution, matcher_refinement=matcher_refinement, bucketing_max_features=bucketing_max_features, bucketing_bucket_width=bucketing_bucket_width, bucketing_bucket_height=bucketing_bucket_height, height=height, pitch=pitch, ransac_iters=ransac_iters, inlier_threshold=inlier_threshold, motion_threshold=motion_threshold ) self.assertEqual({ 'matcher_match_binsize': matcher_match_binsize, 'matcher_match_disp_tolerance': matcher_match_disp_tolerance, 'matcher_outlier_disp_tolerance': matcher_outlier_disp_tolerance, 'matcher_refinement': matcher_refinement, 'pitch': pitch, }, subject.get_properties({ 'matcher_match_binsize', 'matcher_match_disp_tolerance', 'matcher_outlier_disp_tolerance', 'not_a_column', 'matcher_refinement', 'pitch', 'also_not_a_column', 'sir_not_appearing_in_these_columns' }))
def test_get_properties_returns_the_value_of_all_columns(self): matcher_nms_n = 10 matcher_nms_tau = 35 matcher_match_binsize = 16 matcher_match_radius = 155 matcher_match_disp_tolerance = 4 matcher_outlier_disp_tolerance = 3 matcher_outlier_flow_tolerance = 6 matcher_multi_stage = False matcher_half_resolution = False matcher_refinement = MatcherRefinement.SUBPIXEL bucketing_max_features = 6 bucketing_bucket_width = 45 bucketing_bucket_height = 66 height = 0.8 pitch = 0.22 ransac_iters = 1444 inlier_threshold = 0.0006 motion_threshold = 78.4 subject = LibVisOMonoSystem( matcher_nms_n=matcher_nms_n, matcher_nms_tau=matcher_nms_tau, matcher_match_binsize=matcher_match_binsize, matcher_match_radius=matcher_match_radius, matcher_match_disp_tolerance=matcher_match_disp_tolerance, matcher_outlier_disp_tolerance=matcher_outlier_disp_tolerance, matcher_outlier_flow_tolerance=matcher_outlier_flow_tolerance, matcher_multi_stage=matcher_multi_stage, matcher_half_resolution=matcher_half_resolution, matcher_refinement=matcher_refinement, bucketing_max_features=bucketing_max_features, bucketing_bucket_width=bucketing_bucket_width, bucketing_bucket_height=bucketing_bucket_height, height=height, pitch=pitch, ransac_iters=ransac_iters, inlier_threshold=inlier_threshold, motion_threshold=motion_threshold ) properties = subject.get_properties() for key, value in { 'seed': np.nan, 'in_width': np.nan, 'in_height': np.nan, 'in_fx': np.nan, 'in_fy': np.nan, 'in_cx': np.nan, 'in_cy': np.nan, 'matcher_nms_n': matcher_nms_n, 'matcher_nms_tau': matcher_nms_tau, 'matcher_match_binsize': matcher_match_binsize, 'matcher_match_radius': matcher_match_radius, 'matcher_match_disp_tolerance': matcher_match_disp_tolerance, 'matcher_outlier_disp_tolerance': matcher_outlier_disp_tolerance, 'matcher_outlier_flow_tolerance': matcher_outlier_flow_tolerance, 'matcher_multi_stage': matcher_multi_stage, 'matcher_half_resolution': matcher_half_resolution, 'matcher_refinement': matcher_refinement, 'bucketing_max_features': bucketing_max_features, 'bucketing_bucket_width': bucketing_bucket_width, 'bucketing_bucket_height': bucketing_bucket_height, 'height': height, 'pitch': pitch, 'ransac_iters': ransac_iters, 'inlier_threshold': inlier_threshold, 'motion_threshold': motion_threshold }.items(): self.assertIn(key, properties) if isinstance(value, float) and np.isnan(value): self.assertTrue(np.isnan(properties[key])) else: self.assertEqual(value, properties[key])