Skip to content

Commit

Permalink
Merge branch 'history' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
CCampJr committed Jul 8, 2018
2 parents 5a70174 + bb6bc7b commit 41aaa34
Show file tree
Hide file tree
Showing 5 changed files with 202 additions and 76 deletions.
31 changes: 28 additions & 3 deletions crikit/CRIkitUI.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
from PyQt5.QtWidgets import QMainWindow as _QMainWindow
from PyQt5.QtWidgets import QMessageBox as _QMessageBox
from PyQt5.QtWidgets import QWidget as _QWidget
from PyQt5.QtWidgets import QTableWidgetItem as _QTableWidgetItem

from scipy.signal import savgol_filter as _sg


Expand Down Expand Up @@ -461,6 +463,14 @@ def __init__(self, **kwargs):
print('Error in input data')
self.hsi = Hsi()

def updateHistory(self):
self.ui.tableWidgetHistory.clearContents()
self.ui.tableWidgetHistory.setRowCount(len(self.bcpre.attr_dict))
for num, q in enumerate(self.bcpre.attr_dict):
self.ui.tableWidgetHistory.setItem(num, 0, _QTableWidgetItem(q))
self.ui.tableWidgetHistory.setItem(num, 1,
_QTableWidgetItem(str(self.bcpre.attr_dict[q])))

def plotter_show(self):
self.plotter.show()
self.plotter.raise_()
Expand Down Expand Up @@ -734,13 +744,15 @@ def fileOpenSuccess(self, success):

# Backup for Undo
self.bcpre.add_step(['Raw'])
self.updateHistory()
try:
_BCPre.backup_pickle(self.hsi, self.bcpre.id_list[-1])
except:
print('Error in pickle backup (Undo functionality)')
else:
self.bcpre.backed_up()


# Set frequency slider and associated displays
self.ui.freqSlider.setMinimum(self.hsi.freq.op_range_pix[0])
self.ui.freqSlider.setMaximum(self.hsi.freq.op_range_pix[-1])
Expand Down Expand Up @@ -1051,6 +1063,7 @@ def mergeNRBs(self):
winPlotEffect.parameters['wn_switchpt'],
'scale_left',
winPlotEffect.parameters['scale_left']])
self.updateHistory()

else:
pass
Expand Down Expand Up @@ -1214,6 +1227,7 @@ def _roiSubtract(self, locs):

# Backup for Undo
self.bcpre.add_step(['SubtractROI', 'Spectrum', spectrum])
self.updateHistory()
if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
_BCPre.backup_pickle(self.hsi, self.bcpre.id_list[-1])
Expand Down Expand Up @@ -1710,6 +1724,7 @@ def doKK(self):
self.bcpre.add_step(['KK', 'CARSAmp', cars_amp_offset, 'NRBAmp',
nrb_amp_offset, 'Phase', phase_offset,
'Norm', norm_to_nrb])
self.updateHistory()
if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
_BCPre.backup_pickle(self.hsi, self.bcpre.id_list[-1])
Expand Down Expand Up @@ -1743,6 +1758,7 @@ def deNoiseNRB(self):
self.bcpre.add_step(['DenoiseNrbSG',
'Win_size', win_size,
'Order', order])
self.updateHistory()

self.changeSlider()

Expand Down Expand Up @@ -1771,7 +1787,7 @@ def deNoiseDark(self):
self.bcpre.add_step(['DenoiseDarkSG',
'Win_size', win_size,
'Order', order])

self.updateHistory()

self.changeSlider()

Expand Down Expand Up @@ -1808,6 +1824,7 @@ def deNoise(self):

# Backup for Undo
self.bcpre.add_step(['SVD', 'SVs', svs])
self.updateHistory()

if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
Expand Down Expand Up @@ -1865,6 +1882,7 @@ def errorCorrectPhase(self):
'fix_end_points', fix_end_points,
'max_iter', max_iter,
'min_diff', min_diff])

else:
self.bcpre.add_step(['PhaseErrorCorrectALS',
'smoothness_param', smoothness_param,
Expand All @@ -1877,7 +1895,7 @@ def errorCorrectPhase(self):
'fix_end_points', fix_end_points,
'max_iter', max_iter,
'min_diff', min_diff])

