diff --git a/bindings/python/src/OpenSpaceToolkitAstrodynamicsPy/Estimator/OrbitDeterminationSolver.cpp b/bindings/python/src/OpenSpaceToolkitAstrodynamicsPy/Estimator/OrbitDeterminationSolver.cpp index 2fc4601dd..95d90f790 100644 --- a/bindings/python/src/OpenSpaceToolkitAstrodynamicsPy/Estimator/OrbitDeterminationSolver.cpp +++ b/bindings/python/src/OpenSpaceToolkitAstrodynamicsPy/Estimator/OrbitDeterminationSolver.cpp @@ -24,7 +24,7 @@ inline void OpenSpaceToolkitAstrodynamicsPy_Estimator_OrbitDeterminationSolver(p aModule, "OrbitDeterminationSolver", R"doc( - Orbit Determination solver using Least Squares estimation. + Orbit Determination solver. )doc" ); @@ -32,7 +32,7 @@ inline void OpenSpaceToolkitAstrodynamicsPy_Estimator_OrbitDeterminationSolver(p orbitDeterminationSolver, "Analysis", R"doc( - Analysis results from the Orbit Determination Least Squares Solver. + Analysis results from the Orbit Determination. )doc" ) .def( @@ -120,6 +120,17 @@ inline void OpenSpaceToolkitAstrodynamicsPy_Estimator_OrbitDeterminationSolver(p LeastSquaresSolver: The Least Squares solver. )doc" ) + .def( + "access_estimation_frame", + &OrbitDeterminationSolver::accessEstimationFrame, + return_value_policy::reference_internal, + R"doc( + Access the estimation frame. + + Returns: + Frame: The estimation frame. + )doc" + ) .def( "estimate", &OrbitDeterminationSolver::estimate, diff --git a/bindings/python/test/estimator/test_orbit_determination_solver.py b/bindings/python/test/estimator/test_orbit_determination_solver.py index e1be50b64..c304465d7 100644 --- a/bindings/python/test/estimator/test_orbit_determination_solver.py +++ b/bindings/python/test/estimator/test_orbit_determination_solver.py @@ -73,13 +73,14 @@ def observations() -> list[State]: reference_frame=Frame.ITRF(), ) + @pytest.fixture def initial_guess_sigmas( coordinate_subsets: list[CoordinateSubset], ) -> dict[CoordinateSubset, list[float]]: return { - coordinate_subsets[0]: [1e-1], - coordinate_subsets[1]: [1e-2], + coordinate_subsets[0]: [1e-1, 1e-1, 1e-1], + coordinate_subsets[1]: [1e-2, 1e-2, 1e-2], } @@ -88,10 +89,11 @@ def observation_sigmas( coordinate_subsets: list[CoordinateSubset], ) -> dict[CoordinateSubset, list[float]]: return { - coordinate_subsets[0]: [1e-1], - coordinate_subsets[1]: [1e-2], + coordinate_subsets[0]: [1e-1, 1e-1, 1e-1], + coordinate_subsets[1]: [1e-2, 1e-2, 1e-2], } + @pytest.fixture def rms_error() -> float: return 1.0 @@ -214,7 +216,7 @@ def test_access_methods( assert isinstance(orbit_determination_solver.access_environment(), Environment) assert isinstance(orbit_determination_solver.access_propagator(), Propagator) assert isinstance(orbit_determination_solver.access_solver(), LeastSquaresSolver) - # assert isinstance(orbit_determination_solver.access_estimation_frame(), Frame) + assert isinstance(orbit_determination_solver.access_estimation_frame(), Frame) def test_estimate( self,