Example #1
0
    def add_overlay(self, filename=None):
        if filename is None:
            filenames = QtGui.QFileDialog.getOpenFileNames(
                self.view, "Load Overlay(s).", self.working_dir['overlay'])
            if len(filenames):
                for filename in filenames:
                    filename = str(filename)
                    self.spectrum_data.add_overlay_file(filename)
                    self.view.spectrum_view.add_overlay(
                        self.spectrum_data.overlays[-1])
                    self.overlay_lw_items.append(
                        self.view.overlay_lw.addItem(get_base_name(filename)))
                    self.view.overlay_lw.setCurrentRow(
                        len(self.spectrum_data.overlays) - 1)
                self.working_dir['overlay'] = os.path.dirname(str(
                    filenames[0]))

        else:
            self.spectrum_data.add_overlay_file(filename)
            self.view.spectrum_view.add_overlay(
                self.spectrum_data.overlays[-1])
            self.overlay_lw_items.append(
                self.view.overlay_lw.addItem(get_base_name(filename)))
            self.view.overlay_lw.setCurrentRow(
                len(self.spectrum_data.overlays) - 1)
            self.working_dir['overlay'] = os.path.dirname(str(filename))
Example #2
0
 def add_phase(self, filename=None):
     if filename is None:
         filenames = QtGui.QFileDialog.getOpenFileNames(
             self.view, "Load Phase(s).", self.working_dir['phase'])
         if len(filenames):
             self.working_dir['phase'] = os.path.dirname(str(filenames[0]))
             for filename in filenames:
                 filename = str(filename)
                 self.phase_data.add_phase(filename)
                 self.phase_lw_items.append(
                     self.view.phase_lw.addItem(get_base_name(filename)))
                 if self.view.phase_apply_to_all_cb.isChecked():
                     self.phase_data.phases[-1].compute_d(
                         pressure=np.float(
                             self.view.phase_pressure_sb.value()),
                         temperature=np.float(
                             self.view.phase_temperature_sb.value()))
                 self.phase_data.get_lines_d(-1)
                 self.view.phase_lw.setCurrentRow(
                     len(self.phase_data.phases) - 1)
                 self.add_phase_plot()
     else:
         self.phase_data.add_phase(filename)
         self.phase_lw_items.append(
             self.view.phase_lw.addItem(get_base_name(filename)))
         if self.view.phase_apply_to_all_cb.isChecked():
             self.phase_data.phases[-1].compute_d(
                 pressure=np.float(self.view.phase_pressure_sb.value()),
                 temperature=np.float(
                     self.view.phase_temperature_sb.value()))
         self.phase_data.get_lines_d(-1)
         self.view.phase_lw.setCurrentRow(len(self.phase_data.phases) - 1)
         self.add_phase_plot()
         self.working_dir['phase'] = os.path.dirname(str(filename))
 def add_overlay(self, filename=None):
     if filename is None:
         filenames = QtGui.QFileDialog.getOpenFileNames(self.view, "Load Overlay(s).", self.working_dir['overlay'])
         if len(filenames):
             for filename in filenames:
                 filename = str(filename)
                 self.spectrum_data.add_overlay_file(filename)
                 color = self.view.spectrum_view.add_overlay(self.spectrum_data.overlays[-1])
                 self.view.add_overlay(get_base_name(filename), '#%02x%02x%02x' % (color[0], color[1], color[2]))
             self.working_dir['overlay'] = os.path.dirname(str(filenames[0]))
     else:
         self.spectrum_data.add_overlay_file(filename)
         color = self.view.spectrum_view.add_overlay(self.spectrum_data.overlays[-1])
         self.view.add_overlay(get_base_name(filename), '#%02x%02x%02x' % (color[0], color[1], color[2]))
         self.working_dir['overlay'] = os.path.dirname(str(filename))
