@@ -30,6 +30,9 @@ def __init__(self, main_window):
3030 self .backend = None
3131 self .biomarker_type = None
3232
33+ # handel signal connection carefully when switch biomarkers, optimized in the future
34+ self .signal_connected = False
35+
3336 def set_biomarker_type_and_init_backend (self , bio_type ):
3437 self .biomarker_type = bio_type
3538 if bio_type == 'HFO' :
@@ -106,6 +109,12 @@ def create_center_waveform_and_mini_plot(self):
106109 self .window .waveform_mini_widget ,
107110 self .backend )
108111
112+ # part of “clear everything if exit”, optimize in the future
113+ if self .signal_connected :
114+ self .window .waveform_time_scroll_bar .valueChanged .disconnect (self .scroll_time_waveform_plot )
115+ self .window .channel_scroll_bar .valueChanged .disconnect (self .scroll_channel_waveform_plot )
116+ self .signal_connected = True
117+
109118 def init_classifier_param (self ):
110119 self .window .classifier_param = ParamClassifier ()
111120 # self.classifier_save_button.clicked.connect(self.hfo_app.set_classifier())
@@ -525,6 +534,9 @@ def update_edf_info(self, results):
525534 # connect buttons
526535 self .window .waveform_time_scroll_bar .valueChanged .connect (self .scroll_time_waveform_plot )
527536 self .window .channel_scroll_bar .valueChanged .connect (self .scroll_channel_waveform_plot )
537+
538+ self .signal_connected = True
539+
528540 self .window .waveform_plot_button .clicked .connect (self .waveform_plot_button_clicked )
529541 self .window .waveform_plot_button .setEnabled (True )
530542 self .window .Choose_Channels_Button .clicked .connect (self .open_channel_selection )
@@ -643,16 +655,22 @@ def filtering_complete(self):
643655 else :
644656 self .backend .set_unfiltered_60 ()
645657
646- self .window .STE_save_button .setEnabled (True )
647- self .window .ste_detect_button .setEnabled (True )
648- self .window .MNI_save_button .setEnabled (True )
649- self .window .mni_detect_button .setEnabled (True )
650- self .window .HIL_save_button .setEnabled (True )
651- self .window .hil_detect_button .setEnabled (True )
652- self .window .is_data_filtered = True
653- self .window .show_filtered = True
654- self .window .waveform_plot .set_filtered (True )
655- self .window .save_npz_button .setEnabled (True )
658+ if self .biomarker_type == 'HFO' :
659+ self .window .STE_save_button .setEnabled (True )
660+ self .window .ste_detect_button .setEnabled (True )
661+ self .window .MNI_save_button .setEnabled (True )
662+ self .window .mni_detect_button .setEnabled (True )
663+ self .window .HIL_save_button .setEnabled (True )
664+ self .window .hil_detect_button .setEnabled (True )
665+ self .window .is_data_filtered = True
666+ self .window .show_filtered = True
667+ self .window .waveform_plot .set_filtered (True )
668+ self .window .save_npz_button .setEnabled (True )
669+ elif self .biomarker_type == 'Spindle' :
670+ self .window .is_data_filtered = True
671+ self .window .show_filtered = True
672+ self .window .waveform_plot .set_filtered (True )
673+ self .window .save_npz_button .setEnabled (True )
656674
657675 def detect_HFOs (self ):
658676 print ("Detecting HFOs..." )
@@ -936,9 +954,6 @@ def reinitialize(self):
936954 self .window .main_length .setText ("" )
937955 self .window .statistics_label .setText ("" )
938956
939- def close_other_window (self ):
940- self .window .close_signal .emit ()
941-
942957 def update_ste_params (self , ste_params ):
943958 rms_window = str (ste_params ["rms_window" ])
944959 min_window = str (ste_params ["min_window" ])
@@ -1043,7 +1058,8 @@ def set_detector_param_display(self):
10431058 self .update_hil_params (detector_params .detector_param .to_dict ())
10441059
10451060 def open_bipolar_channel_selection (self ):
1046- self .window .bipolar_channel_selection_window = BipolarChannelSelectionWindow (self .backend ,
1061+ self .window .bipolar_channel_selection_window = BipolarChannelSelectionWindow (self ,
1062+ self .backend ,
10471063 self .window ,
10481064 self .window .close_signal ,
10491065 self .window .waveform_plot )
0 commit comments