Example #1
0
    def update_record_progress_bar(self):
        global ser_reader_thread, recording, values_to_record, record_start_time

        rate = ser_reader_thread.sps
        while recording:
            self.progress.setValue(100 / (values_to_record / rate) * (time.time() - record_start_time)) # map recorded/to_record => 0% - 100%
            QApplication.processEvents() 
            time.sleep(0.01)
        self.progress.setValue(0)
Example #2
0
 def showMessage(self, msg):
     """
     Public method to show a message in the bottom part of the splashscreen.
     
     @param msg message to be shown (string or QString)
     """
     QSplashScreen.showMessage(self, msg, self.labelAlignment,
                               QColor(Qt.black))
     QApplication.processEvents()
Example #3
0
class QAppTestCase(unittest.TestCase):
    def setUp(self):
        self.app = QApplication([])
        QTimer.singleShot(20000, self.app.exit)

    def tearDown(self):
        if hasattr(self, "scene"):
            self.scene.clear()
            self.scene.deleteLater()
            self.app.processEvents()
            del self.scene
        self.app.processEvents()
        del self.app
        gc.collect()

    def singleShot(self, *args):
        QTimer.singleShot(*args)
Example #4
0
    def loadDcmDir(self, event=None, filename=None):
        self.statusBar().showMessage('Loading DICOM data...')
        QApplication.processEvents()


        # TODO uninteractive Serie selection



        #self.data3d, self.metadata = dcmr.dcm_read_from_dir(datadir)
        datadir = dcmr.get_dcmdir_qt(self.qt_app)

        # @TODO dialog v qt
        reader = dcmr.DicomReader(datadir)#, qt_app=self.qt_app)
        self.data3d = reader.get_3Ddata()
        self.metadata = reader.get_metaData()
        self.inps['series_number'] = reader.series_number
        self.inps['datadir'] = datadir

        self.statusBar().showMessage('DICOM data loaded')
Example #5
0
class TestItems(unittest.TestCase):
    def setUp(self):
        import logging

        from PyQt5.QtGui import QApplication, QGraphicsScene, QGraphicsView, \
                                QPainter

        from PyQt5.QtCore import QTimer

        logging.basicConfig()

        self.app = QApplication([])
        self.scene = QGraphicsScene()
        self.view = QGraphicsView(self.scene)
        self.view.setRenderHints(
            QPainter.Antialiasing | \
            QPainter.SmoothPixmapTransform | \
            QPainter.TextAntialiasing
            )
        self.view.resize(500, 300)
        self.view.show()
        QTimer.singleShot(10000, self.app.exit)

        def my_excepthook(etype, value, tb):
            sys.setrecursionlimit(1010)
            traceback.print_exception(etype, value, tb)

        self._orig_excepthook = sys.excepthook
        sys.excepthook = my_excepthook
        self.singleShot = QTimer.singleShot

    def tearDown(self):
        self.scene.clear()
        self.scene.deleteLater()
        self.view.deleteLater()
        del self.scene
        del self.view
        self.app.processEvents()
        del self.app
        sys.excepthook = self._orig_excepthook
Example #6
0
    def saveDcm(self, event=None, filename=None):
        if self.dcm_3Ddata is not None:
            self.statusBar().showMessage('Saving DICOM data...')
            QApplication.processEvents()

            if filename is None:
                filename = str(QFileDialog.getSaveFileName(self, 'Save DCM file',
                                                           filter='Files (*.dcm)'))[0]
            if len(filename) > 0:
                savemat(filename, {'data': self.dcm_3Ddata,
                                   'voxelsize_mm': self.voxel_size_mm,
                                   'offsetmm': self.dcm_offsetmm},
                                   appendmat=False)

                self.setLabelText(self.text_dcm_out, filename)
                self.statusBar().showMessage('Ready')

            else:
                self.statusBar().showMessage('No output file specified!')

        else:
            self.statusBar().showMessage('No DICOM data!')
Example #7
0
 def clearMessage(self):
     """
     Public method to clear the message shown.
     """
     QSplashScreen.clearMessage(self)
     QApplication.processEvents()
Example #8
0
 def update_steps_progress_bar(self, current_step):
     self.steps_progress_bar.setValue(current_step / self.steps_spin.value() * 100)
     QApplication.processEvents()