コード例 #1
0
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_main_window()
        self.ui.setupUi(self)

        # Application variables

        self.model = ListModel()
        self.well_dataframes_dict = {}

        self.decline_curves_dict = {}
        self.model_oil_curves = ListModel()
        self.model_gas_curves = ListModel()

        # Cashflow models

        self.model_cashflow_monthly = TableModel()
        self.model_cashflow_annual = TableModel()
        self.model_cashflow_summary = TableModel()

        # Production Plot setup

        self.widget_production_plot = DynamicMplCanvas(
            self.ui.widgetProductionPlot)
        toolbar = NavigationToolbar2QT(self.widget_production_plot,
                                       self.ui.widgetProductionPlot)

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(toolbar)
        layout.addWidget(self.widget_production_plot)

        self.ui.widgetProductionPlot.setLayout(layout)

        self.ui.comboBoxPhase.addItems(["Oil", "Gas"])
        self.ui.comboBoxUnits.addItems(["BOPM/MCFPM", "BOPD/MCFPD"])
コード例 #2
0
    def __init__(self, **kwargs: Any):
        BaseWidget.__init__(self, **kwargs)
        self.setupUi(self)

        # variables
        self.new_data = False
        self.data_filename: Optional[str] = None
        self.data: Optional[fits.HDUList] = None

        # before first update, disable mys
        self.setEnabled(False)

        # add image panel
        self.imageLayout = QtWidgets.QVBoxLayout(self.tabImage)
        if isinstance(self.module, IImageGrabber):
            self.imageView = QFitsWidget()
            self.imageLayout.addWidget(self.imageView)
        elif isinstance(self.module, ISpectrograph):
            self.figure, self.ax = plt.subplots()
            self.canvas = FigureCanvas(self.figure)
            self.plotTools = NavigationToolbar2QT(self.canvas, self.tabImage)
            self.imageLayout.addWidget(self.plotTools)
            self.imageLayout.addWidget(self.canvas)
        else:
            raise ValueError("Unknown type")

        # set headers for fits header tab
        self.tableFitsHeader.setColumnCount(3)
        self.tableFitsHeader.setHorizontalHeaderLabels(
            ["Key", "Value", "Comment"])

        # connect signals
        self.signal_update_gui.connect(self.update_gui)
        self.checkAutoSave.stateChanged.connect(
            lambda x: self.textAutoSavePath.setEnabled(x))
コード例 #3
0
    def __init__(self, parent):

        self.canvas = parent.central_widget.canvas

        # Set up virtual Matplotlib navigation toolbar (don't show it)
        self._mpl_nav = NavigationToolbar2QT(self.canvas, parent)
        self._mpl_nav.hide()

        BasicToolbar.__init__(self, parent)
コード例 #4
0
ファイル: plot_widget.py プロジェクト: luuleitner/deepMTJ
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.canvas = MplCanvas()
        self.toolbar = NavigationToolbar2QT(self.canvas, self)

        self.vbl = QtWidgets.QVBoxLayout()
        self.vbl.addWidget(self.canvas)
        self.vbl.addWidget(self.toolbar)
        self.setLayout(self.vbl)

        self.canvas.fig.canvas.mpl_connect('button_press_event', self.onclick)
コード例 #5
0
ファイル: plot.py プロジェクト: vn-ki/solar-viewer
 def initMainCanvas(self):
     self.figure = plt.figure()
     self.canvas = FigureCanvas(self.figure)
     self.toolbar = NavigationToolbar2QT(self.canvas, self)
     self.toolbar.setVisible(False)
     FigureCanvas.setSizePolicy(self.canvas,
                                QtWidgets.QSizePolicy.Expanding,
                                QtWidgets.QSizePolicy.Expanding)
     FigureCanvas.updateGeometry(self.canvas)
     self.canvas.hide()
     self.ui.verticalLayout.addWidget(self.canvas)