Example #4
0
 def set_as_overlay(self, show=True):
     self.spectrum_data.set_current_spectrum_as_overlay()
     color = self.view.spectrum_view.add_overlay(
         self.spectrum_data.overlays[-1], show)
     self.view.add_overlay(
         get_base_name(self.spectrum_data.overlays[-1].name),
         '#%02x%02x%02x' % (color[0], color[1], color[2]))
Example #5
0
 def set_as_overlay(self, show=True):
     self.spectrum_data.set_current_spectrum_as_overlay()
     self.view.spectrum_view.add_overlay(self.spectrum_data.overlays[-1],
                                         show)
     self.overlay_lw_items.append(
         self.view.overlay_lw.addItem(
             get_base_name(self.spectrum_data.overlays[-1].name)))
     self.view.overlay_lw.setCurrentRow(
         len(self.spectrum_data.overlays) - 1)
Example #6
0
 def load(self, filename):
     self.geometry = GeometryRefinement(np.zeros((2, 3)),
                                        dist=self.start_values['dist'],
                                        wavelength=self.start_values['wavelength'],
                                        pixel1=self.start_values['pixel_width'],
                                        pixel2=self.start_values['pixel_height'])
     self.geometry.load(filename)
     self.calibration_name = get_base_name(filename)
     self.is_calibrated = True
Example #7
0
    def add_overlay(self, filename=None):
        if filename is None:
            filenames = QtGui.QFileDialog.getOpenFileNames(self.view, "Load Overlay(s).", self.working_dir['overlay'])
            if len(filenames):
                for filename in filenames:
                    filename = str(filename)
                    self.spectrum_data.add_overlay_file(filename)
                    self.view.spectrum_view.add_overlay(self.spectrum_data.overlays[-1])
                    self.overlay_lw_items.append(self.view.overlay_lw.addItem(get_base_name(filename)))
                    self.view.overlay_lw.setCurrentRow(len(self.spectrum_data.overlays) - 1)
                self.working_dir['overlay'] = os.path.dirname(str(filenames[0]))

        else:
            self.spectrum_data.add_overlay_file(filename)
            self.view.spectrum_view.add_overlay(self.spectrum_data.overlays[-1])
            self.overlay_lw_items.append(self.view.overlay_lw.addItem(get_base_name(filename)))
            self.view.overlay_lw.setCurrentRow(len(self.spectrum_data.overlays) - 1)
            self.working_dir['overlay'] = os.path.dirname(str(filename))
Example #8
0
 def load(self, filename):
     self.geometry = GeometryRefinement(
         np.zeros((2, 3)),
         dist=self.start_values['dist'],
         wavelength=self.start_values['wavelength'],
         pixel1=self.start_values['pixel_width'],
         pixel2=self.start_values['pixel_height'])
     self.geometry.load(filename)
     self.calibration_name = get_base_name(filename)
     self.is_calibrated = True
Example #9
0
 def load(self, filename):
     self.spectrum_geometry = AzimuthalIntegrator()
     self.spectrum_geometry.load(filename)
     self.orig_pixel1 = self.spectrum_geometry.pixel1
     self.orig_pixel2 = self.spectrum_geometry.pixel2
     self.calibration_name = get_base_name(filename)
     self.filename = filename
     self.is_calibrated = True
     self.create_cake_geometry()
     self.set_supersampling()
