Source code for crikit.ui.dialog_subResidualOptions
"""
References
----------
[1] C H Camp Jr, Y J Lee, and M T Cicerone, "Quantitative, Comparable Coherent \
Anti-Stokes Raman Scattering (CARS) Spectroscopy: Correcting Errors in Phase \
Retrieval," Journal of Raman Spectroscopy (2016). arXiv:1507.06543.
"""
import sys as _sys
# Generic imports for QT-based programs
from PyQt5.QtWidgets import (QApplication as _QApplication,
QDialog as _QDialog)
# Import from Designer-based GUI
from crikit.ui.qt_SubResidualOptions import Ui_Dialog as Ui_ResidualOptions ### EDIT ###
# Generic imports for MPL-incorporation
import matplotlib as _mpl
_mpl.use('Qt5Agg')
_mpl.rcParams['font.family'] = 'sans-serif'
_mpl.rcParams['font.size'] = 10
[docs]class DialogSubResidualOptions(_QDialog):
"""
"""
RESIDUAL_FREQ = [-1500, -400]
def __init__(self, parent = None):
super(DialogSubResidualOptions, self).__init__(parent) ### EDIT ###
self.ui = Ui_ResidualOptions() ### EDIT ###
self.ui.setupUi(self) ### EDIT ###
self.ui.spinBoxMax.setValue(self.RESIDUAL_FREQ[0])
self.ui.spinBoxMax.setValue(self.RESIDUAL_FREQ[1])
[docs] @staticmethod
def dialogSubResidualOptions(parent = None,
imgloaded = False,
nrbloaded = False):
"""
Retrieve dark subtraction dialog results
Parameters
----------
imgloaded : (bool)
Is there an HSI image loaded?
nrbloaded : (bool)
Is there an NRB loaded?
Returns
----------
out : dict{'submain' : bool, 'subnrb' : bool, 'subrange' : list}
In order: subtract residual from image, subtract residual from NRB,
range to subtract from.
"""
dialog = DialogSubResidualOptions(parent)
# If nrb loaded, check and enable checkbox
dialog.ui.checkBoxBG.setChecked(nrbloaded)
dialog.ui.checkBoxBG.setEnabled(nrbloaded)
dialog.subnrb = nrbloaded
# If img is loaded, check and enable checkbox
dialog.ui.checkBoxMain.setChecked(imgloaded)
dialog.ui.checkBoxMain.setEnabled(imgloaded)
dialog.submain = imgloaded
result = dialog.exec_()
if result == 1:
ret = {}
freq = [dialog.ui.spinBoxMin.value(),
dialog.ui.spinBoxMax.value()]
ret['subrange'] = freq
ret['submain'] = dialog.ui.checkBoxMain.isChecked()
ret['subnrb'] = dialog.ui.checkBoxBG.isChecked()
return ret
else:
return None
if __name__ == '__main__':
app = _QApplication(_sys.argv)
app.setStyle('Cleanlooks')
out = DialogSubResidualOptions.dialogSubResidualOptions(imgloaded=True, nrbloaded=True)
print(out)
app.exec_()