コード例 #6
0
    def __init__(self, viewer):

        self.canvas = viewer.central_widget.canvas

        # Set up virtual Matplotlib navigation toolbar (don't show it)
        self._mpl_nav = NavigationToolbar2QT(self.canvas, viewer)
        self._mpl_nav.hide()

        BasicToolbar.__init__(self, viewer)

        viewer.window_closed.connect(self.close)
コード例 #7
0
    def getGraph(self):
        matplotlib.use('Qt5Agg')

        sc = MplCanvas(self, width=5, height=5, dpi=100)

        sc.axes.plot(list(self.data.keys()), list(self.data.values()))
        sc.axes.set_xlabel(self.algorithm.value_name.capitalize() +
                           ' (numpy.' + self.algorithm.algorithm + ')')
        sc.axes.set_ylabel('Test results')
        sc.axes.set_title(self.name + ' | ' + self.test_time)
        toolbar = NavigationToolbar2QT(sc, self)
        sc.fig.tight_layout()
        return toolbar, sc
コード例 #8
0
    def show_result_img(self, signal):
        # 移除旧的画布
        try:
            self.imageshow.removeWidget(self.plot_figure)
            self.imageshow.removeWidget(self.tool)
        except:
            self.imageshow.removeWidget(self.photoview)
        finally:
            pass

        self.t1_t5()
        if signal == 0:
            self.rawimg.setDisabled(True)
        elif signal == 1:
            self.t1.setDisabled(True)
        elif signal == 2:
            self.t2.setDisabled(True)
        elif signal == 3:
            self.t3.setDisabled(True)
        elif signal == 4:
            self.t4.setDisabled(True)

        else:
            self.t5.setDisabled(True)

        self.plot_figure = ImageView(width=8, height=8, dpi=110)
        self.tool = NavigationToolbar2QT(self.plot_figure, self)

        image = plt.imread(BASE + "/data/" + str(signal) + ".png")
        self.id.setText("631d342a4")
        self.length.setText(str(image.shape[1]))
        self.width.setText(str(image.shape[0]))

        plt.imshow(image)

        self.imageshow.addWidget(self.plot_figure)
        self.imageshow.addWidget(self.tool)
        # 显示大标题
        name_list = [
            "any",
            "epidural",
            "intraparenchymal",
            "intraventricular",
            "subarachnoid",
            "subdural",
        ]
        if signal == 1:
            title = f"{name_list[signal]} - NO"
        else:
            title = f"{name_list[signal]} - YES"
        self.plot_figure.fig.suptitle(title)
コード例 #9
0
ファイル: plot.py プロジェクト: mmueller01/CES-Project
    def initMainCanvas(self):
        self.figure = plt.figure()
        self.canvas = FigureCanvas(self.figure)
        self.toolbar = NavigationToolbar2QT(self.canvas, self)
        FigureCanvas.setSizePolicy(self.canvas,
                                   QtWidgets.QSizePolicy.Expanding,
                                   QtWidgets.QSizePolicy.Expanding)
        FigureCanvas.updateGeometry(self.canvas)

        self.axes = self.figure.subplots(2, 1, sharex=True)
        self.figure.subplots_adjust(hspace=0)

        self.v_layout.addWidget(self.canvas)
        self.v_layout.addWidget(self.toolbar)
コード例 #10
0
ファイル: plot.py プロジェクト: mmueller01/CES-Project
    def initMainCanvas(self):
        self.figure = plt.figure()
        self.canvas = FigureCanvas(self.figure)
        self.toolbar = NavigationToolbar2QT(self.canvas, self)
        self.toolbar.hide()

        FigureCanvas.setSizePolicy(self.canvas,
                                   QtWidgets.QSizePolicy.Expanding,
                                   QtWidgets.QSizePolicy.Expanding)
        FigureCanvas.updateGeometry(self.canvas)

        self.axs = self.figure.subplots(2, 1)

        self.v_layout.addWidget(self.canvas)