Example #10
0
 def add_overlay(self, filename=None):
     if filename is None:
         filenames = QtGui.QFileDialog.getOpenFileNames(
             self.view, "Load Overlay(s).", self.working_dir['overlay'])
         if len(filenames):
             for filename in filenames:
                 filename = str(filename)
                 self.spectrum_data.add_overlay_file(filename)
                 color = self.view.spectrum_view.add_overlay(
                     self.spectrum_data.overlays[-1])
                 self.view.add_overlay(
                     get_base_name(filename),
                     '#%02x%02x%02x' % (color[0], color[1], color[2]))
             self.working_dir['overlay'] = os.path.dirname(str(
                 filenames[0]))
     else:
         self.spectrum_data.add_overlay_file(filename)
         color = self.view.spectrum_view.add_overlay(
             self.spectrum_data.overlays[-1])
         self.view.add_overlay(
             get_base_name(filename),
             '#%02x%02x%02x' % (color[0], color[1], color[2]))
         self.working_dir['overlay'] = os.path.dirname(str(filename))
    def _add_phase(self, filename):
        try:
            self.phase_data.add_phase(filename)

            if self.view.phase_apply_to_all_cb.isChecked():
                pressure = np.float(self.view.phase_pressure_sb.value())
                temperature = np.float(self.view.phase_temperature_sb.value())
                self.phase_data.phases[-1].compute_d(pressure=pressure,
                                                     temperature=temperature)
            else:
                pressure = 0
                temperature = 298


            self.phase_data.get_lines_d(-1)
            color = self.add_phase_plot()
            self.view.add_phase(get_base_name(filename), '#%02x%02x%02x' % (color[0], color[1], color[2]))

            self.view.set_phase_pressure(len(self.phase_data.phases)-1, pressure)
            self.update_phase_temperature(len(self.phase_data.phases)-1, temperature)
        except PhaseLoadError as e:
            self.view.show_error_msg('Could not load:\n\n{}.\n\nPlease check if the format of the input file is correct.'.\
                                    format(e.filename))
Example #12
0
 def save(self, filename):
     self.geometry.save(filename)
     self.calibration_name = get_base_name(filename)
Example #13
0
 def set_as_overlay(self, show=True):
     self.spectrum_data.set_current_spectrum_as_overlay()
     self.view.spectrum_view.add_overlay(self.spectrum_data.overlays[-1], show)
     self.overlay_lw_items.append(self.view.overlay_lw.addItem(get_base_name(self.spectrum_data.overlays[-1].name)))
     self.view.overlay_lw.setCurrentRow(len(self.spectrum_data.overlays) - 1)
 def set_as_overlay(self, show=True):
     self.spectrum_data.set_current_spectrum_as_overlay()
     color = self.view.spectrum_view.add_overlay(self.spectrum_data.overlays[-1], show)
     self.view.add_overlay(get_base_name(self.spectrum_data.overlays[-1].name),
                           '#%02x%02x%02x' % (color[0], color[1], color[2]))
Example #15
0
    def add_phase(self, filename=None):
        """
        Loads a new phase from jcpds file.
        :param filename: *.jcpds filename. I not set or None it a FileDialog will open.
        :return:
        """
        if filename is None:
            filenames = QtGui.QFileDialog.getOpenFileNames(
                self.view, "Load Phase(s).", self.working_dir['phase'])
            if len(filenames):
                self.working_dir['phase'] = os.path.dirname(str(filenames[0]))
                progress_dialog = QtGui.QProgressDialog("Loading multiple phases.", "Abort Loading", 0, len(filenames),
                                                        self.view)
                progress_dialog.setWindowModality(QtCore.Qt.WindowModal)
                progress_dialog.show()
                QtGui.QApplication.processEvents()
                for ind, filename in enumerate(filenames):
                    filename = str(filename)
                    progress_dialog.setValue(ind)
                    progress_dialog.setLabelText("Loading: " + os.path.basename(filename))
                    QtGui.QApplication.processEvents()
                    self.phase_data.add_phase(filename)


                    if self.view.phase_apply_to_all_cb.isChecked():
                        pressure = np.float(self.view.phase_pressure_sb.value())
                        temperature = np.float(self.view.phase_temperature_sb.value())
                        self.phase_data.phases[-1].compute_d(pressure=pressure,
                                                             temperature=temperature)
                    else:
                        pressure = 0
                        temperature = 300


                    self.phase_data.get_lines_d(-1)
                    color = self.add_phase_plot()
                    self.view.add_phase(get_base_name(filename), '#%02x%02x%02x' % (color[0], color[1], color[2]))

                    self.view.set_phase_tw_pressure(len(self.phase_data.phases)-1, pressure)
                    self.update_phase_temperature(len(self.phase_data.phases)-1, temperature)

                    if progress_dialog.wasCanceled():
                        break
                progress_dialog.close()
                QtGui.QApplication.processEvents()
                self.update_temperature_control_visibility()
        else:
            self.phase_data.add_phase(filename)

            if self.view.phase_apply_to_all_cb.isChecked():
                pressure = np.float(self.view.phase_pressure_sb.value())
                temperature = np.float(self.view.phase_temperature_sb.value())
                self.phase_data.phases[-1].compute_d(pressure=pressure,
                                                     temperature=temperature)
            else:
                pressure = 0
                temperature = 300


            self.phase_data.get_lines_d(-1)
            color = self.add_phase_plot()
            self.view.add_phase(get_base_name(filename), '#%02x%02x%02x' % (color[0], color[1], color[2]))

            self.view.set_phase_tw_pressure(len(self.phase_data.phases)-1, pressure)
            self.update_phase_temperature(len(self.phase_data.phases)-1, temperature)

            self.working_dir['phase'] = os.path.dirname(str(filename))
            self.update_temperature_control_visibility()
