def showSinogram(self): ''' loads sinogram tabS ''' self.actions.x_shifts = self.x_shifts self.actions.y_shifts = self.y_shifts self.actions.centers = self.centers self.ViewControl.combo1.clear() for j in self.elements: self.ViewControl.combo1.addItem(j) self.actions = xrftomo.SinogramActions() self.elementChanged() self.sld.setRange(1, self.data.shape[2]) self.lcd.display(1)
def initUI(self): button1size = 250 #long button (1 column) button2size = 122.5 #mid button (2 column) button33size = 78.3 button3size = 73.3 #small button (almost third) button4size = 58.75 #textbox size (less than a third) self.ViewControl = xrftomo.SinogramControlsWidget() self.sinoView = xrftomo.SinogramView() self.imageView = xrftomo.ImageView() self.diffView = xrftomo.differenceView() self.actions = xrftomo.SinogramActions() self.x_padding_hist = [0] self.y_padding_hist = [0] self.sub_pixel_shift = 1 self.fnames = None self.view_options = QtWidgets.QComboBox() self.view_options.setFixedWidth(button2size) for j in ["sinogram view", "projection view", "difference view"]: self.view_options.addItem(j) self.sld = QtWidgets.QSlider(QtCore.Qt.Horizontal, self) #sino slider self.sld2 = QtWidgets.QSlider(QtCore.Qt.Horizontal, self) #image slider self.sld3 = QtWidgets.QSlider(QtCore.Qt.Horizontal, self) #image slider self.sld.setValue(1) self.lcd = QtWidgets.QLCDNumber(self) self.lcd2 = QtWidgets.QLCDNumber(self) self.lcd3 = QtWidgets.QLCDNumber(self) self.hist = pyqtgraph.HistogramLUTWidget() self.hist.setMinimumSize(120, 120) self.hist.setMaximumWidth(120) self.hist.setImageItem(self.sinoView.projView) self.hist.setImageItem(self.imageView.projView) self.hist.setImageItem(self.diffView.projView) self.data = np.ndarray(shape=(1, 10, 10, 10), dtype=float) self.x_shifts = None self.y_shifts = None self.centers = None self.data = None self.sinogramData = None self.ViewControl.btn1.clicked.connect( self.ViewControl.com_options.show) self.ViewControl.run_com.clicked.connect(self.centerOfMass_params) self.ViewControl.xcorsino.clicked.connect(self.xcorsino_params) self.ViewControl.opflow.clicked.connect(self.opFlow_params) self.ViewControl.fitPeaks.clicked.connect(self.fitPeaks_params) self.ViewControl.btn2.clicked.connect(self.crossCorrelate_params) self.ViewControl.xcorry.clicked.connect(self.xcorry_params) self.ViewControl.xcorrdy.clicked.connect(self.xcorrdy_params) self.ViewControl.btn3.clicked.connect(self.phaseCorrelate_params) self.ViewControl.btn6.clicked.connect( self.ViewControl.iter_parameters.show) self.ViewControl.run_iter_align.clicked.connect(self.iter_align_params) self.ViewControl.btn7.clicked.connect(self.alignFromText2_params) self.ViewControl.btn5.clicked.connect(self.ViewControl.move2edge.show) self.ViewControl.run_move2edge.clicked.connect(self.move2edge_params) self.ViewControl.btn9.clicked.connect(self.ViewControl.sino_manip.show) self.ViewControl.run_sino_adjust.clicked.connect( self.adjust_sino_params) self.ViewControl.move2center.clicked.connect(self.move2center_params) self.ViewControl.find_center_1.clicked.connect( self.center_tomopy_params) self.ViewControl.find_center_2.clicked.connect( self.center_Vacek_params) self.ViewControl.center.clicked.connect( self.ViewControl.center_parameters.show) self.ViewControl.center.clicked.connect( self.updateCenterFindParameters) self.ViewControl.rot_axis.clicked.connect(self.rot_axis_params) self.ViewControl.freq_sld.sliderReleased.connect( self.sinoCurvesldChanged) self.ViewControl.amp_sld.sliderReleased.connect( self.sinoCurvesldChanged) self.ViewControl.phase_sld.sliderReleased.connect( self.sinoCurvesldChanged) self.ViewControl.offst_sld.sliderReleased.connect( self.sinoCurvesldChanged) self.sld.valueChanged.connect(self.sinoSliderChanged) self.sld2.valueChanged.connect(self.imageSliderChanged) self.sld3.valueChanged.connect(self.diffSliderChanged) self.sinoView.keyPressSig.connect(self.shiftEvent_params) self.imageView.mousePressSig.connect(self.hotspot_event) self.ViewControl.combo1.currentIndexChanged.connect( self.elementChanged) self.view_options.currentIndexChanged.connect(self.display) self.ViewControl.amp.returnPressed.connect(self.updateSinoPlot) self.ViewControl.freq.returnPressed.connect(self.updateSinoPlot) self.ViewControl.phase.returnPressed.connect(self.updateSinoPlot) self.ViewControl.offst.returnPressed.connect(self.updateSinoPlot) self.ViewControl.set2line.clicked.connect(self.fit_curve) self.ViewControl.fit_line.clicked.connect(self.fitLine_params) self.ViewControl.fit_sine.clicked.connect(self.fitSine_params) self.ViewControl.fit_y.clicked.connect(self.fitY_params) self.ViewControl.clear_data.clicked.connect(self.clrHotspot_params) self.diffView.keyPressSig.connect(self.keyProcess) self.imageView.keyPressSig.connect(self.keyProcess) self.ViewControl.fit_line.setEnabled(False) self.ViewControl.fit_sine.setEnabled(False) self.ViewControl.fit_y.setEnabled(False) self.ViewControl.clear_data.setEnabled(False) self.stack1 = QtWidgets.QWidget() self.stack2 = QtWidgets.QWidget() self.stack3 = QtWidgets.QWidget() self.stack1UI() self.stack2UI() self.stack3UI() self.Stack = QtWidgets.QStackedWidget(self) self.Stack.addWidget(self.stack1) self.Stack.addWidget(self.stack2) self.Stack.addWidget(self.stack3) vb1 = QtWidgets.QVBoxLayout() vb1.addWidget(self.view_options) vb1.addWidget(self.Stack) vb1.maximumSize() sinoBox = QtWidgets.QHBoxLayout() sinoBox.addWidget(self.ViewControl) sinoBox.addLayout(vb1) sinoBox.addWidget(self.hist, 10) self.setLayout(sinoBox) palette = self.lcd.palette() # foreground color palette.setColor(palette.WindowText, QtGui.QColor(85, 85, 255)) # background color palette.setColor(palette.Background, QtGui.QColor(0, 170, 255)) # "light" border palette.setColor(palette.Light, QtGui.QColor(255, 255, 0)) # "dark" border palette.setColor(palette.Dark, QtGui.QColor(0, 0, 0)) # set the palette self.lcd.setPalette(palette) self.updateSinoPlot()