コード例 #11
0
    def __init__(self):
        super().__init__()
        self.setWindowTitle('QtXRD')
        self.setWindowIcon(QIcon('assets/bird.png'))
        self.statusBar()
        self.createActions()
        self.mainView = MainView(self)
        self.settings = XrdSetting()
        self.setCentralWidget(self.mainView)
        self.createMenuBar()
        self.addToolBar(Qt.TopToolBarArea,
                        NavigationToolbar2QT(self.mainView.figure_view, self))

        self.resize(1500, 800)
コード例 #12
0
    def __init__(self, canvas, num):
        super().__init__(canvas, num)
        self.mw = FreeCADGui.getMainWindow()
        self.mdi = self.mw.findChild(QtWidgets.QMdiArea)
        self.widget = PlotWidget(self)
        self.widget.setLayout(QtWidgets.QHBoxLayout())
        self.mdi.addSubWindow(self.widget)
        self.widget.layout().addWidget(self.canvas)
        self.widget.show()

        FigureManager.all_widgets.append(self.widget)

        self.toolbar = NavigationToolbar2QT(self.canvas, self.widget, False)
        self.toolbar.setOrientation(QtCore.Qt.Vertical)
        self.widget.layout().addWidget(self.toolbar)
        self.canvas.set_widget_name = self.set_widget_name
コード例 #13
0
    def _create_canvas(self, parent):
        """ Create the MPL canvas. """
        # matplotlib commands to create a canvas
        frame = QtGui.QWidget()
        mpl_canvas = FigureCanvas(self.value)
        mpl_canvas.setParent(frame)

        vbox = QtGui.QVBoxLayout()

        if self.toolbar:
            mpl_toolbar = NavigationToolbar2QT(mpl_canvas, frame)
            vbox.addWidget(mpl_toolbar)

        vbox.addWidget(mpl_canvas)
        frame.setLayout(vbox)

        return frame
コード例 #14
0
    def start_analysis(self):
        # 移除旧的画布
        try:
            self.imageshow.removeWidget(self.plot_figure)
            self.imageshow.removeWidget(self.tool)
        except:
            self.imageshow.removeWidget(self.photoview)
        finally:
            pass

        filename = self.imgfile.currentText()
        filepath = os.path.join(self.fold, filename)
        self.filepath = filepath
        self.plot_figure = ImageView(width=8, height=8, dpi=110)
        self.tool = NavigationToolbar2QT(self.plot_figure, self)
        if filepath[-3:] == "dcm":
            # 读取dicom文件
            _slice = pydicom.read_file(filepath)

            # 设置id, 长, 宽
            self.id.setText(_slice.PatientID)
            self.length.setText(str(_slice.pixel_array.shape[1]))
            self.width.setText(str(_slice.pixel_array.shape[0]))

            # 获取dicom数据,绘图
            image = np.stack(_slice.pixel_array)
            image = image.astype(np.int16)
            image = np.array(image)
        else:
            image = plt.imread(filepath)
            self.id.setText(" ")
            self.length.setText(str(image.shape[1]))
            self.width.setText(str(image.shape[0]))

        plt.imshow(image, cmap=plt.cm.gray)

        self.imageshow.addWidget(self.plot_figure)
        self.imageshow.addWidget(self.tool)
        _img = filepath.split("/")[-1]
        # 显示大标题
        self.plot_figure.fig.suptitle(_img)
        self.console.append(f"Start Precessing image:{_img}")
        self.t1_t5()
コード例 #15
0
ファイル: main_window.py プロジェクト: jeevanu/moulder
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Moulder")
        self.setWindowIcon(QIcon.fromTheme('python-logo'))
        self.setGeometry(200, 200, 1024, 700)
        self.init_ui()

        widget = QWidget()
        layout = QVBoxLayout()
        self.moulder = Moulder(self, numpy.linspace(0, 100e3, 101),
                               numpy.zeros(101), 0, 10000,
                               density_range=DENSITY_RANGE,
                               width=5, height=4, dpi=100)
        self.moulder.setFocusPolicy(Qt.StrongFocus)
        self.navigation_bar = NavigationToolbar2QT(self.moulder, widget)
        layout.addWidget(self.moulder)
        layout.addWidget(self.navigation_bar)
        widget.setLayout(layout)
        self.setCentralWidget(widget)
        self.set_callbacks()