self.updateHistory()
if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
_BCPre.backup_pickle(self.hsi, self.bcpre.id_list[-1])
Expand Down Expand Up @@ -1917,6 +1935,7 @@ def errorCorrectScale(self):
self.bcpre.add_step(['ScaleErrorCorrectSG',
'win_size', win_size,
'order', order])
self.updateHistory()

if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
Expand Down Expand Up @@ -1990,7 +2009,7 @@ def errorCorrectAmp(self):
'fix_end_points', fix_end_points,
'max_iter', max_iter,
'min_diff', min_diff])

self.updateHistory()

if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
Expand All @@ -2008,6 +2027,8 @@ def doUndo(self):
"""
self.bcpre.pop_to_last()
self.hsi = _BCPre.load_pickle(self.bcpre.id_list[-1])
self.updateHistory()

del_flag = 0

for count in self.bcpre.cut_list:
Expand Down Expand Up @@ -2094,6 +2115,7 @@ def subDark(self):
# Backup for Undo
if darkloaded or nrbloaded:
self.bcpre.add_step(['SubDark'])
self.updateHistory()
if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
_BCPre.backup_pickle(self.hsi, self.bcpre.id_list[-1])
Expand Down Expand Up @@ -2192,6 +2214,7 @@ def subResidual(self):
self.bcpre.add_step(['SubResidual','RangeStart',
freqwin[0], 'RangeEnd',
freqwin[1]])
self.updateHistory()
if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
_BCPre.backup_pickle(self.hsi, self.bcpre.id_list[-1])
Expand Down Expand Up @@ -2227,6 +2250,7 @@ def anscombe(self):
self.bcpre.add_step(['Anscombe','Gauss_mean', 0.0,
'Gauss_std', out['stddev'],
'Poisson_multi', out['gain']])
self.updateHistory()
if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
_BCPre.backup_pickle(self.hsi, self.bcpre.id_list[-1])
Expand Down Expand Up @@ -2258,6 +2282,7 @@ def inverseAnscombe(self):
self.bcpre.add_step(['InvAnscombe','Gauss_mean', 0.0,
'Gauss_std', out['stddev'],
'Poisson_multi', out['gain']])
self.updateHistory()
if self.ui.actionUndo_Backup_Enabled.isChecked():
try:
_BCPre.backup_pickle(self.hsi, self.bcpre.id_list[-1])
Expand Down
50 changes: 49 additions & 1 deletion crikit/ui/qt5/ui_CRIkit.ui
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,55 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<widget class="QWidget" name="tabHistory">
<attribute name="title">
<string>History</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QTableWidget" name="tableWidgetHistory">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="rowCount">
<number>0</number>
</property>
<property name="columnCount">
<number>2</number>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>200</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>37</number>
</attribute>
<column>
<property name="text">
<string>Process Attributes</string>
</property>
</column>
<column>
<property name="text">
<string>Value</string>
</property>
</column>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabNotes">
<attribute name="title">
<string>Notes</string>
</attribute>
Expand Down
44 changes: 33 additions & 11 deletions crikit/ui/qt_CRIkit.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Form implementation generated from reading ui file '.\ui_CRIkit.ui'
#
# Created by: PyQt5 UI code generator 5.8.1
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!

Expand Down Expand Up @@ -51,7 +51,6 @@ def setupUi(self, MainWindow):
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.gridLayout_3 = QtWidgets.QGridLayout(self.tab)
self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
self.gridLayout_3.setObjectName("gridLayout_3")
self.sweeperVL = QtWidgets.QVBoxLayout()
self.sweeperVL.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
Expand All @@ -63,7 +62,6 @@ def setupUi(self, MainWindow):
self.tabCompositeLarge = QtWidgets.QWidget()
self.tabCompositeLarge.setObjectName("tabCompositeLarge")
self.gridLayout_4 = QtWidgets.QGridLayout(self.tabCompositeLarge)
self.gridLayout_4.setContentsMargins(0, 0, 0, 0)
self.gridLayout_4.setObjectName("gridLayout_4")
self.sweeperVL_2 = QtWidgets.QVBoxLayout()
self.sweeperVL_2.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
Expand All @@ -75,24 +73,43 @@ def setupUi(self, MainWindow):
self.tabSettings = QtWidgets.QWidget()
self.tabSettings.setObjectName("tabSettings")
self.gridLayout_6 = QtWidgets.QGridLayout(self.tabSettings)
self.gridLayout_6.setContentsMargins(0, 0, 0, 0)
self.gridLayout_6.setObjectName("gridLayout_6")
self.gridLayout_5 = QtWidgets.QGridLayout()
self.gridLayout_5.setObjectName("gridLayout_5")
self.gridLayout_6.addLayout(self.gridLayout_5, 0, 0, 1, 1)
self.tabMain.addTab(self.tabSettings, "")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setObjectName("tab_3")
self.gridLayout_2 = QtWidgets.QGridLayout(self.tab_3)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.tabHistory = QtWidgets.QWidget()
self.tabHistory.setObjectName("tabHistory")
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tabHistory)
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.tableWidgetHistory = QtWidgets.QTableWidget(self.tabHistory)
self.tableWidgetHistory.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
self.tableWidgetHistory.setRowCount(0)
self.tableWidgetHistory.setColumnCount(2)
self.tableWidgetHistory.setObjectName("tableWidgetHistory")
item = QtWidgets.QTableWidgetItem()
self.tableWidgetHistory.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidgetHistory.setHorizontalHeaderItem(1, item)
self.tableWidgetHistory.horizontalHeader().setCascadingSectionResizes(False)
self.tableWidgetHistory.horizontalHeader().setDefaultSectionSize(200)
self.tableWidgetHistory.horizontalHeader().setStretchLastSection(True)
self.tableWidgetHistory.verticalHeader().setVisible(False)
self.tableWidgetHistory.verticalHeader().setCascadingSectionResizes(False)
self.tableWidgetHistory.verticalHeader().setDefaultSectionSize(37)
self.verticalLayout_4.addWidget(self.tableWidgetHistory)
self.tabMain.addTab(self.tabHistory, "")
self.tabNotes = QtWidgets.QWidget()
self.tabNotes.setObjectName("tabNotes")
self.gridLayout_2 = QtWidgets.QGridLayout(self.tabNotes)
self.gridLayout_2.setObjectName("gridLayout_2")
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.plainTextEdit = QtWidgets.QPlainTextEdit(self.tab_3)
self.plainTextEdit = QtWidgets.QPlainTextEdit(self.tabNotes)
self.plainTextEdit.setObjectName("plainTextEdit")
self.gridLayout.addWidget(self.plainTextEdit, 0, 0, 1, 1)
self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)
self.tabMain.addTab(self.tab_3, "")
self.tabMain.addTab(self.tabNotes, "")
self.verticalLayout_3.addWidget(self.tabMain)
self.freqSlider = QtWidgets.QScrollBar(self.centralwidget)
self.freqSlider.setMinimumSize(QtCore.QSize(400, 30))
Expand Down Expand Up @@ -555,10 +572,15 @@ def retranslateUi(self, MainWindow):
self.tabMain.setTabText(self.tabMain.indexOf(self.tab), _translate("MainWindow", "Single Frequency"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tabCompositeLarge), _translate("MainWindow", "Composite"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tabSettings), _translate("MainWindow", "Settings"))
item = self.tableWidgetHistory.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "Process Attributes"))
item = self.tableWidgetHistory.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Value"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tabHistory), _translate("MainWindow", "History"))
self.plainTextEdit.setPlainText(_translate("MainWindow", "This is where you enter notes....\n"
"\n"
"This will be saved to the processed file."))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_3), _translate("MainWindow", "Notes"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tabNotes), _translate("MainWindow", "Notes"))
self.labelFreqPixel.setText(_translate("MainWindow", "Freq Pixel"))
self.labelWavenumber.setText(_translate("MainWindow", "Wavenumber (cm-1)"))
self.menuFile.setTitle(_translate("MainWindow", "File"))
Expand Down
Loading

0 comments on commit 41aaa34

Please sign in to comment.