Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

Commit e5aad83

Browse files
author
LAKESIDE\LindaT18
committed
added export fig for spectra scan, added export data for single spectrum
1 parent fc8cbbb commit e5aad83

2 files changed

Lines changed: 107 additions & 41 deletions

File tree

PythonGUI_apps/Spectrum_analysis/Spectra_plot_fit.py

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ def __init__(self):
7474
self.ui.fit_scan_pushButton.clicked.connect(self.fit_and_plot_scan)
7575
# self.ui.config_fit_params_pushButton.clicked.connect(self.configure_fit_params)
7676
self.ui.clear_pushButton.clicked.connect(self.clear_plot)
77-
self.ui.export_fig_pushButton.clicked.connect(self.pub_ready_plot_export)
77+
self.ui.export_single_figure_pushButton.clicked.connect(self.pub_ready_plot_export)
78+
self.ui.export_scan_figure_pushButton.clicked.connect(self.pub_ready_plot_export)
7879

7980
self.ui.import_pkl_pushButton.clicked.connect(self.open_pkl_file)
8081
self.ui.data_txt_pushButton.clicked.connect(self.pkl_data_to_txt)
@@ -86,6 +87,9 @@ def __init__(self):
8687
self.ui.fitFunc_comboBox.currentTextChanged.connect(self.switch_bounds_and_guess_tab)
8788
self.ui.adjust_param_checkBox.stateChanged.connect(self.switch_adjust_param)
8889

90+
self.ui.export_data_pushButton.clicked.connect(self.export_data)
91+
self.ui.clear_export_data_pushButton.clicked.connect(self.clear_export_data)
92+
8993
# for i in reversed(range(self.ui.bounds_groupBox.layout().count())):
9094
# self.ui.bounds_groupBox.layout().itemAt(i).widget().deleteLater()
9195
#self.ui.single_bounds_page.layout().addWidget(QtWidgets.QPushButton("test"))
@@ -104,17 +108,20 @@ def __init__(self):
104108
#variables accounting for data received from FLIM analysis
105109
self.opened_from_flim = False #switched to True in FLIM_plot when "analyze lifetime" clicked
106110
self.sum_data_from_flim = []
111+
112+
#container for data to append to txt file
113+
self.data_list = []
107114

108115
self.show()
109116

110117
""" Open Single Spectrum files """
111118
def open_file(self):
112119
try:
113-
filename = QtWidgets.QFileDialog.getOpenFileName(self)
120+
self.single_spec_filename = QtWidgets.QFileDialog.getOpenFileName(self)
114121
try:
115-
self.file = np.loadtxt(filename[0], skiprows = 16, delimiter='\t')
122+
self.file = np.loadtxt(self.single_spec_filename[0], skiprows = 16, delimiter='\t')
116123
except:
117-
self.file = np.genfromtxt(filename[0], skip_header=1, skip_footer=3, delimiter='\t')
124+
self.file = np.genfromtxt(self.single_spec_filename[0], skip_header=1, skip_footer=3, delimiter='\t')
118125
self.opened_from_flim = False
119126
except:
120127
pass
@@ -403,6 +410,7 @@ def fit_and_plot(self):
403410
self.ui.plot.plot(self.x, comps['g3_'], pen='c', clear=False)
404411
self.ui.result_textBrowser.setText(self.result.fit_report())
405412

413+
self.data_list.append(self.ui.result_textBrowser.toPlainText())
406414

407415
except Exception as e:
408416
self.ui.result_textBrowser.append(str(e))
@@ -433,6 +441,27 @@ def pub_ready_plot_export(self):
433441
except AttributeError:
434442
self.ui.result_textBrowser.setText("Need to fit the data first!")
435443