コード例 #16
0
ファイル: main.py プロジェクト: rwahog/DEAssignment
    def __init__(self, parent):
        super(QWidget, self).__init__(parent)
        self.layout = QVBoxLayout(self)

        self.tabs = QTabWidget()
        self.tab1 = QWidget()
        self.tab2 = QWidget()
        self.tab3 = QWidget()

        self.tabs.addTab(self.tab1, "Numerical Methods")
        self.tabs.addTab(self.tab2, "Local Error")
        self.tabs.addTab(self.tab3, "Global Error")

        self.tab1.layout = QVBoxLayout()
        self.graph = PlotCanvas(self)
        self.toolbar = NavigationToolbar2QT(self.graph, self)
        self.tab1.layout.addWidget(self.toolbar)
        self.tab1.layout.addWidget(self.graph)
        self.tab1.setLayout(self.tab1.layout)

        self.layout.addWidget(self.tabs)
        self.setLayout(self.layout)
コード例 #17
0
    def waveform_splicing_btn_func(self):
        aData = int(self.a_wave_starting_point.text())
        bData = int(self.b_wave_starting_point.text())
        self.chart_a, self.chart_b = self.plant.cheak_ab(a=aData, b=bData)
        ss = self.plant.merge_ab(a=aData, b=bData)
        basline = self.plant.baseline(ss)
        self.plant.save_ab(self.new_file_name_edit.text(), basline)

        self.chartWidget = QWidget()
        self.chartLayout = QVBoxLayout(self.chartWidget)
        self.chartCanvas = MyFigureCanvas()
        self.chartNavigationToolbar = NavigationToolbar2QT(self.chartCanvas, self.chartWidget)
        self.chartLayout.addWidget(self.chartNavigationToolbar)
        self.chartLayout.addWidget(self.chartCanvas)

        ax1 = self.chartCanvas.figure.add_subplot(211)
        self.chart_a.plot(ax=ax1)

        ax2 = self.chartCanvas.figure.add_subplot(212)
        self.chart_b.plot(ax=ax2)

        self.chartWidget.show()