Example #16
0
 def save(self, filename):
     self.geometry.save(filename)
     self.calibration_name = get_base_name(filename)
Example #17
0
    def add_phase(self, filename=None):
        """
        Loads a new phase from jcpds file.
        :param filename: *.jcpds filename. I not set or None it a FileDialog will open.
        :return:
        """
        if filename is None:
            filenames = QtGui.QFileDialog.getOpenFileNames(
                self.view, "Load Phase(s).", self.working_dir['phase'])
            if len(filenames):
                self.working_dir['phase'] = os.path.dirname(str(filenames[0]))
                progress_dialog = QtGui.QProgressDialog(
                    "Loading multiple phases.", "Abort Loading", 0,
                    len(filenames), self.view)
                progress_dialog.setWindowModality(QtCore.Qt.WindowModal)
                progress_dialog.show()
                QtGui.QApplication.processEvents()
                for ind, filename in enumerate(filenames):
                    filename = str(filename)
                    progress_dialog.setValue(ind)
                    progress_dialog.setLabelText("Loading: " +
                                                 os.path.basename(filename))
                    QtGui.QApplication.processEvents()
                    self.phase_data.add_phase(filename)

                    if self.view.phase_apply_to_all_cb.isChecked():
                        pressure = np.float(
                            self.view.phase_pressure_sb.value())
                        temperature = np.float(
                            self.view.phase_temperature_sb.value())
                        self.phase_data.phases[-1].compute_d(
                            pressure=pressure, temperature=temperature)
                    else:
                        pressure = 0
                        temperature = 300

                    self.phase_data.get_lines_d(-1)
                    color = self.add_phase_plot()
                    self.view.add_phase(
                        get_base_name(filename),
                        '#%02x%02x%02x' % (color[0], color[1], color[2]))

                    self.view.set_phase_tw_pressure(
                        len(self.phase_data.phases) - 1, pressure)
                    self.update_phase_temperature(
                        len(self.phase_data.phases) - 1, temperature)

                    if progress_dialog.wasCanceled():
                        break
                progress_dialog.close()
                QtGui.QApplication.processEvents()
                self.update_temperature_control_visibility()
        else:
            self.phase_data.add_phase(filename)

            if self.view.phase_apply_to_all_cb.isChecked():
                pressure = np.float(self.view.phase_pressure_sb.value())
                temperature = np.float(self.view.phase_temperature_sb.value())
                self.phase_data.phases[-1].compute_d(pressure=pressure,
                                                     temperature=temperature)
            else:
                pressure = 0
                temperature = 300

            self.phase_data.get_lines_d(-1)
            color = self.add_phase_plot()
            self.view.add_phase(
                get_base_name(filename),
                '#%02x%02x%02x' % (color[0], color[1], color[2]))

            self.view.set_phase_tw_pressure(
                len(self.phase_data.phases) - 1, pressure)
            self.update_phase_temperature(
                len(self.phase_data.phases) - 1, temperature)

            self.working_dir['phase'] = os.path.dirname(str(filename))
            self.update_temperature_control_visibility()