コード例 #1
0
ファイル: film.py プロジェクト: BoettigerLab/Hal2
    def getFilmSettings(self, film_request):

        if film_request.isTCPRequest():
            #
            # TCP requested films are
            #
            # 1. Always fixed length.
            # 2. Are always saved.
            # 3. Always have a base name.
            #

            # Figure out what directory to use.
            if film_request.getDirectory() is None:
                directory = self.parameters.get("directory")
            else:
                directory = film_request.getDirectory()

            return filmSettings.FilmSettings(
                basename=os.path.join(directory, film_request.getBasename()),
                filetype=self.parameters.get("filetype"),
                film_length=film_request.getFrames(),
                overwrite=film_request.overwriteOk(),
                run_shutters=self.ui.autoShuttersCheckBox.isChecked(),
                tcp_request=True)

        else:
            reply = QtWidgets.QMessageBox.Yes

            # Overwrite check.
            if self.will_overwrite and self.ui.saveMovieCheckBox.isChecked():
                reply = halMessageBox.halMessageBoxResponse(
                    self, "Warning!", "Overwrite Existing Movie?")
                if (reply == QtWidgets.QMessageBox.No):
                    return

            # Not saved check.
            if not self.ui.saveMovieCheckBox.isChecked():
                reply = halMessageBox.halMessageBoxResponse(
                    self, "Warning!",
                    "Do you know that the movie will not be saved?")
                if (reply == QtWidgets.QMessageBox.No):
                    return

            return filmSettings.FilmSettings(
                acq_mode=self.parameters.get("acq_mode"),
                basename=os.path.join(self.parameters.get("directory"),
                                      self.getBasename()),
                filetype=self.parameters.get("filetype"),
                film_length=self.parameters.get("frames"),
                run_shutters=self.ui.autoShuttersCheckBox.isChecked(),
                save_film=self.ui.saveMovieCheckBox.isChecked())
コード例 #2
0
ファイル: film.py プロジェクト: ZhuangLab/storm-control
    def getFilmSettings(self, film_request):
            
        if film_request.isTCPRequest():
            #
            # TCP requested films are
            #
            # 1. Always fixed length.
            # 2. Are always saved.
            # 3. Always have a base name.
            #

            # Figure out what directory to use.
            if film_request.getDirectory() is None:
                directory = self.parameters.get("directory")
            else:
                directory = film_request.getDirectory()

            return filmSettings.FilmSettings(basename = os.path.join(directory, film_request.getBasename()),
                                             filetype = self.parameters.get("filetype"),
                                             film_length = film_request.getFrames(),
                                             overwrite = film_request.overwriteOk(),
                                             run_shutters = self.ui.autoShuttersCheckBox.isChecked(),
                                             tcp_request = True)

        else:
            reply = QtWidgets.QMessageBox.Yes

            # Overwrite check.
            if self.will_overwrite and self.ui.saveMovieCheckBox.isChecked():
                reply = halMessageBox.halMessageBoxResponse(self,
                                                            "Warning!",
                                                            "Overwrite Existing Movie?")
                if (reply == QtWidgets.QMessageBox.No):
                    return

            # Not saved check.
            if not self.ui.saveMovieCheckBox.isChecked():
                reply = halMessageBox.halMessageBoxResponse(self,
                                                            "Warning!",
                                                            "Do you know that the movie will not be saved?")
                if (reply == QtWidgets.QMessageBox.No):
                    return

            return filmSettings.FilmSettings(acq_mode = self.parameters.get("acq_mode"),
                                             basename  = os.path.join(self.parameters.get("directory"), self.getBasename()),
                                             filetype = self.parameters.get("filetype"),
                                             film_length = self.parameters.get("frames"),
                                             run_shutters = self.ui.autoShuttersCheckBox.isChecked(),
                                             save_film = self.ui.saveMovieCheckBox.isChecked())
コード例 #3
0
    def closeEvent(self, event):
        if (len(self.changed_items) > 0):
            reply = halMessageBox.halMessageBoxResponse(
                self, "Warning!",
                "Parameters have not been updated, close anyway?")
            if (reply == QtWidgets.QMessageBox.No):
                event.ignore()
                return

        self.closed.emit()
        self.qt_settings.setValue(self.module_name + ".pos", self.pos())
        self.qt_settings.setValue(self.module_name + ".size", self.size())
        self.qt_settings.sync()
コード例 #4
0
    def closeEvent(self, event):
        if (len(self.changed_items) > 0):
            reply = halMessageBox.halMessageBoxResponse(self,
                                                        "Warning!",
                                                        "Parameters have not been updated, close anyway?")
            if (reply == QtWidgets.QMessageBox.No):
                event.ignore()
                return

        self.closed.emit()
        self.qt_settings.setValue(self.module_name + ".pos", self.pos())
        self.qt_settings.setValue(self.module_name + ".size", self.size())
        self.qt_settings.sync()
コード例 #5
0
    def handleStartButton(self, boolean):
        if (self.n_running == 0):

            # Check if we'll overwrite an existing calibration.
            if self.will_overwrite:
                reply = halMessageBox.halMessageBoxResponse(self,
                                                            "Warning!",
                                                            "Overwrite Existing Calibration(s)?")
                if (reply == QtWidgets.QMessageBox.No):
                    return

            fname = os.path.join(self.directory, self.ui.calibrationFileLineEdit.text())
            for cal in self.calibrators:
                cal.start(fname, self.ui.framesSpinBox.value())
                self.n_running += 1
            self.ui.startButton.setStyleSheet("QPushButton { color: red }")
            self.ui.startButton.setText("Stop")
            
        else:
            for i, cal in enumerate(self.calibrators):
                cal.stop()
                self.ui_elements[i][1].reset()
            self.ui.startButton.setStyleSheet("QPushButton { color: black }")
            self.ui.startButton.setText("Start")
コード例 #6
0
ファイル: scmosCalibration.py プロジェクト: BoettigerLab/Hal2
    def handleStartButton(self, boolean):
        if (self.n_running == 0):

            # Check if we'll overwrite an existing calibration.
            if self.will_overwrite:
                reply = halMessageBox.halMessageBoxResponse(
                    self, "Warning!", "Overwrite Existing Calibration(s)?")
                if (reply == QtWidgets.QMessageBox.No):
                    return

            fname = os.path.join(self.directory,
                                 self.ui.calibrationFileLineEdit.text())
            for cal in self.calibrators:
                cal.start(fname, self.ui.framesSpinBox.value())
                self.n_running += 1
            self.ui.startButton.setStyleSheet("QPushButton { color: red }")
            self.ui.startButton.setText("Stop")

        else:
            for i, cal in enumerate(self.calibrators):
                cal.stop()
                self.ui_elements[i][1].reset()
            self.ui.startButton.setStyleSheet("QPushButton { color: black }")
            self.ui.startButton.setText("Start")
コード例 #7
0
ファイル: stage.py プロジェクト: BoettigerLab/Hal2
 def handleZeroButton(self, boolean):
     resp = halMessageBox.halMessageBoxResponse(
         self, "Confirm Stage Zero",
         "Are you sure that you want to zero the stage position?")
     if (resp == QtWidgets.QMessageBox.Yes):
         self.stage_functionality.zero()
コード例 #8
0
ファイル: stage.py プロジェクト: ZhuangLab/storm-control
 def handleZeroButton(self, boolean):
     resp = halMessageBox.halMessageBoxResponse(self,
                                                "Confirm Stage Zero",
                                                "Are you sure that you want to zero the stage position?")
     if (resp == QtWidgets.QMessageBox.Yes):
         self.stage_functionality.zero()