コード例 #18
0
    def __init__(self, parentRoiPlot: RoiPlot, parent: QWidget = None):
        super().__init__(parent=parent)
        self.setWindowFlags(QtCore.Qt.Window
                            | QtCore.Qt.WindowMinMaxButtonsHint)
        # self.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.WindowTitleHint | QtCore.Qt.CustomizeWindowHint)  # Get rid of the close button. this is handled by the selector widget active status
        self.setWindowTitle("Sin City Image Export")
        self.setModal(False)

        self.parentRoiPlot = parentRoiPlot
        self.cachedImage = None

        self.fig, self.ax = matplotlib.pyplot.subplots()
        c = FigureCanvasQTAgg(self.fig)
        self.plotWidg = QWidget(self)
        self.plotWidg.setLayout(QVBoxLayout())
        self.plotWidg.layout().addWidget(c)
        self.plotWidg.layout().addWidget(NavigationToolbar2QT(c, self))

        self.ax.xaxis.set_visible(False)
        self.ax.yaxis.set_visible(False)
        self.im = self.ax.imshow(self.parentRoiPlot.getImageData())

        self._paintDebounce = QtCore.QTimer(
        )  # This timer prevents the selectionChanged signal from firing too rapidly.
        self._paintDebounce.setInterval(200)
        self._paintDebounce.setSingleShot(True)
        self._paintDebounce.timeout.connect(self.paint)

        self.vmin = QDoubleSpinBox(self)
        self.vmin.setValue(0)
        self.vmin.setDecimals(3)
        self.vmin.setMaximum(10000)
        self.vmin.setSingleStep(0.001)

        def vminChanged(val):
            self.stale = True
            self._paintDebounce.start()

        self.vmin.valueChanged.connect(vminChanged)

        self.vmax = QDoubleSpinBox(self)
        self.vmax.setValue(.1)
        self.vmax.setDecimals(3)
        self.vmax.setMaximum(10000)
        self.vmax.setSingleStep(0.001)

        def vmaxChanged(val):
            self.stale = True
            self._paintDebounce.start()

        self.vmax.valueChanged.connect(vmaxChanged)

        self.scaleBg = QDoubleSpinBox(self)
        self.scaleBg.setValue(.33)
        self.scaleBg.setMinimum(0)
        self.scaleBg.setDecimals(2)
        self.scaleBg.setMaximum(3)
        self.scaleBg.setSingleStep(0.01)

        def scaleBgChanged(val):
            self.stale = True
            self._paintDebounce.start()

        self.scaleBg.valueChanged.connect(scaleBgChanged)

        self.hue = QDoubleSpinBox(self)
        self.hue.setMinimum(0)
        self.hue.setMaximum(1)
        self.hue.setValue(0)
        self.hue.setSingleStep(0.05)

        def hueRangeChanged(val):
            self.stale = True
            self._paintDebounce.start()

        self.hue.valueChanged.connect(hueRangeChanged)

        self.exp = QDoubleSpinBox(self)
        self.exp.setMinimum(0.5)
        self.exp.setMaximum(3)
        self.exp.setValue(1)
        self.exp.setSingleStep(0.05)

        def expRangeChanged(val):
            self.stale = True
            self._paintDebounce.start()

        self.exp.valueChanged.connect(expRangeChanged)

        self.scaleBar = QSpinBox(self)
        self.scaleBar.setValue(0)
        self.scaleBar.setMaximum(10000)

        def scaleBarChanged(val):
            self.stale = True
            self._paintDebounce.start()

        self.scaleBar.valueChanged.connect(scaleBarChanged)

        self.refreshButton = QPushButton("Refresh", self)

        def refreshAction():
            self.stale = True  # Force a full refresh
            self.paint()

        self.refreshButton.released.connect(refreshAction)

        l = QGridLayout()
        l.addWidget(QLabel("Minimum Value", self), 0, 0)
        l.addWidget(self.vmin, 0, 1)
        l.addWidget(QLabel("Maximum Value", self), 1, 0)
        l.addWidget(self.vmax, 1, 1)
        l.addWidget(QLabel("Scale Background", self), 2, 0)
        l.addWidget(self.scaleBg, 2, 1)
        l.addWidget(QLabel("Hue", self), 3, 0)
        l.addWidget(self.hue, 3, 1)
        l.addWidget(QLabel("Exponent", self), 4, 0)
        l.addWidget(self.exp, 4, 1)
        l.addWidget(QLabel("Scale Bar", self), 5, 0)
        l.addWidget(self.scaleBar, 5, 1)
        l.addWidget(self.refreshButton, 6, 0)
        layout = QHBoxLayout()
        layout.addLayout(l)
        layout.addWidget(self.plotWidg)
        self.setLayout(layout)

        self.stale = True
        self.paint()
コード例 #19
0
 def init_navi_toolbar(self):
     self.navi_toolbar = NavigationToolbar2QT(self.canvas, self)
     self.navi_toolbar.setStyleSheet('border: none')
     self.navi_toolbar.setMaximumHeight(20)
コード例 #20
0
ファイル: toolbar.py プロジェクト: nQuant/glue
def _ensure_mpl_nav(viewer):
    # Set up virtual Matplotlib navigation toolbar (don't show it)
    if not hasattr(viewer, '_mpl_nav'):
        viewer._mpl_nav = NavigationToolbar2QT(viewer.central_widget.canvas,
                                               viewer)
        viewer._mpl_nav.hide()
