def __init__(self, dev, win): Qt.QWidget.__init__(self) self.win = win self.dev = dev self.layout = Qt.QGridLayout() self.setLayout(self.layout) self.axCtrls = {} self.posLabels = {} self.limitChecks = {} cap = dev.capabilities() self.nextRow = 0 for axis in (0, 1, 2): if cap['getPos'][axis]: axLabel = Qt.QLabel('XYZ'[axis]) axLabel.setMaximumWidth(15) posLabel = Qt.QLabel('0') self.posLabels[axis] = posLabel widgets = [axLabel, posLabel] if cap['limits'][axis]: minCheck = Qt.QCheckBox('Min:') minCheck.tag = (axis, 0) # minBtn = Qt.QPushButton('set') # minBtn.tag = (axis, 0) # minBtn.setMaximumWidth(30) maxCheck = Qt.QCheckBox('Max:') maxCheck.tag = (axis, 1) # maxBtn = Qt.QPushButton('set') # maxBtn.tag = (axis, 1) # maxBtn.setMaximumWidth(30) self.limitChecks[axis] = (minCheck, maxCheck) widgets.extend([minCheck, maxCheck]) for check in (minCheck, maxCheck): check.clicked.connect(self.limitCheckClicked) # for btn in (minBtn, maxBtn): # btn.sigClicked.connect(self.limitBtnClicked) for i, w in enumerate(widgets): self.layout.addWidget(w, self.nextRow, i) self.axCtrls[axis] = widgets self.nextRow += 1 self.updateLimits() self.dev.sigPositionChanged.connect(self.update) self.dev.sigLimitsChanged.connect(self.updateLimits) self.update()
def writeParams(self): nodes = self.flowchart.nodes() params = {} #excludes=['Input', 'Output', 'GatherInfo', 'NegativeEventFilter', 'EventListPlotter', 'ColumnJoin', 'ColumnSelect', 'Plot'] includes = ['DenoiseFilter','LowPassBesselFilter','HighPassBesselFilter','DetrendFilter','HistogramDetrend','ExpDeconvolve','ThresholdEvents','CaEventFitter'] ## get previously stored values if os.path.exists(self.paramStorageFile): prev = pg.configfile.readConfigFile(self.paramStorageFile) else: prev = {} for name in includes: node = nodes[name] d = {} if hasattr(node, 'ctrls'): for k, v in node.ctrls.items(): if type(v) == type(Qt.QCheckBox()): d[k] = v.isChecked() elif type(v) == type(Qt.QComboBox()): d[k] = str(v.currentText()) elif type(v) in [type(Qt.QSpinBox()), type(Qt.QDoubleSpinBox()), type(pg.SpinBox())]: d[k] = v.value() else: print("Not saving param %s for node %s because we don't know how to record value of type %s" %(k, name, str(type(v)))) d['bypassed'] = node.isBypassed() params[name] = d item = self.fileLoader.ui.fileTree.currentItem() roi = str(item.text(0)) ## replace or add previously stored values prev[roi] = params pg.configfile.writeConfigFile(prev, self.paramStorageFile)
def __init__(self, dev, taskRunner): TaskGui.__init__(self, dev, taskRunner) self.layout = Qt.QGridLayout() self.setLayout(self.layout) self.blankCheck = Qt.QCheckBox("Blank Screen") self.layout.addWidget(self.blankCheck)
def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(228, 75) self.gridLayout = Qt.QGridLayout(Form) self.gridLayout.setMargin(0) self.gridLayout.setVerticalSpacing(0) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.label = Qt.QLabel(Form) self.label.setObjectName(_fromUtf8("label")) self.gridLayout.addWidget(self.label, 0, 0, 1, 1) self.slicePlaneCombo = Qt.QComboBox(Form) self.slicePlaneCombo.setObjectName(_fromUtf8("slicePlaneCombo")) self.slicePlaneCombo.addItem(_fromUtf8("")) self.slicePlaneCombo.addItem(_fromUtf8("")) self.slicePlaneCombo.addItem(_fromUtf8("")) self.slicePlaneCombo.addItem(_fromUtf8("")) self.gridLayout.addWidget(self.slicePlaneCombo, 0, 1, 1, 1) self.label_2 = Qt.QLabel(Form) self.label_2.setObjectName(_fromUtf8("label_2")) self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1) self.hemisphereCombo = Qt.QComboBox(Form) self.hemisphereCombo.setObjectName(_fromUtf8("hemisphereCombo")) self.hemisphereCombo.addItem(_fromUtf8("")) self.hemisphereCombo.addItem(_fromUtf8("")) self.gridLayout.addWidget(self.hemisphereCombo, 1, 1, 1, 1) self.label_3 = Qt.QLabel(Form) self.label_3.setObjectName(_fromUtf8("label_3")) self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) self.thicknessSpin = SpinBox(Form) self.thicknessSpin.setObjectName(_fromUtf8("thicknessSpin")) self.gridLayout.addWidget(self.thicknessSpin, 3, 1, 1, 1) self.photoCheck = Qt.QCheckBox(Form) self.photoCheck.setObjectName(_fromUtf8("photoCheck")) self.gridLayout.addWidget(self.photoCheck, 2, 0, 1, 1) self.drawingCheck = Qt.QCheckBox(Form) self.drawingCheck.setChecked(True) self.drawingCheck.setObjectName(_fromUtf8("drawingCheck")) self.gridLayout.addWidget(self.drawingCheck, 2, 1, 1, 1) self.retranslateUi(Form) Qt.QMetaObject.connectSlotsByName(Form)
def __init__(self, cp, parentImage=None): self.cp = cp Qt.QTreeWidgetItem.__init__(self) self.paramCombo = pg.ComboBox() self.thresholdSpin = pg.SpinBox(value=0.98, dec=True, step=0.1) self.maxCheck = Qt.QCheckBox() self.colorBtn = ColorButton(color=(255,255,255)) self.remBtn = Qt.QPushButton('Remove') self.curveItem = pg.IsocurveItem() self.curveItem.setParentItem(parentImage) self.paramCombo.currentIndexChanged.connect(self.emitChanged) self.thresholdSpin.valueChanged.connect(self.emitChanged) self.maxCheck.stateChanged.connect(self.emitChanged) self.colorBtn.sigColorChanged.connect(self.setPen) self.remBtn.clicked.connect(self.delete)
def __init__(self): Qt.QDialog.__init__(self) #self.setModal(False) self.setWindowFlags(Qt.Qt.Window) #self.setWindowModality(Qt.Qt.NonModal) self.setWindowTitle('ACQ4 Error') self.layout = Qt.QVBoxLayout() self.layout.setContentsMargins(3, 3, 3, 3) self.setLayout(self.layout) self.messages = [] self.msgLabel = Qt.QLabel() #self.msgLabel.setWordWrap(False) #self.msgLabel.setMaximumWidth(800) self.msgLabel.setSizePolicy(Qt.QSizePolicy.Expanding, Qt.QSizePolicy.Expanding) #self.msgLabel.setFrameStyle(Qt.QFrame.Box) #self.msgLabel.setStyleSheet('QLabel { font-weight: bold }') self.layout.addWidget(self.msgLabel) self.msgLabel.setMaximumWidth(800) self.msgLabel.setMinimumWidth(500) self.msgLabel.setWordWrap(True) self.layout.addStretch() self.disableCheck = Qt.QCheckBox('Disable error message popups') self.layout.addWidget(self.disableCheck) self.btnLayout = Qt.QHBoxLayout() self.btnLayout.addStretch() self.okBtn = Qt.QPushButton('OK') self.btnLayout.addWidget(self.okBtn) self.nextBtn = Qt.QPushButton('Show next error') self.btnLayout.addWidget(self.nextBtn) self.nextBtn.hide() self.logBtn = Qt.QPushButton('Show Log...') self.btnLayout.addWidget(self.logBtn) self.btnLayoutWidget = Qt.QWidget() self.layout.addWidget(self.btnLayoutWidget) self.btnLayoutWidget.setLayout(self.btnLayout) self.btnLayout.addStretch() self.okBtn.clicked.connect(self.okClicked) self.nextBtn.clicked.connect(self.nextMessage) self.logBtn.clicked.connect(self.logClicked)
def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(384, 410) sizePolicy = Qt.QSizePolicy(Qt.QSizePolicy.Minimum, Qt.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth()) Form.setSizePolicy(sizePolicy) Form.setMaximumSize(Qt.QSize(384, 410)) font = Qt.QFont() font.setFamily(_fromUtf8("Arial")) font.setPointSize(12) Form.setFont(font) self.gridLayout = Qt.QGridLayout(Form) self.gridLayout.setMargin(0) self.gridLayout.setHorizontalSpacing(10) self.gridLayout.setVerticalSpacing(0) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.groupBox = Qt.QGroupBox(Form) self.groupBox.setMaximumSize(Qt.QSize(392, 410)) font = Qt.QFont() font.setFamily(_fromUtf8("Lucida Grande")) font.setPointSize(13) self.groupBox.setFont(font) self.groupBox.setAlignment(Qt.Qt.AlignCenter) self.groupBox.setFlat(True) self.groupBox.setObjectName(_fromUtf8("groupBox")) self.groupBox_3 = Qt.QGroupBox(self.groupBox) self.groupBox_3.setGeometry(Qt.QRect(15, 20, 171, 371)) sizePolicy = Qt.QSizePolicy(Qt.QSizePolicy.Preferred, Qt.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_3.sizePolicy().hasHeightForWidth()) self.groupBox_3.setSizePolicy(sizePolicy) palette = Qt.QPalette() brush = Qt.QBrush(Qt.QColor(99, 99, 99)) brush.setStyle(Qt.Qt.SolidPattern) palette.setBrush(Qt.QPalette.Active, Qt.QPalette.Shadow, brush) brush = Qt.QBrush(Qt.QColor(99, 99, 99)) brush.setStyle(Qt.Qt.SolidPattern) palette.setBrush(Qt.QPalette.Inactive, Qt.QPalette.Shadow, brush) brush = Qt.QBrush(Qt.QColor(99, 99, 99)) brush.setStyle(Qt.Qt.SolidPattern) palette.setBrush(Qt.QPalette.Disabled, Qt.QPalette.Shadow, brush) self.groupBox_3.setPalette(palette) self.groupBox_3.setObjectName(_fromUtf8("groupBox_3")) self.layoutWidget = Qt.QWidget(self.groupBox_3) self.layoutWidget.setGeometry(Qt.QRect(10, 240, 146, 26)) self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) self.horizontalLayout_10 = Qt.QHBoxLayout(self.layoutWidget) self.horizontalLayout_10.setMargin(9) self.horizontalLayout_10.setSpacing(6) self.horizontalLayout_10.setObjectName( _fromUtf8("horizontalLayout_10")) self.label_6 = Qt.QLabel(self.layoutWidget) self.label_6.setObjectName(_fromUtf8("label_6")) self.horizontalLayout_10.addWidget(self.label_6) self.ImagePhys_ROIKernel = Qt.QComboBox(self.layoutWidget) self.ImagePhys_ROIKernel.setMaximumSize(Qt.QSize(75, 16777215)) self.ImagePhys_ROIKernel.setToolTip(_fromUtf8("")) self.ImagePhys_ROIKernel.setLayoutDirection(Qt.Qt.LeftToRight) self.ImagePhys_ROIKernel.setStyleSheet( _fromUtf8("<align = \'right\'>")) self.ImagePhys_ROIKernel.setMaxVisibleItems(1) self.ImagePhys_ROIKernel.setMaxCount(10) self.ImagePhys_ROIKernel.setSizeAdjustPolicy( Qt.QComboBox.AdjustToMinimumContentsLength) self.ImagePhys_ROIKernel.setFrame(False) self.ImagePhys_ROIKernel.setModelColumn(0) self.ImagePhys_ROIKernel.setObjectName( _fromUtf8("ImagePhys_ROIKernel")) self.ImagePhys_ROIKernel.addItem(_fromUtf8("")) self.ImagePhys_ROIKernel.addItem(_fromUtf8("")) self.ImagePhys_ROIKernel.addItem(_fromUtf8("")) self.ImagePhys_ROIKernel.addItem(_fromUtf8("")) self.ImagePhys_ROIKernel.addItem(_fromUtf8("")) self.ImagePhys_ROIKernel.addItem(_fromUtf8("")) self.horizontalLayout_10.addWidget(self.ImagePhys_ROIKernel) self.layoutWidget1 = Qt.QWidget(self.groupBox_3) self.layoutWidget1.setGeometry(Qt.QRect(5, 215, 156, 25)) self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1")) self.horizontalLayout_14 = Qt.QHBoxLayout(self.layoutWidget1) self.horizontalLayout_14.setMargin(9) self.horizontalLayout_14.setSpacing(6) self.horizontalLayout_14.setObjectName( _fromUtf8("horizontalLayout_14")) self.ImagePhys_StdRB = Qt.QRadioButton(self.layoutWidget1) self.ImagePhys_StdRB.setObjectName(_fromUtf8("ImagePhys_StdRB")) self.horizontalLayout_14.addWidget(self.ImagePhys_StdRB) self.ImagePhys_FFTRB = Qt.QRadioButton(self.layoutWidget1) self.ImagePhys_FFTRB.setChecked(True) self.ImagePhys_FFTRB.setObjectName(_fromUtf8("ImagePhys_FFTRB")) self.horizontalLayout_14.addWidget(self.ImagePhys_FFTRB) self.layoutWidget2 = Qt.QWidget(self.groupBox_3) self.layoutWidget2.setGeometry(Qt.QRect(10, 270, 146, 100)) self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2")) self.verticalLayout_2 = Qt.QVBoxLayout(self.layoutWidget2) self.verticalLayout_2.setMargin(9) self.verticalLayout_2.setSpacing(6) self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) self.ImagePhys_RecalculateROIs = Qt.QPushButton(self.layoutWidget2) self.ImagePhys_RecalculateROIs.setObjectName( _fromUtf8("ImagePhys_RecalculateROIs")) self.verticalLayout_2.addWidget(self.ImagePhys_RecalculateROIs) self.ImagePhys_RetrieveROI = Qt.QPushButton(self.layoutWidget2) self.ImagePhys_RetrieveROI.setObjectName( _fromUtf8("ImagePhys_RetrieveROI")) self.verticalLayout_2.addWidget(self.ImagePhys_RetrieveROI) self.ImagePhys_SaveROI = Qt.QPushButton(self.layoutWidget2) self.ImagePhys_SaveROI.setObjectName(_fromUtf8("ImagePhys_SaveROI")) self.verticalLayout_2.addWidget(self.ImagePhys_SaveROI) self.widget = Qt.QWidget(self.groupBox_3) self.widget.setGeometry(Qt.QRect(5, 20, 161, 136)) self.widget.setObjectName(_fromUtf8("widget")) self.gridLayout_2 = Qt.QGridLayout(self.widget) self.gridLayout_2.setMargin(9) self.gridLayout_2.setSpacing(6) self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) self.ImagePhys_addRoi = Qt.QPushButton(self.widget) self.ImagePhys_addRoi.setObjectName(_fromUtf8("ImagePhys_addRoi")) self.gridLayout_2.addWidget(self.ImagePhys_addRoi, 0, 0, 1, 1) self.ImagePhys_clearRoi = Qt.QPushButton(self.widget) self.ImagePhys_clearRoi.setObjectName(_fromUtf8("ImagePhys_clearRoi")) self.gridLayout_2.addWidget(self.ImagePhys_clearRoi, 1, 0, 1, 1) self.ImagePhys_findROIs = Qt.QPushButton(self.widget) self.ImagePhys_findROIs.setObjectName(_fromUtf8("ImagePhys_findROIs")) self.gridLayout_2.addWidget(self.ImagePhys_findROIs, 2, 0, 1, 1) self.horizontalLayout_3 = Qt.QHBoxLayout() self.horizontalLayout_3.setMargin(9) self.horizontalLayout_3.setSpacing(6) self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3")) self.label_13 = Qt.QLabel(self.widget) self.label_13.setObjectName(_fromUtf8("label_13")) self.horizontalLayout_3.addWidget(self.label_13) self.ImagePhys_ROISize = Qt.QSpinBox(self.widget) self.ImagePhys_ROISize.setMinimum(1) self.ImagePhys_ROISize.setMaximum(25) self.ImagePhys_ROISize.setProperty("value", 2) self.ImagePhys_ROISize.setObjectName(_fromUtf8("ImagePhys_ROISize")) self.horizontalLayout_3.addWidget(self.ImagePhys_ROISize) self.gridLayout_2.addLayout(self.horizontalLayout_3, 3, 0, 1, 1) self.widget1 = Qt.QWidget(self.groupBox_3) self.widget1.setGeometry(Qt.QRect(5, 160, 161, 53)) self.widget1.setObjectName(_fromUtf8("widget1")) self.horizontalLayout_4 = Qt.QHBoxLayout(self.widget1) self.horizontalLayout_4.setMargin(9) self.horizontalLayout_4.setSpacing(6) self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4")) self.verticalLayout = Qt.QVBoxLayout() self.verticalLayout.setMargin(9) self.verticalLayout.setSpacing(6) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.label_11 = Qt.QLabel(self.widget1) self.label_11.setAlignment(Qt.Qt.AlignCenter) self.label_11.setObjectName(_fromUtf8("label_11")) self.verticalLayout.addWidget(self.label_11) self.ImagePhys_ROIThrLow = Qt.QDoubleSpinBox(self.widget1) sizePolicy = Qt.QSizePolicy(Qt.QSizePolicy.Minimum, Qt.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.ImagePhys_ROIThrLow.sizePolicy().hasHeightForWidth()) self.ImagePhys_ROIThrLow.setSizePolicy(sizePolicy) self.ImagePhys_ROIThrLow.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_ROIThrLow.setMinimum(0.01) self.ImagePhys_ROIThrLow.setMaximum(1.0) self.ImagePhys_ROIThrLow.setSingleStep(0.1) self.ImagePhys_ROIThrLow.setProperty("value", 0.2) self.ImagePhys_ROIThrLow.setObjectName( _fromUtf8("ImagePhys_ROIThrLow")) self.verticalLayout.addWidget(self.ImagePhys_ROIThrLow) self.horizontalLayout_4.addLayout(self.verticalLayout) self.verticalLayout_3 = Qt.QVBoxLayout() self.verticalLayout_3.setMargin(9) self.verticalLayout_3.setSpacing(6) self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3")) self.label_12 = Qt.QLabel(self.widget1) self.label_12.setAlignment(Qt.Qt.AlignCenter) self.label_12.setObjectName(_fromUtf8("label_12")) self.verticalLayout_3.addWidget(self.label_12) self.ImagePhys_ROIThrHigh = Qt.QDoubleSpinBox(self.widget1) sizePolicy = Qt.QSizePolicy(Qt.QSizePolicy.Minimum, Qt.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.ImagePhys_ROIThrHigh.sizePolicy().hasHeightForWidth()) self.ImagePhys_ROIThrHigh.setSizePolicy(sizePolicy) self.ImagePhys_ROIThrHigh.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_ROIThrHigh.setMinimum(0.1) self.ImagePhys_ROIThrHigh.setMaximum(1.0) self.ImagePhys_ROIThrHigh.setSingleStep(0.1) self.ImagePhys_ROIThrHigh.setProperty("value", 1.0) self.ImagePhys_ROIThrHigh.setObjectName( _fromUtf8("ImagePhys_ROIThrHigh")) self.verticalLayout_3.addWidget(self.ImagePhys_ROIThrHigh) self.horizontalLayout_4.addLayout(self.verticalLayout_3) self.groupBox_2 = Qt.QGroupBox(self.groupBox) self.groupBox_2.setGeometry(Qt.QRect(205, 20, 156, 191)) self.groupBox_2.setMinimumSize(Qt.QSize(120, 190)) self.groupBox_2.setObjectName(_fromUtf8("groupBox_2")) self.ImagePhys_RegisterStack = Qt.QPushButton(self.groupBox_2) self.ImagePhys_RegisterStack.setGeometry(Qt.QRect(0, 15, 151, 29)) self.ImagePhys_RegisterStack.setObjectName( _fromUtf8("ImagePhys_RegisterStack")) self.layoutWidget3 = Qt.QWidget(self.groupBox_2) self.layoutWidget3.setGeometry(Qt.QRect(0, 40, 141, 32)) self.layoutWidget3.setObjectName(_fromUtf8("layoutWidget3")) self.horizontalLayout_6 = Qt.QHBoxLayout(self.layoutWidget3) self.horizontalLayout_6.setMargin(9) self.horizontalLayout_6.setSpacing(6) self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6")) self.ImagePhys_UnBleach = Qt.QPushButton(self.layoutWidget3) self.ImagePhys_UnBleach.setCheckable(True) self.ImagePhys_UnBleach.setObjectName(_fromUtf8("ImagePhys_UnBleach")) self.horizontalLayout_6.addWidget(self.ImagePhys_UnBleach) self.ImagePhys_BleachInfo = Qt.QLabel(self.layoutWidget3) self.ImagePhys_BleachInfo.setFrameShape(Qt.QFrame.StyledPanel) self.ImagePhys_BleachInfo.setFrameShadow(Qt.QFrame.Sunken) self.ImagePhys_BleachInfo.setAlignment(Qt.Qt.AlignCenter) self.ImagePhys_BleachInfo.setObjectName( _fromUtf8("ImagePhys_BleachInfo")) self.horizontalLayout_6.addWidget(self.ImagePhys_BleachInfo) self.ImagePhys_SpecCalc = Qt.QPushButton(self.groupBox_2) self.ImagePhys_SpecCalc.setGeometry(Qt.QRect(0, 70, 151, 30)) self.ImagePhys_SpecCalc.setObjectName(_fromUtf8("ImagePhys_SpecCalc")) self.layoutWidget4 = Qt.QWidget(self.groupBox_2) self.layoutWidget4.setGeometry(Qt.QRect(0, 95, 146, 27)) self.layoutWidget4.setObjectName(_fromUtf8("layoutWidget4")) self.horizontalLayout = Qt.QHBoxLayout(self.layoutWidget4) self.horizontalLayout.setMargin(9) self.horizontalLayout.setSpacing(6) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.label_7 = Qt.QLabel(self.layoutWidget4) self.label_7.setObjectName(_fromUtf8("label_7")) self.horizontalLayout.addWidget(self.label_7) self.ImagePhys_SpecHPF = Qt.QDoubleSpinBox(self.layoutWidget4) self.ImagePhys_SpecHPF.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_SpecHPF.setProperty("value", 1.0) self.ImagePhys_SpecHPF.setObjectName(_fromUtf8("ImagePhys_SpecHPF")) self.horizontalLayout.addWidget(self.ImagePhys_SpecHPF) self.layoutWidget5 = Qt.QWidget(self.groupBox_2) self.layoutWidget5.setGeometry(Qt.QRect(0, 125, 146, 27)) self.layoutWidget5.setObjectName(_fromUtf8("layoutWidget5")) self.horizontalLayout_11 = Qt.QHBoxLayout(self.layoutWidget5) self.horizontalLayout_11.setMargin(9) self.horizontalLayout_11.setSpacing(6) self.horizontalLayout_11.setObjectName( _fromUtf8("horizontalLayout_11")) self.label_8 = Qt.QLabel(self.layoutWidget5) self.label_8.setObjectName(_fromUtf8("label_8")) self.horizontalLayout_11.addWidget(self.label_8) self.ImagePhys_SpecLPF = Qt.QDoubleSpinBox(self.layoutWidget5) self.ImagePhys_SpecLPF.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_SpecLPF.setProperty("value", 10.0) self.ImagePhys_SpecLPF.setObjectName(_fromUtf8("ImagePhys_SpecLPF")) self.horizontalLayout_11.addWidget(self.ImagePhys_SpecLPF) self.layoutWidget6 = Qt.QWidget(self.groupBox_2) self.layoutWidget6.setGeometry(Qt.QRect(1, 155, 149, 27)) self.layoutWidget6.setObjectName(_fromUtf8("layoutWidget6")) self.horizontalLayout_12 = Qt.QHBoxLayout(self.layoutWidget6) self.horizontalLayout_12.setMargin(9) self.horizontalLayout_12.setSpacing(6) self.horizontalLayout_12.setObjectName( _fromUtf8("horizontalLayout_12")) self.label_10 = Qt.QLabel(self.layoutWidget6) self.label_10.setObjectName(_fromUtf8("label_10")) self.horizontalLayout_12.addWidget(self.label_10) self.ImagePhys_FFTSmooth = Qt.QSpinBox(self.layoutWidget6) self.ImagePhys_FFTSmooth.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_FFTSmooth.setMaximum(16) self.ImagePhys_FFTSmooth.setObjectName( _fromUtf8("ImagePhys_FFTSmooth")) self.horizontalLayout_12.addWidget(self.ImagePhys_FFTSmooth) self.groupBox_6 = Qt.QGroupBox(self.groupBox) self.groupBox_6.setGeometry(Qt.QRect(205, 220, 161, 161)) self.groupBox_6.setObjectName(_fromUtf8("groupBox_6")) self.layoutWidget7 = Qt.QWidget(self.groupBox_6) self.layoutWidget7.setGeometry(Qt.QRect(5, 51, 152, 31)) self.layoutWidget7.setObjectName(_fromUtf8("layoutWidget7")) self.horizontalLayout_7 = Qt.QHBoxLayout(self.layoutWidget7) self.horizontalLayout_7.setMargin(9) self.horizontalLayout_7.setSpacing(6) self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7")) self.label_3 = Qt.QLabel(self.layoutWidget7) self.label_3.setObjectName(_fromUtf8("label_3")) self.horizontalLayout_7.addWidget(self.label_3) self.ImagePhys_BaseEnd = Qt.QDoubleSpinBox(self.layoutWidget7) self.ImagePhys_BaseEnd.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_BaseEnd.setMinimum(-5000.0) self.ImagePhys_BaseEnd.setMaximum(50000.0) self.ImagePhys_BaseEnd.setObjectName(_fromUtf8("ImagePhys_BaseEnd")) self.horizontalLayout_7.addWidget(self.ImagePhys_BaseEnd) self.layoutWidget8 = Qt.QWidget(self.groupBox_6) self.layoutWidget8.setGeometry(Qt.QRect(5, 20, 152, 27)) self.layoutWidget8.setObjectName(_fromUtf8("layoutWidget8")) self.horizontalLayout_2 = Qt.QHBoxLayout(self.layoutWidget8) self.horizontalLayout_2.setMargin(9) self.horizontalLayout_2.setSpacing(6) self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) self.label = Qt.QLabel(self.layoutWidget8) self.label.setObjectName(_fromUtf8("label")) self.horizontalLayout_2.addWidget(self.label) self.ImagePhys_BaseStart = Qt.QDoubleSpinBox(self.layoutWidget8) self.ImagePhys_BaseStart.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_BaseStart.setMinimum(-5000.0) self.ImagePhys_BaseStart.setMaximum(50000.0) self.ImagePhys_BaseStart.setObjectName( _fromUtf8("ImagePhys_BaseStart")) self.horizontalLayout_2.addWidget(self.ImagePhys_BaseStart) self.layoutWidget9 = Qt.QWidget(self.groupBox_6) self.layoutWidget9.setGeometry(Qt.QRect(5, 85, 151, 32)) self.layoutWidget9.setObjectName(_fromUtf8("layoutWidget9")) self.horizontalLayout_8 = Qt.QHBoxLayout(self.layoutWidget9) self.horizontalLayout_8.setMargin(9) self.horizontalLayout_8.setSpacing(6) self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8")) self.ImagePhys_CorrTool_LPF = Qt.QCheckBox(self.layoutWidget9) self.ImagePhys_CorrTool_LPF.setEnabled(True) self.ImagePhys_CorrTool_LPF.setLayoutDirection(Qt.Qt.RightToLeft) self.ImagePhys_CorrTool_LPF.setObjectName( _fromUtf8("ImagePhys_CorrTool_LPF")) self.horizontalLayout_8.addWidget(self.ImagePhys_CorrTool_LPF) self.ImagePhys_ImgLPF = Qt.QDoubleSpinBox(self.layoutWidget9) self.ImagePhys_ImgLPF.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_ImgLPF.setDecimals(2) self.ImagePhys_ImgLPF.setMinimum(0.1) self.ImagePhys_ImgLPF.setMaximum(5000.0) self.ImagePhys_ImgLPF.setSingleStep(1.0) self.ImagePhys_ImgLPF.setProperty("value", 20.0) self.ImagePhys_ImgLPF.setObjectName(_fromUtf8("ImagePhys_ImgLPF")) self.horizontalLayout_8.addWidget(self.ImagePhys_ImgLPF) self.layoutWidget10 = Qt.QWidget(self.groupBox_6) self.layoutWidget10.setGeometry(Qt.QRect(5, 120, 151, 32)) self.layoutWidget10.setObjectName(_fromUtf8("layoutWidget10")) self.horizontalLayout_9 = Qt.QHBoxLayout(self.layoutWidget10) self.horizontalLayout_9.setMargin(9) self.horizontalLayout_9.setSpacing(6) self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9")) self.ImagePhys_CorrTool_HPF = Qt.QCheckBox(self.layoutWidget10) self.ImagePhys_CorrTool_HPF.setLayoutDirection(Qt.Qt.RightToLeft) self.ImagePhys_CorrTool_HPF.setObjectName( _fromUtf8("ImagePhys_CorrTool_HPF")) self.horizontalLayout_9.addWidget(self.ImagePhys_CorrTool_HPF) self.ImagePhys_ImgHPF = Qt.QDoubleSpinBox(self.layoutWidget10) self.ImagePhys_ImgHPF.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.ImagePhys_ImgHPF.setSuffix(_fromUtf8("")) self.ImagePhys_ImgHPF.setDecimals(3) self.ImagePhys_ImgHPF.setMinimum(0.001) self.ImagePhys_ImgHPF.setMaximum(10.0) self.ImagePhys_ImgHPF.setSingleStep(0.2) self.ImagePhys_ImgHPF.setProperty("value", 0.2) self.ImagePhys_ImgHPF.setObjectName(_fromUtf8("ImagePhys_ImgHPF")) self.horizontalLayout_9.addWidget(self.ImagePhys_ImgHPF) self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 1) self.retranslateUi(Form) self.ImagePhys_ROIKernel.setCurrentIndex(1) Qt.QMetaObject.connectSlotsByName(Form)
def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(400, 410) sizePolicy = Qt.QSizePolicy(Qt.QSizePolicy.Preferred, Qt.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth()) Form.setSizePolicy(sizePolicy) font = Qt.QFont() font.setFamily(_fromUtf8("Arial")) font.setPointSize(12) Form.setFont(font) self.gridLayout = Qt.QGridLayout(Form) self.gridLayout.setMargin(0) self.gridLayout.setHorizontalSpacing(10) self.gridLayout.setVerticalSpacing(0) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.groupBox = Qt.QGroupBox(Form) sizePolicy = Qt.QSizePolicy(Qt.QSizePolicy.Preferred, Qt.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox.sizePolicy().hasHeightForWidth()) self.groupBox.setSizePolicy(sizePolicy) self.groupBox.setMinimumSize(Qt.QSize(0, 380)) self.groupBox.setAlignment(Qt.Qt.AlignCenter) self.groupBox.setObjectName(_fromUtf8("groupBox")) self.gridLayout_2 = Qt.QGridLayout(self.groupBox) self.gridLayout_2.setSizeConstraint(Qt.QLayout.SetNoConstraint) self.gridLayout_2.setMargin(0) self.gridLayout_2.setHorizontalSpacing(5) self.gridLayout_2.setVerticalSpacing(0) self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) self.line = Qt.QFrame(self.groupBox) self.line.setFrameShape(Qt.QFrame.VLine) self.line.setFrameShadow(Qt.QFrame.Sunken) self.line.setObjectName(_fromUtf8("line")) self.gridLayout_2.addWidget(self.line, 1, 1, 2, 1) self.line_2 = Qt.QFrame(self.groupBox) self.line_2.setFrameShape(Qt.QFrame.HLine) self.line_2.setFrameShadow(Qt.QFrame.Sunken) self.line_2.setObjectName(_fromUtf8("line_2")) self.gridLayout_2.addWidget(self.line_2, 0, 0, 1, 1) self.IAFuncs_widget = Qt.QWidget(self.groupBox) sizePolicy = Qt.QSizePolicy(Qt.QSizePolicy.Preferred, Qt.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.IAFuncs_widget.sizePolicy().hasHeightForWidth()) self.IAFuncs_widget.setSizePolicy(sizePolicy) self.IAFuncs_widget.setObjectName(_fromUtf8("IAFuncs_widget")) self.IAFuncs_checkbox_TraceLabels = Qt.QCheckBox(self.IAFuncs_widget) self.IAFuncs_checkbox_TraceLabels.setGeometry(Qt.QRect( 10, 360, 83, 18)) self.IAFuncs_checkbox_TraceLabels.setChecked(True) self.IAFuncs_checkbox_TraceLabels.setObjectName( _fromUtf8("IAFuncs_checkbox_TraceLabels")) self.widget = Qt.QWidget(self.IAFuncs_widget) self.widget.setGeometry(Qt.QRect(180, 0, 196, 371)) sizePolicy = Qt.QSizePolicy(Qt.QSizePolicy.Preferred, Qt.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.widget.sizePolicy().hasHeightForWidth()) self.widget.setSizePolicy(sizePolicy) self.widget.setObjectName(_fromUtf8("widget")) self.label_15 = Qt.QLabel(self.widget) self.label_15.setGeometry(Qt.QRect(10, 10, 136, 16)) self.label_15.setObjectName(_fromUtf8("label_15")) self.layoutWidget = Qt.QWidget(self.widget) self.layoutWidget.setGeometry(Qt.QRect(10, 30, 176, 186)) self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) self.formLayout = Qt.QFormLayout(self.layoutWidget) self.formLayout.setMargin(9) self.formLayout.setSpacing(6) self.formLayout.setObjectName(_fromUtf8("formLayout")) self.horizontalLayout_2 = Qt.QHBoxLayout() self.horizontalLayout_2.setMargin(9) self.horizontalLayout_2.setSpacing(6) self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) self.label_18 = Qt.QLabel(self.layoutWidget) self.label_18.setObjectName(_fromUtf8("label_18")) self.horizontalLayout_2.addWidget(self.label_18) self.smc_Kd = Qt.QDoubleSpinBox(self.layoutWidget) self.smc_Kd.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.smc_Kd.setDecimals(0) self.smc_Kd.setMinimum(0.0) self.smc_Kd.setMaximum(5000.0) self.smc_Kd.setProperty("value", 345.0) self.smc_Kd.setObjectName(_fromUtf8("smc_Kd")) self.horizontalLayout_2.addWidget(self.smc_Kd) self.formLayout.setLayout(1, Qt.QFormLayout.SpanningRole, self.horizontalLayout_2) self.horizontalLayout_3 = Qt.QHBoxLayout() self.horizontalLayout_3.setMargin(9) self.horizontalLayout_3.setSpacing(6) self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3")) self.label_19 = Qt.QLabel(self.layoutWidget) self.label_19.setObjectName(_fromUtf8("label_19")) self.horizontalLayout_3.addWidget(self.label_19) self.smc_TCa = Qt.QDoubleSpinBox(self.layoutWidget) self.smc_TCa.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.smc_TCa.setDecimals(3) self.smc_TCa.setMinimum(0.001) self.smc_TCa.setMaximum(5.0) self.smc_TCa.setSingleStep(0.01) self.smc_TCa.setProperty("value", 0.025) self.smc_TCa.setObjectName(_fromUtf8("smc_TCa")) self.horizontalLayout_3.addWidget(self.smc_TCa) self.formLayout.setLayout(2, Qt.QFormLayout.SpanningRole, self.horizontalLayout_3) self.horizontalLayout_4 = Qt.QHBoxLayout() self.horizontalLayout_4.setMargin(9) self.horizontalLayout_4.setSpacing(6) self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4")) self.label_17 = Qt.QLabel(self.layoutWidget) self.label_17.setObjectName(_fromUtf8("label_17")) self.horizontalLayout_4.addWidget(self.label_17) self.smc_C0 = Qt.QDoubleSpinBox(self.layoutWidget) self.smc_C0.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.smc_C0.setDecimals(3) self.smc_C0.setMinimum(0.01) self.smc_C0.setMaximum(1000.0) self.smc_C0.setObjectName(_fromUtf8("smc_C0")) self.horizontalLayout_4.addWidget(self.smc_C0) self.formLayout.setLayout(3, Qt.QFormLayout.SpanningRole, self.horizontalLayout_4) self.horizontalLayout = Qt.QHBoxLayout() self.horizontalLayout.setMargin(9) self.horizontalLayout.setSpacing(6) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.label_16 = Qt.QLabel(self.layoutWidget) self.label_16.setObjectName(_fromUtf8("label_16")) self.horizontalLayout.addWidget(self.label_16) self.smc_Amplitude = Qt.QDoubleSpinBox(self.layoutWidget) self.smc_Amplitude.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.smc_Amplitude.setMaximum(1000.0) self.smc_Amplitude.setSingleStep(0.1) self.smc_Amplitude.setProperty("value", 1.0) self.smc_Amplitude.setObjectName(_fromUtf8("smc_Amplitude")) self.horizontalLayout.addWidget(self.smc_Amplitude) self.formLayout.setLayout(0, Qt.QFormLayout.SpanningRole, self.horizontalLayout) self.IAFuncs_Analysis_smcAnalyze = Qt.QPushButton(self.layoutWidget) self.IAFuncs_Analysis_smcAnalyze.setObjectName( _fromUtf8("IAFuncs_Analysis_smcAnalyze")) self.formLayout.setWidget(5, Qt.QFormLayout.LabelRole, self.IAFuncs_Analysis_smcAnalyze) self.IAFuncs_Analysis_SpikeXCorr = Qt.QPushButton(self.layoutWidget) self.IAFuncs_Analysis_SpikeXCorr.setObjectName( _fromUtf8("IAFuncs_Analysis_SpikeXCorr")) self.formLayout.setWidget(5, Qt.QFormLayout.FieldRole, self.IAFuncs_Analysis_SpikeXCorr) self.widget1 = Qt.QWidget(self.widget) self.widget1.setGeometry(Qt.QRect(10, 220, 176, 140)) self.widget1.setObjectName(_fromUtf8("widget1")) self.verticalLayout = Qt.QVBoxLayout(self.widget1) self.verticalLayout.setMargin(9) self.verticalLayout.setSpacing(6) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.label_13 = Qt.QLabel(self.widget1) self.label_13.setObjectName(_fromUtf8("label_13")) self.verticalLayout.addWidget(self.label_13) self.line_4 = Qt.QFrame(self.widget1) self.line_4.setLineWidth(2) self.line_4.setFrameShape(Qt.QFrame.HLine) self.line_4.setFrameShadow(Qt.QFrame.Sunken) self.line_4.setObjectName(_fromUtf8("line_4")) self.verticalLayout.addWidget(self.line_4) self.IAFuncs_Analysis_AFFT = Qt.QPushButton(self.widget1) self.IAFuncs_Analysis_AFFT.setText(_fromUtf8("Avg FFT")) self.IAFuncs_Analysis_AFFT.setObjectName( _fromUtf8("IAFuncs_Analysis_AFFT")) self.verticalLayout.addWidget(self.IAFuncs_Analysis_AFFT) self.IAFuncs_Analysis_AFFT_Individual = Qt.QPushButton(self.widget1) self.IAFuncs_Analysis_AFFT_Individual.setObjectName( _fromUtf8("IAFuncs_Analysis_AFFT_Individual")) self.verticalLayout.addWidget(self.IAFuncs_Analysis_AFFT_Individual) self.IAFuncs_Analysis_FourierMap = Qt.QPushButton(self.widget1) self.IAFuncs_Analysis_FourierMap.setObjectName( _fromUtf8("IAFuncs_Analysis_FourierMap")) self.verticalLayout.addWidget(self.IAFuncs_Analysis_FourierMap) self.layoutWidget1 = Qt.QWidget(self.IAFuncs_widget) self.layoutWidget1.setGeometry(Qt.QRect(10, 110, 171, 221)) self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1")) self.formLayout_4 = Qt.QFormLayout(self.layoutWidget1) self.formLayout_4.setFieldGrowthPolicy( Qt.QFormLayout.FieldsStayAtSizeHint) self.formLayout_4.setMargin(9) self.formLayout_4.setSpacing(0) self.formLayout_4.setObjectName(_fromUtf8("formLayout_4")) self.IAFuncs_Analysis_AXCorr_Individual = Qt.QPushButton( self.layoutWidget1) self.IAFuncs_Analysis_AXCorr_Individual.setObjectName( _fromUtf8("IAFuncs_Analysis_AXCorr_Individual")) self.formLayout_4.setWidget(1, Qt.QFormLayout.SpanningRole, self.IAFuncs_Analysis_AXCorr_Individual) self.IAFuncs_Analysis_UnbiasedXC = Qt.QPushButton(self.layoutWidget1) self.IAFuncs_Analysis_UnbiasedXC.setObjectName( _fromUtf8("IAFuncs_Analysis_UnbiasedXC")) self.formLayout_4.setWidget(2, Qt.QFormLayout.SpanningRole, self.IAFuncs_Analysis_UnbiasedXC) self.IAFuncs_Distance = Qt.QPushButton(self.layoutWidget1) self.IAFuncs_Distance.setObjectName(_fromUtf8("IAFuncs_Distance")) self.formLayout_4.setWidget(3, Qt.QFormLayout.SpanningRole, self.IAFuncs_Distance) self.IAFuncs_DistanceStrength = Qt.QPushButton(self.layoutWidget1) self.IAFuncs_DistanceStrength.setObjectName( _fromUtf8("IAFuncs_DistanceStrength")) self.formLayout_4.setWidget(4, Qt.QFormLayout.SpanningRole, self.IAFuncs_DistanceStrength) self.formLayout_3 = Qt.QFormLayout() self.formLayout_3.setMargin(9) self.formLayout_3.setSpacing(6) self.formLayout_3.setObjectName(_fromUtf8("formLayout_3")) self.label = Qt.QLabel(self.layoutWidget1) self.label.setObjectName(_fromUtf8("label")) self.formLayout_3.setWidget(0, Qt.QFormLayout.LabelRole, self.label) self.IAFuncs_XCorrThreshold = Qt.QDoubleSpinBox(self.layoutWidget1) self.IAFuncs_XCorrThreshold.setAlignment(Qt.Qt.AlignRight | Qt.Qt.AlignTrailing | Qt.Qt.AlignVCenter) self.IAFuncs_XCorrThreshold.setMaximum(1.0) self.IAFuncs_XCorrThreshold.setSingleStep(0.02) self.IAFuncs_XCorrThreshold.setProperty("value", 0.25) self.IAFuncs_XCorrThreshold.setObjectName( _fromUtf8("IAFuncs_XCorrThreshold")) self.formLayout_3.setWidget(0, Qt.QFormLayout.FieldRole, self.IAFuncs_XCorrThreshold) self.formLayout_4.setLayout(5, Qt.QFormLayout.SpanningRole, self.formLayout_3) self.IAFuncs_NetworkGraph = Qt.QPushButton(self.layoutWidget1) self.IAFuncs_NetworkGraph.setObjectName( _fromUtf8("IAFuncs_NetworkGraph")) self.formLayout_4.setWidget(6, Qt.QFormLayout.SpanningRole, self.IAFuncs_NetworkGraph) self.IAFuncs_DistanceStrengthPrint = Qt.QPushButton(self.layoutWidget1) self.IAFuncs_DistanceStrengthPrint.setObjectName( _fromUtf8("IAFuncs_DistanceStrengthPrint")) self.formLayout_4.setWidget(7, Qt.QFormLayout.SpanningRole, self.IAFuncs_DistanceStrengthPrint) self.IAFuncs_MatplotlibCheckBox = Qt.QCheckBox(self.layoutWidget1) self.IAFuncs_MatplotlibCheckBox.setObjectName( _fromUtf8("IAFuncs_MatplotlibCheckBox")) self.formLayout_4.setWidget(8, Qt.QFormLayout.FieldRole, self.IAFuncs_MatplotlibCheckBox) self.IAFuncs_Analysis_AXCorr = Qt.QPushButton(self.layoutWidget1) self.IAFuncs_Analysis_AXCorr.setObjectName( _fromUtf8("IAFuncs_Analysis_AXCorr")) self.formLayout_4.setWidget(0, Qt.QFormLayout.SpanningRole, self.IAFuncs_Analysis_AXCorr) self.widget2 = Qt.QWidget(self.IAFuncs_widget) self.widget2.setGeometry(Qt.QRect(26, 13, 134, 96)) self.widget2.setObjectName(_fromUtf8("widget2")) self.verticalLayout_2 = Qt.QVBoxLayout(self.widget2) self.verticalLayout_2.setMargin(9) self.verticalLayout_2.setSpacing(6) self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) self.label_14 = Qt.QLabel(self.widget2) self.label_14.setObjectName(_fromUtf8("label_14")) self.verticalLayout_2.addWidget(self.label_14) self.IAFuncs_AnalogRadioBtn = Qt.QRadioButton(self.widget2) self.IAFuncs_AnalogRadioBtn.setChecked(True) self.IAFuncs_AnalogRadioBtn.setObjectName( _fromUtf8("IAFuncs_AnalogRadioBtn")) self.verticalLayout_2.addWidget(self.IAFuncs_AnalogRadioBtn) self.IAFuncs_DigitalRadioBtn = Qt.QRadioButton(self.widget2) self.IAFuncs_DigitalRadioBtn.setObjectName( _fromUtf8("IAFuncs_DigitalRadioBtn")) self.verticalLayout_2.addWidget(self.IAFuncs_DigitalRadioBtn) self.IAFuncs_GetCSVFile = Qt.QPushButton(self.widget2) self.IAFuncs_GetCSVFile.setObjectName(_fromUtf8("IAFuncs_GetCSVFile")) self.verticalLayout_2.addWidget(self.IAFuncs_GetCSVFile) self.gridLayout_2.addWidget(self.IAFuncs_widget, 1, 0, 2, 1) self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 1) self.retranslateUi(Form) Qt.QMetaObject.connectSlotsByName(Form)
def __init__(self, mod): Qt.QWidget.__init__(self) self.mod = weakref.ref(mod) self.view = mod.view # ROI state variables self.lastPlotTime = None self.ROIs = [] self.plotCurves = [] # Set up UI self.roiLayout = Qt.QGridLayout() self.roiLayout.setSpacing(0) self.roiLayout.setContentsMargins(0,0,0,0) self.setLayout(self.roiLayout) # rect rectPath = Qt.QPainterPath() rectPath.addRect(0, 0, 1, 1) self.rectBtn = pg.PathButton(path=rectPath) # ellipse ellPath = Qt.QPainterPath() ellPath.addEllipse(0, 0, 1, 1) self.ellipseBtn = pg.PathButton(path=ellPath) # polygon polyPath = Qt.QPainterPath() polyPath.moveTo(0,0) polyPath.lineTo(2,3) polyPath.lineTo(3,1) polyPath.lineTo(5,0) polyPath.lineTo(2, -2) polyPath.lineTo(0,0) self.polygonBtn = pg.PathButton(path=polyPath) # ruler polyPath = Qt.QPainterPath() polyPath.moveTo(0, 0) polyPath.lineTo(3, -2) polyPath.moveTo(0, 0) polyPath.lineTo(3, 0) polyPath.moveTo(1, 0) polyPath.arcTo(-1, -1, 2, 2, 0, 33.69) for i in range(5): x = i * 3./4. y = x * -2./3. polyPath.moveTo(x, y) polyPath.lineTo(x-0.2, y-0.3) self.rulerBtn = pg.PathButton(path=polyPath) self.roiLayout.addWidget(self.rectBtn, 0, 0) self.roiLayout.addWidget(self.ellipseBtn, 0, 1) self.roiLayout.addWidget(self.polygonBtn, 1, 0) self.roiLayout.addWidget(self.rulerBtn, 1, 1) self.roiTimeSpin = pg.SpinBox(value=5.0, suffix='s', siPrefix=True, dec=True, step=0.5, bounds=(0,None)) self.roiLayout.addWidget(self.roiTimeSpin, 2, 0, 1, 2) self.roiPlotCheck = Qt.QCheckBox('Plot') self.roiLayout.addWidget(self.roiPlotCheck, 3, 0, 1, 2) self.roiPlot = pg.PlotWidget() self.roiLayout.addWidget(self.roiPlot, 0, 2, self.roiLayout.rowCount(), 1) self.rectBtn.clicked.connect(lambda: self.addROI('rect')) self.ellipseBtn.clicked.connect(lambda: self.addROI('ellipse')) self.polygonBtn.clicked.connect(lambda: self.addROI('polygon')) self.rulerBtn.clicked.connect(lambda: self.addROI('ruler'))
def setCurrentFile(self, file): #print "=============== set current file ============" if file is self.current: return if file is None: self.clear() self.current = None return self.current = file self.clear() ## Decide on the list of fields to display info = file.info() infoKeys = list(info.keys()) fields = self.manager.suggestedDirFields(file) ## Generate fields, populate if data exists #print "Add %d rows.." % len(fields) # each field has a number of options that can be set by providing # either a dict or a tuple (where the order of arguments determine their meaning). fieldTypeArgs = { 'text': ['numLines', 'default'], 'string': ['default'], 'list': ['values', 'default'], 'bool': ['default'], } for fieldName, fieldOpts in fields.items(): if fieldName in infoKeys: infoKeys.remove(fieldName) # a single value is interpreted as the first element of a tuple if not isinstance(fieldOpts, (dict, tuple)): fieldOpts = (fieldOpts, ) if isinstance(fieldOpts, tuple): fieldTyp = fieldOpts[0] # convert to dict based on order of args fieldOpts = { fieldTypeArgs[fieldTyp][i - 1]: fieldOpts[i] for i in range(1, len(fieldOpts)) } fieldOpts['type'] = fieldTyp fieldTyp = fieldOpts['type'] # now use args to create a widget for this field value = info.get(fieldName, fieldOpts.get('default', None)) if fieldTyp == 'text': w = Qt.QTextEdit() w.setTabChangesFocus(True) if value is not None: w.setText(value) elif fieldTyp == 'string': w = Qt.QLineEdit() if value is not None: w.setText(value) elif fieldTyp == 'list': w = Qt.QComboBox() w.addItems([''] + fieldOpts['values']) w.setEditable(True) if value is not None: w.lineEdit().setText(value) elif fieldTyp == 'bool': w = Qt.QCheckBox() if value is not None: w.setChecked(value) else: raise Exception( "Don't understand info type '%s' (parameter %s)" % (fieldTyp, fieldName)) self.addRow(fieldName, w) ## Add fields for any other keys that happen to be present #print "Add %d rows.." % len(infoKeys) for f in infoKeys: if isinstance(info[f], dict): w = DictView(info[f]) else: s = str(info[f]) if isinstance(f, six.string_types) and 'time' in f.lower( ) and info[f] > 1e9 and info[ f] < 2e9: ## probably this is a timestamp try: t0 = file.parent().info()['__timestamp__'] dt = " [elapsed = %0.3f s]" % (info[f] - t0) except: dt = "" s = time.strftime("%Y.%m.%d %H:%M:%S", time.localtime(float(s))) + dt w = Qt.QLabel(s) if type(f) is tuple: f = '.'.join(f) f = str(f).replace('__', '') self.addRow(f, w)
def __init__(self, host): AnalysisModule.__init__(self, host) fcpath = os.path.join(os.path.abspath(os.path.split(__file__)[0]), "flowcharts") confpath = os.path.join(os.path.abspath(os.path.split(__file__)[0]), "configs") self.confWidget = Qt.QWidget() self.confLoader = ConfLoader(self, confpath) self.fileLoader = DataLoader(self, host.dataManager()) self.addPlotBtn = Qt.QPushButton('Add Plot') self.processWidget = Qt.QWidget() self.processLayout = Qt.QHBoxLayout() self.processWidget.setLayout(self.processLayout) self.processBtn = Qt.QPushButton('Process') self.processCheck = Qt.QCheckBox('Auto') self.processLayout.addWidget(self.processBtn) self.processLayout.addWidget(self.processCheck) self.confLayout = Qt.QGridLayout() self.confWidget.setLayout(self.confLayout) self.confLayout.addWidget(self.confLoader, 0, 0) self.confLayout.addWidget(self.addPlotBtn, 1, 0) self.confLayout.addWidget(self.processWidget, 2, 0) self.plots = [] self.params = None self.data = None self.flowchart = fc.Flowchart(filePath=fcpath) self.flowchart.addInput('Input') self.flowchart.addOutput('Output') #self.flowchart.sigChartLoaded.connect(self.connectPlots) # Setup basic GUI self._elements_ = OrderedDict([ ('Configuration', { 'type': 'ctrl', 'object': self.confWidget, 'size': (200, 200) }), ('File Loader', { 'type': 'ctrl', 'object': self.fileLoader, 'size': (200, 300), 'pos': ('bottom', 'Configuration') }), ('Flowchart', { 'type': 'ctrl', 'object': self.flowchart.widget(), 'size': (300, 500), 'pos': ('right', ) }), ('Results', { 'type': 'table', 'size': (500, 200), 'pos': 'bottom' }), ]) self.initializeElements() self.addPlotBtn.clicked.connect(self.addPlotClicked) self.processBtn.clicked.connect(self.processClicked) self.flowchart.sigOutputChanged.connect(self.outputChanged) self.fileLoader.sigFileLoaded.connect(self.fileLoaded) self.fileLoader.sigSelectedFileChanged.connect(self.fileSelected)
#cw = Qt.QWidget() layout = pg.LayoutWidget() #layout = Qt.QGridLayout() #layout.setContentsMargins(0,0,0,0) #layout.setSpacing(0) #cw.setLayout(layout) win.setCentralWidget(layout) cellCombo = Qt.QComboBox() cellCombo.setSizeAdjustPolicy(cellCombo.AdjustToContents) layout.addWidget(cellCombo) reloadBtn = Qt.QPushButton('reload') layout.addWidget(reloadBtn) separateCheck = Qt.QCheckBox("color pre/post") layout.addWidget(separateCheck) colorCheck = Qt.QCheckBox("color y position") layout.addWidget(colorCheck) errLimitSpin = pg.SpinBox(value=0.7, step=0.1) layout.addWidget(errLimitSpin) lengthRatioLimitSpin = pg.SpinBox(value=1.5, step=0.1) layout.addWidget(lengthRatioLimitSpin) postRgnStartSpin = pg.SpinBox(value=0.500, step=0.01, siPrefix=True, suffix='s')
def __init__(self, host): AnalysisModule.__init__(self, host) self.ChR2 = ChR2.ChR2() # create instance of the analysis fcpath = os.path.join(os.path.abspath(os.path.split(__file__)[0]), "flowcharts") confpath = os.path.join(os.path.abspath(os.path.split(__file__)[0]), "configs") self.dbIdentity = "ChR2TraceAnalysis" ## how we identify to the database; this determines which tables we own self._sizeHint = (1024, 800) # try to establish size of window self.confWidget = Qt.QWidget() self.confLoader = ConfLoader(self, confpath) self.fileLoader = DataLoader(self, host.dataManager()) self.addPlotBtn = Qt.QPushButton('Add Plot') self.processWidget = Qt.QWidget() self.processLayout = Qt.QGridLayout() self.processWidget.setLayout(self.processLayout) self.processProtocolBtn = Qt.QPushButton('Process Protocol') self.processSliceBtn = Qt.QPushButton('Process Slice') self.processCellBtn = Qt.QPushButton('Process Cell') self.processCheck = Qt.QCheckBox('Auto') self.processLayout.addWidget(self.processSliceBtn, 0, 0) self.processLayout.addWidget(self.processCellBtn, 1, 0) self.processLayout.addWidget(self.processProtocolBtn, 2, 0) self.processLayout.addWidget(self.processCheck, 3, 0) self.confWidget = Qt.QWidget() self.confLayout = Qt.QGridLayout() self.confWidget.setLayout(self.confLayout) self.confLayout.addWidget(self.confLoader, 0, 0) self.confLayout.addWidget(self.addPlotBtn, 1, 0) self.confLayout.addWidget(self.processWidget, 2, 0) self.plots = [] self.params = None self.data = None ## setup map DB ctrl #self.dbCtrl = DBCtrl(self, self.dbIdentity) self.flowchart = fc.Flowchart(filePath=fcpath) self.flowchart.addInput('Input') self.flowchart.addOutput('Output') #self.flowchart.sigChartLoaded.connect(self.connectPlots) ## create event detector fcDir = os.path.join(os.path.abspath(os.path.split(__file__)[0]), "detector_fc") # self.detector = EventDetector.EventDetector(host, flowchartDir=fcDir, dbIdentity=self.dbIdentity+'.events') self.flowchart.sigChartLoaded.connect(self.connectPlots) #elems = self.detector.listElements() #print elems # Setup basic GUI self._elements_ = OrderedDict([ ('Configuration', { 'type': 'ctrl', 'object': self.confWidget, 'size': (200, 200) }), ('File Loader', { 'type': 'ctrl', 'object': self.fileLoader, 'size': (200, 300), 'pos': ('above', 'Configuration') }), ('Flowchart', { 'type': 'ctrl', 'object': self.flowchart.widget(), 'size': (400, 500), 'pos': ('right', 'Configuration') }), ('Data Plot', { 'type': 'plot', 'pos': ('bottom', 'Flowchart'), 'size': (400, 300) }), ('PSP Plot', { 'type': 'plot', 'pos': ('bottom', 'Data Plot'), 'size': (400, 300) }), ('Scatter Plot1', { 'type': 'plot', 'pos': ('right', ), 'size': (300, 300) }), ('Scatter Plot2', { 'type': 'plot', 'pos': ('bottom', 'Scatter Plot1'), 'size': (300, 300) }), ('Scatter Plot3', { 'type': 'plot', 'pos': ('bottom', 'Scatter Plot2'), 'size': (300, 300) }), ('Results', { 'type': 'table', 'size': (500, 200), 'pos': 'bottom' }), ]) self.initializeElements() self.addPlotBtn.clicked.connect(self.addPlotClicked) self.processSliceBtn.clicked.connect(self.processSliceClicked) self.processCellBtn.clicked.connect(self.processCellClicked) self.processProtocolBtn.clicked.connect(self.processProtocolClicked) self.flowchart.sigOutputChanged.connect(self.outputChanged) self.fileLoader.sigFileLoaded.connect(self.fileLoaded) self.fileLoader.sigSelectedFileChanged.connect(self.fileSelected)
def __init__(self, host): AnalysisModule.__init__(self, host) if self.dataModel is None: raise Exception( "Photostim analysis module requires a data model, but none is loaded yet." ) self.dbIdentity = "Photostim" ## how we identify to the database; this determines which tables we own self.selectedSpot = None ## setup analysis flowchart modPath = os.path.abspath(os.path.split(__file__)[0]) flowchartDir = os.path.join(modPath, "analysis_fc") self.flowchart = Flowchart(filePath=flowchartDir) self.flowchart.addInput('events') self.flowchart.addInput('regions') self.flowchart.addInput('fileHandle') self.flowchart.addOutput('dataOut') self.analysisCtrl = self.flowchart.widget() ## color mapper self.mapper = ColorMapper.ColorMapper( filePath=os.path.join(modPath, "colormaps")) self.mapCtrl = Qt.QWidget() self.mapLayout = Qt.QVBoxLayout() self.mapCtrl.setLayout(self.mapLayout) self.mapLayout.splitter = Qt.QSplitter() self.mapLayout.splitter.setOrientation(Qt.Qt.Vertical) self.mapLayout.splitter.setContentsMargins(0, 0, 0, 0) self.mapLayout.addWidget(self.mapLayout.splitter) self.mapLayout.splitter.addWidget(self.analysisCtrl) #self.mapLayout.splitter.addWidget(Qt.QSplitter()) self.mapLayout.splitter.addWidget(self.mapper) #self.mapLayout.splitter.addWidget(self.recolorBtn) self.recolorLayout = Qt.QHBoxLayout() self.recolorWidget = Qt.QWidget() self.mapLayout.splitter.addWidget(self.recolorWidget) self.recolorWidget.setLayout(self.recolorLayout) self.recolorBtn = Qt.QPushButton('Recolor') self.recolorLayout.addWidget(self.recolorBtn) self.recolorParallelCheck = Qt.QCheckBox('Parallel') self.recolorParallelCheck.setChecked(True) self.recolorLayout.addWidget(self.recolorParallelCheck) ## scatter plot self.scatterPlot = ScatterPlotter() self.scatterPlot.sigClicked.connect(self.scatterPlotClicked) ## setup map DB ctrl self.dbCtrl = DBCtrl(self, self.dbIdentity) ## storage for map data #self.scanItems = {} self.scans = [] #self.seriesScans = {} self.maps = [] ## create event detector fcDir = os.path.join(os.path.abspath(os.path.split(__file__)[0]), "detector_fc") self.detector = EventDetector.EventDetector( host, flowchartDir=fcDir, dbIdentity=self.dbIdentity + '.events') ## override some of its elements self.detector.setElement('File Loader', self) self.detector.setElement('Database', self.dbCtrl) ## Create element list, importing some gui elements from event detector elems = self.detector.listElements() self._elements_ = OrderedDict([ ('Database', { 'type': 'ctrl', 'object': self.dbCtrl, 'size': (300, 600) }), ('Scatter Plot', { 'type': 'ctrl', 'object': self.scatterPlot, 'pos': ('right', ), 'size': (700, 400) }), ('Canvas', { 'type': 'canvas', 'pos': ('above', 'Scatter Plot'), 'size': (700, 400), 'allowTransforms': False, 'hideCtrl': True, 'args': { 'name': 'Photostim' } }), #('Maps', {'type': 'ctrl', 'pos': ('bottom', 'Database'), 'size': (200,200), 'object': self.mapDBCtrl}), ('Map Opts', { 'type': 'ctrl', 'object': self.mapCtrl, 'pos': ('above', 'Database'), 'size': (300, 600) }), ('Detection Opts', elems['Detection Opts'].setParams(pos=('above', 'Map Opts'), size=(300, 600))), ('File Loader', { 'type': 'fileInput', 'size': (300, 300), 'pos': ('above', 'Detection Opts'), 'host': self, 'showFileTree': False }), ('Data Plot', elems['Data Plot'].setParams(pos=('bottom', 'Canvas'), size=(700, 200))), ('Filter Plot', elems['Filter Plot'].setParams(pos=('bottom', 'Data Plot'), size=(700, 200))), ('Event Table', elems['Output Table'].setParams(pos=('below', 'Filter Plot'), size=(700, 200))), ('Stats', { 'type': 'dataTree', 'size': (700, 200), 'pos': ('below', 'Event Table') }), ]) self.initializeElements() try: ## load default chart self.flowchart.loadFile(os.path.join(flowchartDir, 'default.fc')) except: debug.printExc('Error loading default flowchart:') self.detector.flowchart.sigOutputChanged.connect( self.detectorOutputChanged) self.flowchart.sigOutputChanged.connect(self.analyzerOutputChanged) self.detector.flowchart.sigStateChanged.connect( self.detectorStateChanged) self.flowchart.sigStateChanged.connect(self.analyzerStateChanged) self.recolorBtn.clicked.connect(self.recolor)