444+
def export_data(self):
445+
""" Save fit params and srv calculations stored in data_list as .txt """
446+
folder = os.path.dirname(self.single_spec_filename[0])
447+
filename_ext = os.path.basename(self.single_spec_filename[0])
448+
filename = os.path.splitext(filename_ext)[0] #get filename without extension
449+
450+
path = folder + "/" + filename + "_fit_results.txt"
451+
if not os.path.exists(path):
452+
file = open(path, "w+")
453+
else:
454+
file = open(path, "a+")
455+
456+
for i in range(len(self.data_list)):
457+
file.write(self.data_list[i] + "\n\n")
458+
459+
self.data_list = []
460+
file.close()
461+
462+
def clear_export_data(self):
463+
self.data_list = []
464+
436465

437466
""" Scan spectra functions """
438467
def get_data_params(self):

PythonGUI_apps/Spectrum_analysis/Spectra_plot_fit_gui.ui

Lines changed: 74 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -759,81 +759,80 @@
759759
<string>Load Settings</string>
760760
</property>
761761
<layout class="QGridLayout" name="gridLayout_13">
762-
<item row="0" column="0">
763-
<widget class="QLabel" name="label_2">
762+
<item row="2" column="0">
763+
<widget class="QPushButton" name="importBck_pushButton">
764764
<property name="font">
765765
<font>
766766
<pointsize>10</pointsize>
767767
</font>
768768
</property>
769769
<property name="text">
770-
<string>For Single Spectrum</string>
770+
<string>Background
771+
File</string>
771772
</property>
772773
</widget>
773774
</item>
774-
<item row="1" column="0">
775-
<widget class="QPushButton" name="importSpec_pushButton">
775+
<item row="7" column="0">
776+
<widget class="QCheckBox" name="norm_checkBox">
776777
<property name="font">
777778
<font>
778779
<pointsize>10</pointsize>
779780
</font>
780781
</property>
781782
<property name="text">
782-
<string>Spectrum
783-
File</string>
783+
<string>Normalize</string>
784784
</property>
785785
</widget>
786786
</item>
787-
<item row="2" column="0">
788-
<widget class="QPushButton" name="importBck_pushButton">
787+
<item row="9" column="0">
788+
<widget class="QCheckBox" name="clear_checkBox">
789789
<property name="font">
790790
<font>
791791
<pointsize>10</pointsize>
792792
</font>
793793
</property>
794794
<property name="text">
795-
<string>Background
796-
File</string>
795+
<string>Clear Plots Everytime</string>
796+
</property>
797+
<property name="checked">
798+
<bool>true</bool>
797799
</property>
798800
</widget>
799801
</item>
800-
<item row="3" column="0">
801-
<widget class="QPushButton" name="importWLRef_pushButton">
802+
<item row="6" column="0">
803+
<widget class="QCheckBox" name="WLRef_checkBox">
802804
<property name="font">
803805
<font>
804806
<pointsize>10</pointsize>
805807
</font>
806808
</property>
807809
<property name="text">
808-
<string>White Light
809-
Ref File</string>
810+
<string>Correct for White Light</string>
810811
</property>
811812
</widget>
812813
</item>
813-
<item row="7" column="0">
814-
<widget class="QCheckBox" name="norm_checkBox">
814+
<item row="0" column="0">
815+
<widget class="QLabel" name="label_2">
815816
<property name="font">
816817
<font>
817818
<pointsize>10</pointsize>
818819
</font>
819820
</property>
820821
<property name="text">
821-
<string>Normalize</string>
822+
<string>For Single Spectrum</string>
822823
</property>
823824
</widget>
824825
</item>
825-
<item row="9" column="0">
826-
<widget class="QCheckBox" name="clear_checkBox">
826+
<item row="3" column="0">
827+
<widget class="QPushButton" name="importWLRef_pushButton">
827828
<property name="font">
828829
<font>
829830
<pointsize>10</pointsize>
830831
</font>
831832
</property>
832833
<property name="text">
833-
<string>Clear Plots Everytime</string>
834-
</property>
835-
<property name="checked">
836-
<bool>true</bool>
834+
<string>White Light
835+
Ref File</string>
837836
</property>
838837
</widget>
839838
</item>
@@ -852,15 +851,37 @@ Ref File</string>
852851
</property>
853852
</widget>
854853
</item>
855-
<item row="6" column="0">
856-
<widget class="QCheckBox" name="WLRef_checkBox">
854+
<item row="1" column="0">
855+
<widget class="QPushButton" name="importSpec_pushButton">
857856
<property name="font">
858857
<font>
859858
<pointsize>10</pointsize>
860859
</font>
861860
</property>
862861
<property name="text">
863-
<string>Correct for White Light</string>
862+
<string>Spectrum
863+
File</string>
864+
</property>
865+
</widget>
866+
</item>
867+
<item row="12" column="0">
868+
<widget class="QPushButton" name="export_data_pushButton">
869+
<property name="font">
870+
<font>
871+
<pointsize>10</pointsize>
872+
</font>
873+
</property>
874+
<property name="text">
875+
<string>Export data</string>
876+
</property>
877+
</widget>
878+
</item>
879+
<item row="14" column="0">
880+
<widget class="QTextBrowser" name="result_textBrowser">
881+
<property name="font">
882+
<font>
883+
<pointsize>10</pointsize>
884+
</font>
864885
</property>
865886
</widget>
866887
</item>
@@ -879,7 +900,7 @@ Ref File</string>
879900
</widget>
880901
</item>
881902
<item row="11" column="0">
882-
<widget class="QPushButton" name="export_fig_pushButton">
903+
<widget class="QPushButton" name="export_single_figure_pushButton">
883904
<property name="font">
884905
<font>
885906
<pointsize>10</pointsize>
@@ -891,37 +912,40 @@ Ready Figure</string>
891912
</property>
892913
</widget>
893914
</item>
894-
<item row="10" column="0">
895-
<widget class="QPushButton" name="clear_pushButton">
915+
<item row="5" column="0">
916+
<widget class="QRadioButton" name="plot_without_bck_radioButton">
896917
<property name="font">
897918
<font>
898919
<pointsize>10</pointsize>
899-
<strikeout>false</strikeout>
900920
</font>
901921
</property>
902922
<property name="text">
903-
<string>Clear Plot</string>
923+
<string>Plot without Background</string>
904924
</property>
905925
</widget>
906926
</item>
907-
<item row="12" column="0">
908-
<widget class="QTextBrowser" name="result_textBrowser">
927+
<item row="10" column="0">
928+
<widget class="QPushButton" name="clear_pushButton">
909929
<property name="font">
910930
<font>
911931
<pointsize>10</pointsize>
932+
<strikeout>false</strikeout>
912933
</font>
913934
</property>
935+
<property name="text">
936+
<string>Clear Plot</string>
937+
</property>
914938
</widget>
915939
</item>
916-
<item row="5" column="0">
917-
<widget class="QRadioButton" name="plot_without_bck_radioButton">
940+
<item row="13" column="0">
941+
<widget class="QPushButton" name="clear_export_data_pushButton">
918942
<property name="font">
919943
<font>
920944
<pointsize>10</pointsize>
921945
</font>
922946
</property>
923947
<property name="text">
924-
<string>Plot without Background</string>
948+
<string>Clear export data</string>
925949
</property>
926950
</widget>
927951
</item>
@@ -1226,6 +1250,19 @@ File</string>
12261250
</property>
12271251
</widget>
12281252
</item>
1253+
<item>
1254+
<widget class="QPushButton" name="export_scan_figure_pushButton">
1255+
<property name="font">
1256+
<font>
1257+
<pointsize>12</pointsize>
1258+
</font>
1259+
</property>
1260+
<property name="text">
1261+
<string>Export Fitted
1262+
Scan</string>
1263+
</property>
1264+
</widget>
1265+
</item>
12291266
<item>
12301267
<widget class="QTextBrowser" name="result_textBrowser2"/>
12311268
</item>

0 commit comments

Comments
 (0)