コード例 #21
0
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        self.manual_insert.move(500, 60)
        self.manual_insert.resize(140, 85)

        self.manual_insert_x_label.setText('x:')
        self.manual_insert_x_label.move(10, 20)

        self.manual_insert_x.placeholderText = 'Podaj wartość x'
        self.manual_insert_x.setToolTip(
            'Punkt, który dodasz będzie miał następującą współrzędną y')
        self.manual_insert_x.move(20, 20)
        self.manual_insert_x.resize(100, 16)

        self.manual_insert_y_label = QLabel(self.manual_insert)
        self.manual_insert_y_label.setText('y:')
        self.manual_insert_y_label.move(10, 40)

        self.manual_insert_y.placeholderText = 'Podaj wartość y'
        self.manual_insert_y.setToolTip(
            'Punkt, który dodasz będzie miał następującą współrzędną y')
        self.manual_insert_y.move(20, 40)
        self.manual_insert_y.resize(100, 16)

        self.manual_insert_button.setText('Dodaj punkt')
        self.manual_insert_button.move(40, 60)
        self.manual_insert_button.resize(81, 24)

        self.manual_insert_button.clicked.connect(self.min_button_clicked)
        self.refresh_plot()

        self.addToolBar(NavigationToolbar2QT(self.plot, self))

        self.interp_box1.move(500, 145)
        self.interp_box1.resize(140, 50)
        self.interp_combo1.addItems([
            'Brak', 'Liniowa', 'Kwadratowa', 'Wielomianowa (10)',
            'Wielomianowa', 'Logarytmiczna', 'Wykładnicza'
        ])
        self.interp_combo1.move(10, 20)
        self.interp_combo1.resize(120, 20)
        self.interp_combo1.activated[int].connect(self.interp_combo_activated1)

        self.interp_box2.move(500, 195)
        self.interp_box2.resize(140, 50)
        self.interp_combo2.addItems([
            'Brak', 'Liniowa', 'Kwadratowa', 'Wielomianowa (10)',
            'Wielomianowa', 'Logarytmiczna', 'Wykładnicza'
        ])
        self.interp_combo2.move(10, 20)
        self.interp_combo2.resize(120, 20)
        self.interp_combo2.activated[int].connect(self.interp_combo_activated2)

        self.select_point_box.move(500, 245)
        self.select_point_box.resize(140, 50)
        self.select_point_combo.move(10, 20)
        self.select_point_combo.resize(120, 20)
        self.select_point_combo.activated[int].connect(
            self.select_point_combo_activated)

        self.grid_on.move(515, 291)
        self.grid_on.setChecked(False)
        self.grid_on.stateChanged.connect(self.grid_on_changed)

        self.grid_label.move(533, 290)

        self.show()
コード例 #22
0
ファイル: main.py プロジェクト: ZhongxuanWang/ICH-Detector
    def show_fig(self):
        if self.fold is None:
            self.console.append('[ERROR] You haven\'t opened an image!')
            return
        self.start_btn_hit = False
        try:
            self.resultlayer.removeWidget(self.result_figure)
        except:
            self.resultlayer.removeWidget(self.resultview)
        # 移除旧的画布
        try:
            self.imageshow.removeWidget(self.plot_figure)
            self.imageshow.removeWidget(self.tool)
        except:
            self.imageshow.removeWidget(self.photoview)
        # finally:
        #     pass

        filename = self.imgfile.currentText()
        filepath = os.path.join(self.fold, filename)
        self.console.append(f"[INFO] Showing:{filename}")

        self.filepath = filepath

        plt.close('all')

        self.plot_figure = ImageView(width=8, height=8, dpi=110)
        self.tool = NavigationToolbar2QT(self.plot_figure, self)
        if filepath[-3:] == "dcm":
            # 读取dicom文件
            _slice = preprocess(filepath)

            # 设置id, 长, 宽
            self.id.setText(_slice.PatientID)
            self.length.setText(str(_slice.pixel_array.shape[1]))
            self.width.setText(str(_slice.pixel_array.shape[0]))
            self.image = _slice
        else:
            self.image = plt.imread(filepath)
            # if self.image.ndim == 3:
            #     self.image = rgb_to_grey(self.image)
            # self.id.setText(" ")
            self.length.setText(str(self.image.shape[1]))
            self.width.setText(str(self.image.shape[0]))
        self.id.setText(str(self.image.shape))

        # while len(self.image) == 1:
        #     self.image = self.image[0]
        self.imageshow.addWidget(self.plot_figure)
        self.imageshow.addWidget(self.tool)
        _img = filepath.split(path_sign)[-1]
        if len(self.image.shape) == 3:
            plt.imshow(self.image)
        else:
            plt.imshow(self.image, plt.gray())

        # plt.imshow(np.around(torch.clamp(jet(image.expand(1,3,-1,-1)), 0, 1)[0,0].cpu().numpy()*255).astype(np.uint8))

        # 显示大标题
        self.plot_figure.fig.suptitle(_img)
        self.t1_t5()
