@@ -727,6 +727,54 @@ def sample_parameter_startpoints(self, n_starts: int = 100):
727727 return sampling .sample_parameter_startpoints (
728728 self .parameter_df , n_starts = n_starts )
729729
730+ def unscale_parameters (
731+ self ,
732+ x_dict : Dict [str , float ],
733+ ) -> Dict [str , float ]:
734+ """Unscale parameter values.
735+
736+ Parameters
737+ ----------
738+ x_dict:
739+ Keys are parameter IDs in the PEtab problem, values are scaled
740+ parameter values.
741+
742+ Returns
743+ -------
744+ The unscaled parameter values.
745+ """
746+ return {
747+ parameter_id : parameters .unscale (
748+ parameter_value ,
749+ self .parameter_df [PARAMETER_SCALE ][parameter_id ],
750+ )
751+ for parameter_id , parameter_value in x_dict .items ()
752+ }
753+
754+ def scale_parameters (
755+ self ,
756+ x_dict : Dict [str , float ],
757+ ) -> Dict [str , float ]:
758+ """Scale parameter values.
759+
760+ Parameters
761+ ----------
762+ x_dict:
763+ Keys are parameter IDs in the PEtab problem, values are unscaled
764+ parameter values.
765+
766+ Returns
767+ -------
768+ The scaled parameter values.
769+ """
770+ return {
771+ parameter_id : parameters .scale (
772+ parameter_value ,
773+ self .parameter_df [PARAMETER_SCALE ][parameter_id ],
774+ )
775+ for parameter_id , parameter_value in x_dict .items ()
776+ }
777+
730778
731779def get_default_condition_file_name (model_name : str , folder : str = '' ):
732780 """Get file name according to proposed convention"""
0 commit comments