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

Commit 051c756

Browse files
author
LAKESIDE\LindaT18
committed
added analyze lifetime/spectrum from flim, clear lifetime export data, user checking
1 parent 959d317 commit 051c756

6 files changed

Lines changed: 397 additions & 281 deletions

File tree

PythonGUI_apps/FLIM_analysis/FLIM_plot.py

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
import time
1111
from lmfit.models import GaussianModel
1212
import customplotting.mscope as cpm
13+
14+
sys.path.append(os.path.abspath('../Lifetime_analysis'))
15+
sys.path.append(os.path.abspath('../Spectrum_analysis'))
16+
from Lifetime_analysis import Lifetime_plot_fit
17+
from Spectrum_analysis import Spectra_plot_fit
1318
# local modules
1419

1520
pg.mkQApp()
@@ -24,7 +29,9 @@
2429
WindowTemplate, TemplateBaseClass = pg.Qt.loadUiType(uiFile)
2530

2631
class MainWindow(TemplateBaseClass):
27-
32+
33+
hist_data_signal = QtCore.pyqtSignal()
34+
2835
def __init__(self):
2936
super(TemplateBaseClass, self).__init__()
3037

@@ -42,6 +49,8 @@ def __init__(self):
4249
self.ui.intensity_sums_viewBox.roi.sigRegionChanged.connect(self.line_profile_update_plot)
4350
self.ui.import_pkl_pushButton.clicked.connect(self.import_pkl_to_convert)
4451
self.ui.pkl_to_h5_pushButton.clicked.connect(self.pkl_to_h5)
52+
self.ui.analyze_lifetime_pushButton.clicked.connect(self.on_analyze_lifetime)
53+
self.ui.analyze_spectrum_pushButton.clicked.connect(self.on_analyze_spectrum)
4554

4655
self.show()
4756

@@ -130,6 +139,15 @@ def line_profile_update_plot(self):
130139
except:
131140
pass
132141

142+
def on_analyze_spectrum(self):
143+
self.spectrum_window = Spectra_plot_fit.MainWindow()
144+
self.spectrum_window.show()
145+
self.spectrum_window.opened_from_flim = True
146+
sum_data = self.ui.intensity_sums_viewBox.getRoiPlot().getPlotItem().curves[0].getData()
147+
self.spectrum_window.sum_data_from_flim = np.asarray(sum_data)
148+
self.spectrum_window.ui.plot_without_bck_radioButton.setChecked(True)
149+
self.spectrum_window.ui.result_textBrowser.setText("Data successfully loaded from FLIM analysis.")
150+
133151
def plot_raw_scan(self):
134152
try:
135153
self.hist_image = np.reshape(self.hist_data, newshape=(self.hist_data.shape[0],self.numb_x_pixels,self.numb_y_pixels))
@@ -191,10 +209,25 @@ def update_roi2_plot(self):
191209
# Average data within entire ROI for each frame
192210
data = data.mean(axis=max(axes)).mean(axis=min(axes))
193211
xvals = self.ui.raw_hist_data_viewBox.tVals
194-
if hasattr(self, "roi2_plot"):
212+
if hasattr(self, "roi2_plot"): #make sure second plot is properly cleared everytime
195213
self.roi2_plot.clear()
214+
c = self.ui.raw_hist_data_viewBox.getRoiPlot().getPlotItem().curves.pop()
215+
c.scene().removeItem(c)
196216
self.roi2_plot = self.ui.raw_hist_data_viewBox.getRoiPlot().plot(xvals, data, pen='r')
197217

218+
def get_raw_hist_curve(self, curve_index):
219+
#curve_index = 0 for original roi
220+
#curve_index = 1 for second comparison roi
221+
curves = self.ui.raw_hist_data_viewBox.getRoiPlot().getPlotItem().curves
222+
return curves[curve_index].getData()
223+
224+
def on_analyze_lifetime(self):
225+
self.lifetime_window = Lifetime_plot_fit.MainWindow()
226+
self.lifetime_window.show()
227+
self.lifetime_window.opened_from_flim = True
228+
self.lifetime_window.hist_data_from_flim = np.asarray(self.get_raw_hist_curve(0))
229+
self.lifetime_window.ui.Result_textBrowser.setText("Data successfully loaded from FLIM analysis.")
230+
198231
def save_intensities_image(self):
199232
try:
200233
folder = os.path.dirname(self.filename[0])

PythonGUI_apps/FLIM_analysis/flim_plot_gui.ui

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,13 @@
5656
</property>
5757
</widget>
5858
</item>
59+
<item alignment="Qt::AlignLeft">
60+
<widget class="QPushButton" name="analyze_spectrum_pushButton">
61+
<property name="text">
62+
<string>Analyze spectrum</string>
63+
</property>
64+
</widget>
65+
</item>
5966
</layout>
6067
</item>
6168
<item row="4" column="0">

PythonGUI_apps/Lifetime_analysis/Lifetime_analysis_gui_layout.ui

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,6 +1038,13 @@
10381038
<string>Export Settings</string>
10391039
</property>
10401040
<layout class="QGridLayout" name="gridLayout_3">
1041+
<item row="2" column="0">
1042+
<widget class="QPushButton" name="export_data_pushButton">
1043+
<property name="text">
1044+
<string>Export data</string>
1045+
</property>
1046+
</widget>
1047+
</item>
10411048
<item row="1" column="0">
10421049
<widget class="QCheckBox" name="save_w_fit_checkBox">
10431050
<property name="font">
@@ -1053,7 +1060,14 @@
10531060
</property>
10541061
</widget>
10551062
</item>
1056-
<item row="3" column="0">
1063+
<item row="2" column="1">
1064+
<widget class="QPushButton" name="clear_export_data_pushButton">
1065+
<property name="text">
1066+
<string>Clear export data</string>
1067+
</property>
1068+
</widget>
1069+
</item>
1070+
<item row="4" column="0" colspan="2">
10571071
<widget class="QPushButton" name="export_plot_pushButton">
10581072
<property name="font">
10591073
<font>
@@ -1067,13 +1081,6 @@
10671081
</property>
10681082
</widget>
10691083
</item>
1070-
<item row="2" column="0">
1071-
<widget class="QPushButton" name="export_data_pushButton">
1072-
<property name="text">
1073-
<string>Export data</string>
1074-
</property>
1075-
</widget>
1076-
</item>
10771084
</layout>
10781085
</widget>
10791086
</item>

0 commit comments

Comments
 (0)