def settingsWidget(): """ This function puts together a user interface to configure the DRS. It is important to have the last line of this function call: drs.setSettingsWidget(widget) """ widget = QtGui.QWidget() formLayout = QtGui.QFormLayout() widget.setLayout(formLayout) timeSeriesNames = data.timeSeriesNames(data.Input) defaultChannelName = "" if 'TotalBeam' in timeSeriesNames: defaultChannelName = 'TotalBeam' elif timeSeriesNames: defaultChannelName = timeSeriesNames[0] rmNames = data.selectionGroupNames(data.ReferenceMaterial) drs.setSetting("IndexChannel", defaultChannelName) drs.setSetting("ReferenceMaterial", "CO3_shell") drs.setSetting("Mask", True) drs.setSetting("MaskChannel", defaultChannelName) drs.setSetting("MaskCutoff", 0.05) drs.setSetting("MaskTrim", 0.0) drs.setSetting("Age", 0.) drs.setSetting("Dy_Er", 1.8) drs.setSetting("RbBias", 0.) drs.setSetting("CaArBias", 0.) drs.setSetting("Sr88_86_reference", 8.37520938) #Konter & Storm (2014) drs.setSetting("Rb87_85_reference", 0.385710) #Konter & Storm (2014) drs.setSetting("PropagateError", False) settings = drs.settings() indexComboBox = QtGui.QComboBox(widget) indexComboBox.addItems(timeSeriesNames) indexComboBox.setCurrentText(settings["IndexChannel"]) indexComboBox.currentTextChanged.connect(lambda t: drs.setSetting("IndexChannel", t)) formLayout.addRow("Index channel", indexComboBox) rmComboBox = QtGui.QComboBox(widget) rmComboBox.addItems(rmNames) rmComboBox.setCurrentText(settings["ReferenceMaterial"]) rmComboBox.currentTextChanged.connect(lambda t: drs.setSetting("ReferenceMaterial", t)) formLayout.addRow("Reference material", rmComboBox) verticalSpacer = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) formLayout.addItem(verticalSpacer) maskCheckBox = QtGui.QCheckBox(widget) maskCheckBox.setChecked(settings["Mask"]) maskCheckBox.toggled.connect(lambda t: drs.setSetting("Mask", bool(t))) formLayout.addRow("Mask", maskCheckBox) maskComboBox = QtGui.QComboBox(widget) maskComboBox.addItems(data.timeSeriesNames(data.Input)) maskComboBox.setCurrentText(settings["MaskChannel"]) maskComboBox.currentTextChanged.connect(lambda t: drs.setSetting("MaskChannel", t)) formLayout.addRow("Mask channel", maskComboBox) maskLineEdit = QtGui.QLineEdit(widget) maskLineEdit.setText(settings["MaskCutoff"]) maskLineEdit.textChanged.connect(lambda t: drs.setSetting("MaskCutoff", float(t))) formLayout.addRow("Mask cutoff", maskLineEdit) maskTrimLineEdit = QtGui.QLineEdit(widget) maskTrimLineEdit.setText(settings["MaskTrim"]) maskTrimLineEdit.textChanged.connect(lambda t: drs.setSetting("MaskTrim", float(t))) formLayout.addRow("Mask trim", maskTrimLineEdit) verticalSpacer2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) formLayout.addItem(verticalSpacer2) ageLineEdit = QtGui.QLineEdit(widget) ageLineEdit.setText(settings["Age"]) ageLineEdit.textChanged.connect(lambda t: drs.setSetting("Age", float(t))) formLayout.addRow("Age", ageLineEdit) rbBiasLineEdit = QtGui.QLineEdit(widget) rbBiasLineEdit.setText(settings["RbBias"]) rbBiasLineEdit.textChanged.connect(lambda t: drs.setSetting("RbBias", float(t))) formLayout.addRow("Rb Bias Adjustment", rbBiasLineEdit) caArBiasLineEdit = QtGui.QLineEdit(widget) caArBiasLineEdit.setText(settings["CaArBias"]) caArBiasLineEdit.textChanged.connect(lambda t: drs.setSetting("CaArBias", float(t))) formLayout.addRow("CaAr Bias Adjustment", caArBiasLineEdit) dyErLineEdit = QtGui.QLineEdit(widget) dyErLineEdit.setText(settings["Dy_Er"]) dyErLineEdit.textChanged.connect(lambda t: drs.setSetting("Dy_Er", float(t))) formLayout.addRow("Dy/Er ratio", dyErLineEdit) sr88_86_refLineEdit = QtGui.QLineEdit(widget) sr88_86_refLineEdit.setText(settings["Sr88_86_reference"]) sr88_86_refLineEdit.textChanged.connect(lambda t: drs.setSetting("Sr88_86_reference", float(t))) formLayout.addRow("Reference Sr88/Sr86 value", sr88_86_refLineEdit) rb87_85_refLineEdit = QtGui.QLineEdit(widget) rb87_85_refLineEdit.setText(settings["Rb87_85_reference"]) rb87_85_refLineEdit.textChanged.connect(lambda t: drs.setSetting("Rb87_85_reference", float(t))) formLayout.addRow("Reference Rb87/Rb85 value", rb87_85_refLineEdit) propCheckBox = QtGui.QCheckBox(widget) propCheckBox.setChecked(settings["PropagateError"]) propCheckBox.toggled.connect(lambda t: drs.setSetting("PropagateError", bool(t))) formLayout.addRow("Propagate Errors?", propCheckBox) drs.setSettingsWidget(widget)
def settingsWidget(): """ This function puts together a user interface to configure the DRS. It is important to have the last line of this function call: drs.setSettingsWidget(widget) """ widget = QtGui.QWidget() formLayout = QtGui.QFormLayout() widget.setLayout(formLayout) timeSeriesNames = data.timeSeriesNames(data.Input) defaultChannelName = "" if 'TotalBeam' in timeSeriesNames: defaultChannelName = 'TotalBeam' elif timeSeriesNames: defaultChannelName = timeSeriesNames[0] drs.setSetting("IndexChannel", defaultChannelName) drs.setSetting("ReferenceMaterial", "CO3_shell") drs.setSetting("Mask", True) drs.setSetting("MaskChannel", defaultChannelName) drs.setSetting("MaskCutoff", 0.05) drs.setSetting("MaskTrim", 0.0) drs.setSetting("Age", 0.) drs.setSetting("Corrections", "CaAr + REE") drs.setSetting("Dy_Er", 1.8) drs.setSetting("Lu_Yb", 7.0) drs.setSetting("RbBias", 0.) drs.setSetting("CaArBias", 0.) drs.setSetting("Sr88_86_reference", 8.37520938) #Konter & Storm (2014) drs.setSetting("Rb87_85_reference", 0.385710) #Konter & Storm (2014) drs.setSetting("CaPOEqType", 'Linear') drs.setSetting("CaPO_RMs", []) drs.setSetting("PropagateError", False) settings = drs.settings() indexComboBox = QtGui.QComboBox(widget) indexComboBox.addItems(timeSeriesNames) indexComboBox.setCurrentText(settings["IndexChannel"]) indexComboBox.textActivated.connect( lambda t: drs.setSetting("IndexChannel", t)) formLayout.addRow("Index channel", indexComboBox) def updateIndexCombo(): timeSeriesNames = data.timeSeriesNames(data.Input) indexComboBox.clear() indexComboBox.addItems(timeSeriesNames) data.dataChanged.connect(updateIndexCombo) rmComboBox = QtGui.QComboBox(widget) rmNames = data.selectionGroupNames(data.ReferenceMaterial) rmComboBox.addItems(rmNames) if settings["ReferenceMaterial"] in rmNames: rmComboBox.setCurrentText(settings["ReferenceMaterial"]) drs.setSetting("ReferenceMaterial", settings["ReferenceMaterial"]) rmComboBox.textActivated.connect( lambda t: drs.setSetting("ReferenceMaterial", t)) formLayout.addRow("Reference material", rmComboBox) def updateRMCombo(): rmNames = data.selectionGroupNames(data.ReferenceMaterial) rmComboBox.clear() rmComboBox.addItems(rmNames) data.selectionGroupsChanged.connect(updateRMCombo) verticalSpacer = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) formLayout.addItem(verticalSpacer) maskCheckBox = QtGui.QCheckBox(widget) maskCheckBox.setChecked(settings["Mask"]) maskCheckBox.toggled.connect(lambda t: drs.setSetting("Mask", bool(t))) formLayout.addRow("Mask", maskCheckBox) maskComboBox = QtGui.QComboBox(widget) maskComboBox.addItems(data.timeSeriesNames(data.Input)) maskComboBox.setCurrentText(settings["MaskChannel"]) maskComboBox.currentTextChanged.connect( lambda t: drs.setSetting("MaskChannel", t)) formLayout.addRow("Mask channel", maskComboBox) maskLineEdit = QtGui.QLineEdit(widget) maskLineEdit.setText(settings["MaskCutoff"]) maskLineEdit.textChanged.connect( lambda t: drs.setSetting("MaskCutoff", float(t))) formLayout.addRow("Mask cutoff", maskLineEdit) maskTrimLineEdit = QtGui.QLineEdit(widget) maskTrimLineEdit.setText(settings["MaskTrim"]) maskTrimLineEdit.textChanged.connect( lambda t: drs.setSetting("MaskTrim", float(t))) formLayout.addRow("Mask trim", maskTrimLineEdit) verticalSpacer2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) formLayout.addItem(verticalSpacer2) ageLineEdit = QtGui.QLineEdit(widget) ageLineEdit.setText(settings["Age"]) ageLineEdit.textChanged.connect(lambda t: drs.setSetting("Age", float(t))) formLayout.addRow("Age", ageLineEdit) rbBiasLineEdit = QtGui.QLineEdit(widget) rbBiasLineEdit.setText(settings["RbBias"]) rbBiasLineEdit.textChanged.connect( lambda t: drs.setSetting("RbBias", float(t))) formLayout.addRow("Rb Bias Adjustment", rbBiasLineEdit) caArBiasLineEdit = QtGui.QLineEdit(widget) caArBiasLineEdit.setText(settings["CaArBias"]) caArBiasLineEdit.textChanged.connect( lambda t: drs.setSetting("CaArBias", float(t))) formLayout.addRow("CaAr Bias Adjustment", caArBiasLineEdit) verticalSpacer3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) formLayout.addItem(verticalSpacer3) corrComboBox = QtGui.QComboBox(widget) corrComboBox.addItems(['CaAr + REE', 'CaAr only']) corrComboBox.setCurrentText(settings['Corrections']) corrComboBox.currentTextChanged.connect( lambda t: drs.setSetting('Corrections', t)) formLayout.addRow("Corrections", corrComboBox) verticalSpacer4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) formLayout.addItem(verticalSpacer4) luYbLineEdit = QtGui.QLineEdit(widget) luYbLineEdit.setText(settings["Lu_Yb"]) luYbLineEdit.textChanged.connect( lambda t: drs.setSetting("Lu_Yb", float(t))) formLayout.addRow("Lu/Yb ratio", luYbLineEdit) dyErLineEdit = QtGui.QLineEdit(widget) dyErLineEdit.setText(settings["Dy_Er"]) dyErLineEdit.textChanged.connect( lambda t: drs.setSetting("Dy_Er", float(t))) formLayout.addRow("Dy/Er ratio", dyErLineEdit) verticalSpacer5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) formLayout.addItem(verticalSpacer5) sr88_86_refLineEdit = QtGui.QLineEdit(widget) sr88_86_refLineEdit.setText(settings["Sr88_86_reference"]) sr88_86_refLineEdit.textChanged.connect( lambda t: drs.setSetting("Sr88_86_reference", float(t))) formLayout.addRow("Reference Sr88/Sr86 value", sr88_86_refLineEdit) rb87_85_refLineEdit = QtGui.QLineEdit(widget) rb87_85_refLineEdit.setText(settings["Rb87_85_reference"]) rb87_85_refLineEdit.textChanged.connect( lambda t: drs.setSetting("Rb87_85_reference", float(t))) formLayout.addRow("Reference Rb87/Rb85 value", rb87_85_refLineEdit) verticalSpacer6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) formLayout.addItem(verticalSpacer6) # CaPO controls capoEqType = QtGui.QComboBox(widget) capoEqType.addItems(['Linear', 'Exponential Decay']) capoEqType.setCurrentText(settings["CaPOEqType"]) capoEqType.currentTextChanged.connect( lambda t: drs.setSetting("CaPOEqType", t)) formLayout.addRow("CaPO Fit Eqn", capoEqType) setExtButton = QtGui.QToolButton(widget) rmMenu = ReferenceMaterialsMenu(setExtButton) rmMenu.rmsChanged.connect(lambda l: drs.setSetting("CaPO_RMs", l)) setExtButton.setMenu(rmMenu) setExtButton.setPopupMode(QtGui.QToolButton.InstantPopup) setExtButton.setIcon(CUI().icon('trophy')) setExtButton.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) formLayout.addRow("RMs for CaPO correction:", setExtButton) # Plot for CaPO correction formLayout.addRow('CaPO Correction fit', PLOT) # Prop errors controls propCheckBox = QtGui.QCheckBox(widget) propCheckBox.setChecked(settings["PropagateError"]) propCheckBox.toggled.connect( lambda t: drs.setSetting("PropagateError", bool(t))) formLayout.addRow("Propagate Errors?", propCheckBox) # Restore settings try: settings = drs.settings() print('Restoring settings...') print(settings) rmComboBox.setCurrentText(settings["ReferenceMaterial"]) except KeyError: pass drs.setSettingsWidget(widget)
def settingsWidget(): """ This function puts together a user interface to configure the DRS. It is important to have the last line of this function call: drs.setSettingsWidget(widget) """ widget = QtGui.QWidget() formLayout = QtGui.QFormLayout() widget.setLayout(formLayout) timeSeriesNames = data.timeSeriesNames(data.Input) defaultChannelName = "" if timeSeriesNames: defaultChannelName = timeSeriesNames[0] rmNames = data.selectionGroupNames(data.ReferenceMaterial) drs.setSetting("IndexChannel", defaultChannelName) drs.setSetting("ReferenceMaterial", "C_MMC") drs.setSetting("Mask", False) drs.setSetting("MaskChannel", defaultChannelName) drs.setSetting("MaskCutoff", 0.1) drs.setSetting("MaskTrim", 0.0) #drs.setSetting("Lambda87", 1.42e-11) #drs.setSetting("Age", 0.) drs.setSetting("RbBias", 1.) drs.setSetting("CaArBias", 1.) drs.setSetting("PropagateError", False) settings = drs.settings() indexComboBox = QtGui.QComboBox(widget) indexComboBox.addItems(timeSeriesNames) indexComboBox.setCurrentText(settings["IndexChannel"]) indexComboBox.currentTextChanged.connect(lambda t: drs.setSetting("IndexChannel", t)) formLayout.addRow("Index channel", indexComboBox) rmComboBox = QtGui.QComboBox(widget) rmComboBox.addItems(rmNames) if settings["ReferenceMaterial"] in rmNames: rmComboBox.setCurrentText(settings["ReferenceMaterial"]) else: rmComboBox.setCurrentText(rmNames[0]) drs.setSetting("ReferenceMaterial", rmNames[0]) rmComboBox.currentTextChanged.connect(lambda t: drs.setSetting("ReferenceMaterial", t)) formLayout.addRow("Reference material", rmComboBox) verticalSpacer = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) formLayout.addItem(verticalSpacer) maskCheckBox = QtGui.QCheckBox(widget) maskCheckBox.setChecked(settings["Mask"]) maskCheckBox.toggled.connect(lambda t: drs.setSetting("Mask", bool(t))) formLayout.addRow("Mask", maskCheckBox) maskComboBox = QtGui.QComboBox(widget) maskComboBox.addItems(data.timeSeriesNames(data.Input)) maskComboBox.setCurrentText(settings["MaskChannel"]) maskComboBox.currentTextChanged.connect(lambda t: drs.setSetting("MaskChannel", t)) formLayout.addRow("Mask channel", maskComboBox) maskLineEdit = QtGui.QLineEdit(widget) maskLineEdit.setText(settings["MaskCutoff"]) maskLineEdit.textChanged.connect(lambda t: drs.setSetting("MaskCutoff", float(t))) formLayout.addRow("Mask cutoff", maskLineEdit) maskTrimLineEdit = QtGui.QLineEdit(widget) maskTrimLineEdit.setText(settings["MaskTrim"]) maskTrimLineEdit.textChanged.connect(lambda t: drs.setSetting("MaskTrim", float(t))) formLayout.addRow("Mask trim", maskTrimLineEdit) verticalSpacer2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) formLayout.addItem(verticalSpacer2) # lambda87LineEdit = QtGui.QLineEdit(widget) # lambda87LineEdit.setText(settings["Lambda87"]) # lambda87LineEdit.textChanged.connect(lambda t: drs.setSetting("Lambda87", float(t))) # formLayout.addRow("Lambda87", lambda87LineEdit) # ageLineEdit = QtGui.QLineEdit(widget) # ageLineEdit.setText(settings["Age"]) # ageLineEdit.textChanged.connect(lambda t: drs.setSetting("Age", float(t))) # formLayout.addRow("Age", ageLineEdit) rbBiasLineEdit = QtGui.QLineEdit(widget) rbBiasLineEdit.setText(settings["RbBias"]) rbBiasLineEdit.textChanged.connect(lambda t: drs.setSetting("RbBias", float(t))) formLayout.addRow("Rb Bias", rbBiasLineEdit) caArBiasLineEdit = QtGui.QLineEdit(widget) caArBiasLineEdit.setText(settings["CaArBias"]) caArBiasLineEdit.textChanged.connect(lambda t: drs.setSetting("CaArBias", float(t))) formLayout.addRow("CaAr Bias", caArBiasLineEdit) propCheckBox = QtGui.QCheckBox(widget) propCheckBox.setChecked(settings["PropagateError"]) propCheckBox.toggled.connect(lambda t: drs.setSetting("PropagateError", bool(t))) formLayout.addRow("Propagate Errors?", propCheckBox) drs.setSettingsWidget(widget)
def settingsWidget(): """ This function puts together a user interface to configure the DRS. It is important to have the last line of this function call: drs.setSettingsWidget(widget) """ widget = QtGui.QWidget() formLayout = QtGui.QFormLayout() widget.setLayout(formLayout) timeSeriesNames = data.timeSeriesNames(data.Input) defaultChannelName = "" if timeSeriesNames: defaultChannelName = timeSeriesNames[0] rmNames = data.selectionGroupNames(data.ReferenceMaterial) drs.setSetting("IndexChannel", defaultChannelName) drs.setSetting("ReferenceMaterial", "A_MAD") drs.setSetting("Mask", False) drs.setSetting("MaskChannel", defaultChannelName) drs.setSetting("MaskCutoff", 0.1) drs.setSetting("MaskTrim", 0.0) settings = drs.settings() indexComboBox = QtGui.QComboBox(widget) indexComboBox.addItems(timeSeriesNames) indexComboBox.setCurrentText(settings["IndexChannel"]) indexComboBox.currentTextChanged.connect( lambda t: drs.setSetting("IndexChannel", t)) formLayout.addRow("Index channel", indexComboBox) rmComboBox = QtGui.QComboBox(widget) rmComboBox.addItems(rmNames) rmComboBox.setCurrentText(settings["ReferenceMaterial"]) rmComboBox.currentTextChanged.connect( lambda t: drs.setSetting("ReferenceMaterial", t)) formLayout.addRow("Reference material", rmComboBox) verticalSpacer = QtGui.QSpacerItem( 20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) formLayout.addItem(verticalSpacer) maskCheckBox = QtGui.QCheckBox(widget) maskCheckBox.setChecked(settings["Mask"]) maskCheckBox.toggled.connect(lambda t: drs.setSetting("Mask", bool(t))) formLayout.addRow("Mask", maskCheckBox) maskComboBox = QtGui.QComboBox(widget) maskComboBox.addItems(data.timeSeriesNames(data.Input)) maskComboBox.setCurrentText(settings["MaskChannel"]) maskComboBox.currentTextChanged.connect( lambda t: drs.setSetting("MaskChannel", t)) formLayout.addRow("Mask channel", maskComboBox) maskLineEdit = QtGui.QLineEdit(widget) maskLineEdit.setText(settings["MaskCutoff"]) maskLineEdit.textChanged.connect( lambda t: drs.setSetting("MaskCutoff", float(t))) formLayout.addRow("Mask cutoff", maskLineEdit) maskTrimLineEdit = QtGui.QLineEdit(widget) maskTrimLineEdit.setText(settings["MaskTrim"]) maskTrimLineEdit.textChanged.connect( lambda t: drs.setSetting("MaskTrim", float(t))) formLayout.addRow("Mask trim", maskTrimLineEdit) verticalSpacer2 = QtGui.QSpacerItem( 20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) formLayout.addItem(verticalSpacer2) drs.setSettingsWidget(widget)