コード例 #23
0
ファイル: main.py プロジェクト: ZhongxuanWang/ICH-Detector
    def show_gradcam(self, signal):
        if not self.start_btn_hit:
            self.console.append('[ERROR] Please Diagnose the image first')
            return

        plt.close('all')

        if self.image is None:
            self.console.append('[WARNING] Image is not selected')
            return

        # 移除旧的画布
        try:
            self.imageshow.removeWidget(self.plot_figure)
            self.imageshow.removeWidget(self.tool)
        except:
            self.imageshow.removeWidget(self.photoview)
        finally:
            pass

        self.t1_t5()
        if signal == 0:
            self.rawimg.setDisabled(True)
        elif signal == 1:
            self.t1.setDisabled(True)
        elif signal == 2:
            self.t2.setDisabled(True)
        elif signal == 3:
            self.t3.setDisabled(True)
        elif signal == 4:
            self.t4.setDisabled(True)
        elif signal == 5:
            self.t5.setDisabled(True)
        else:
            raise Exception('Incorrect Signal Tossed!')

        self.plot_figure = ImageView(width=8, height=8, dpi=110)
        self.tool = NavigationToolbar2QT(self.plot_figure, self)

        selected_index = self.models.currentIndex()
        selected_model = Models[selected_index]
        if not selected_model.loaded:
            selected_model.load_state_dict(
                torch.load(MODEL_PATH[selected_index]))
            selected_model.loaded = True
            selected_model.eval()
        image = self.image
        if isinstance(image, np.ndarray):
            image = torch.tensor(image)

        if len(image.shape) == 3:
            self.console.append(
                '[WARNING] For Heatmap, please use GradCAM Diagnose for optimal result'
            )
            image = rgb_to_grey(image)

        image = (image - 0.188) / 0.315
        image = image.expand(1, 3, -1, -1)
        ind = torch.tensor([[signal]])

        grad_cam = GradCAM(model=selected_model)
        cam = grad_cam(image.expand(1, 3, -1, -1), ind)
        cam = jet(cam)

        image = torch.clamp(image * ct_std + ct_mean, 0, 1) + cam
        image = np.moveaxis(image[0].cpu().numpy(), 0, 2)
        image = image / image.max()
        image = np.around(image * 255).astype(np.uint8)
        # if image.shape[0] == 3:
        #     image = image[0]
        plt.imshow(image)

        self.imageshow.addWidget(self.plot_figure)
        self.imageshow.addWidget(self.tool)
        # 显示大标题
        name_list = [
            "Any", "Epidural", "Intraparenchymal", "Intraventricular",
            "Subarachnoid", "Subdural"
        ]
        if self.flag[signal] == 'green':
            title = f"{name_list[signal]} - Not Diagnosed"
        else:
            title = f"{name_list[signal]} - Diagnosed"
        self.plot_figure.fig.suptitle(title)