@@ -1522,6 +1522,8 @@ def __init__(self, plotting_widget, spect_xtal):
15221522 # and depart here from concept of using more mild colors in UI.
15231523 # Milder versions of these makes it less visible
15241524 # The avg curves is mildified a bit
1525+ self .m_abs_value = None
1526+ self .m_bkgd_value = None
15251527 self .pw = plotting_widget
15261528 self .pm = self .pw .pos_markers
15271529 if self .pw .canvas .dark_mode :
@@ -1577,10 +1579,21 @@ def update_peak(self, *args, **kwargs):
15771579 poly1 = np .polynomial .polynomial .polyfit (xses1 , ys1 , order )
15781580 y_pos = np .polynomial .polynomial .polyval (m_pos , poly1 )
15791581 self .m_abs_value = y_pos
1582+ # make some better resollution linspace, as peaks
1583+ # often are sharper than sampled:
15801584 xses_hr = np .linspace (data_x [i1_min ], data_x [i1_max ])
15811585 self .m_avg_curve .setData (
15821586 xses_hr ,
15831587 np .polynomial .polynomial .polyval (xses_hr , poly1 ))
1588+ self .update_peak_height ()
1589+
1590+ def update_peak_height (self ):
1591+ if self .m_abs_value is None :
1592+ return
1593+ if self .m_bkgd_value is not None :
1594+ self .pw .amp_val_w .setValue (self .m_abs_value - self .m_bkgd_value )
1595+ else :
1596+ self .pw .amp_val_w .setValue (self .m_abs_value )
15841597
15851598 def prepare_to_destroy (self ):
15861599 self .pm .m_line .sigPositionChanged .disconnect (self .update_peak )
@@ -1667,9 +1680,9 @@ def update_background(self):
16671680 num = 512 )
16681681 y = self .get_background (x_pos1 , x_pos2 , y_pos1 , y_pos2 , x_linespace )
16691682 self .setData (x_linespace , y )
1670- self .pw . amp_val_w . setValue (
1671- self . m_abs_value - self . get_background ( x_pos1 , x_pos2 , y_pos1 ,
1672- y_pos2 , m_pos ) )
1683+ self .m_bkgd_value = self . get_background ( x_pos1 , x_pos2 , y_pos1 ,
1684+ y_pos2 , m_pos )
1685+ self . update_peak_height ( )
16731686
16741687 def prepare_to_destroy (self ):
16751688 self .pm .bg1_line .sigPositionChanged .disconnect (self .update_background )
@@ -1779,7 +1792,8 @@ def update_background(self, *args, slope=None):
17791792 num = 512 )
17801793 b = y_pos - x_pos * m
17811794 self .setData (x_linespace , x_linespace * m + b )
1782- self .pw .amp_val_w .setValue (self .m_abs_value - y_pos_main )
1795+ self .m_bkgd_value = y_pos_main
1796+ self .update_peak_height ()
17831797
17841798 def prepare_to_destroy (self ):
17851799 self .pm .bg2_line .sigPositionChanged .disconnect (self .update_background )
@@ -2057,6 +2071,7 @@ def __init__(self, wds_tree_model, wds_tree_selection_model):
20572071 self .pos_markers = PositionMarkers ()
20582072 self .bkgd_helper_widget = QWidget (self .splitter )
20592073 self .amplitude_widget = QWidget (self .splitter )
2074+ self .amplitude_widget .setVisible (False )
20602075 self .splitter .insertWidget (0 , self .amplitude_widget )
20612076 self .backgrounds = []
20622077 self ._setup_wds_additions ()
@@ -2194,6 +2209,12 @@ def set_background_model(self, *args):
21942209 bkg = ExponentialBackground (self , combi )
21952210 self .backgrounds .append (bkg )
21962211 self .canvas .addItem (bkg )
2212+ if not any ((self .action_linear_background .isChecked (),
2213+ self .action_exp_background .isChecked ())) and \
2214+ self .pos_markers .m_line is not None :
2215+ for combi in xtal_spect_combi :
2216+ bkg = NoBackground (self , combi )
2217+ self .backgrounds .append (bkg )
21972218 self .update_bkgd_helper_box_visibility ()
21982219
21992220 def clear_background_models (self ):
@@ -2202,6 +2223,7 @@ def clear_background_models(self):
22022223 bkgd .prepare_to_destroy ()
22032224 self .canvas .p1 .removeItem (bkgd )
22042225 self .backgrounds .clear () # just to be sure none left
2226+ self .amplitude_widget .setVisible (False )
22052227
22062228 def show_three_markers_on_canvas (self ):
22072229 self .clear_background_models ()
@@ -2233,6 +2255,7 @@ def show_single_marker_on_canvas(self):
22332255 self .pos_markers .register_canvas (self .canvas )
22342256 self .action_linear_background .setEnabled (False )
22352257 self .action_exp_background .setEnabled (False )
2258+ self .set_background_model ()
22362259
22372260 def update_bkgd_helper_box_visibility (self ):
22382261 if self .action_linear_background .isChecked () or \
@@ -2242,6 +2265,8 @@ def update_bkgd_helper_box_visibility(self):
22422265 else :
22432266 self .bkgd_helper_widget .hide ()
22442267 self .m_val_label .setText ("abs. I:" )
2268+ if self .pos_markers .m_line is not None :
2269+ self .amplitude_widget .setVisible (True )
22452270
22462271 def _setup_markers (self ):
22472272 self .action_marker_bgx2 = QAction (
0 commit comments