@@ -360,13 +360,13 @@ def create_fit_loops_tab(self):
360360 self .loop_param_labels = [f"p0{ i } " for i in range (9 )]
361361 self .loop_lower_fields , self .loop_upper_fields = [], []
362362
363- default_lower = [- np . inf , - np . inf , - np . inf , - np . inf , - np . inf , - np . inf , - np . inf , - np . inf , - np . inf ]
364- default_upper = [np . inf , np . inf , np . inf , np . inf , np . inf , np . inf , np . inf , np . inf , np . inf ]
363+ self . loop_default_lower = [- 1 , - 1 , - 30 , - 30 , - 1 , - 30 , - 30 , - 30 , - 30 ]
364+ self . loop_default_upper = [1 , 1 , 30 , 30 , 1 , 30 , 30 , 30 , 30 ]
365365
366366 for i , label in enumerate (self .loop_param_labels ):
367367 bounds_layout .addWidget (QLabel (label ), i + 2 , 0 )
368- lower_edit = QLineEdit (str (default_lower [i ]))
369- upper_edit = QLineEdit (str (default_upper [i ]))
368+ lower_edit = QLineEdit (str (self . loop_default_lower [i ]))
369+ upper_edit = QLineEdit (str (self . loop_default_upper [i ]))
370370 self .loop_lower_fields .append (lower_edit )
371371 self .loop_upper_fields .append (upper_edit )
372372 bounds_layout .addWidget (lower_edit , i + 2 , 1 )
@@ -500,6 +500,17 @@ def on_do_loop_guess(self):
500500 km_guess = loop_kmeans_guess , num_fit_parms = 9 , n_clus = loop_num_clusters
501501 )
502502 self .loop_fitter .do_guess ()
503+ prior = self .loop_fitter .prior # shape (n_guess, 9)
504+ lower_bounds1 = np .min (prior , axis = 0 )
505+ upper_bounds1 = np .max (prior , axis = 0 )
506+ lower_bounds2 = np .array (self .loop_default_lower , dtype = float )
507+ upper_bounds2 = np .array (self .loop_default_upper , dtype = float )
508+ lower_bounds = np .minimum (lower_bounds1 , lower_bounds2 )
509+ upper_bounds = np .maximum (upper_bounds1 , upper_bounds2 )
510+ for i in range (len (self .loop_lower_fields )):
511+ self .loop_lower_fields [i ].setText (f"{ lower_bounds [i ]:.6g} " )
512+ self .loop_upper_fields [i ].setText (f"{ upper_bounds [i ]:.6g} " )
513+ self .loop_output_box .append ("Bounds updated from prior distribution." )
503514 self .loop_output_box .append (f"Guess shape: { self .loop_fitter .prior .shape } " )
504515 self .loop_output_box .append (f"{ self .loop_fitter .prior [0 :3 ]} " )
505516 self .do_loop_fit_button .setEnabled (True )
0 commit comments