Beispiel #1
0
    def __init__(self,
                 plot_item,
                 legend_item,
                 positions,
                 intensities,
                 name=None,
                 baseline=1,
                 line_style='solid',
                 default_visible=True,
                 color=None,
                 line_width=0.9):
        self.plot_item = plot_item
        self.legend_item = legend_item
        self.visible = True
        self.line_items = []
        self.line_visible = []
        self.pattern_x_range = []
        self.index = PhasePlot.num_phases
        if color is None:
            self.color = calculate_color(self.index + 9)
            PhasePlot.num_phases += 1
        else:
            self.color = color

        self.width = line_width
        self.set_line_style(line_style)
        self.ref_legend_line = pg.PlotDataItem(pen=self.pen)
        self.name = ''

        self.default_visible = default_visible
        self.create_items(positions, intensities, name, baseline)
Beispiel #2
0
 def plot_tth(self, tth):
     self.fig.clear()
     if len(tth):
         for i, t in enumerate(tth):
             color = calculate_color(i)
             x, y = self.make_plot(t)
             self.fig.add_line_plot(x, y, color, 2)
             self.fig.set_plot_label_color(color, i)
 def files_loaded_callback(self):
     tth_groups = self.spectra_model.tth_groups
     tth = self.spectra_model.tth
     self.colors = {}
     i = 0
     for t in tth:
         color = calculate_color(i)
         c = (int(color[0]), int(color[1]), int(color[2]))
         self.colors[t] = c
         i += 1
 def add_tth_to_spectra_model(self, t):
     tth = self.spectra_model.tth
     if not t in tth:
         i = len(tth)
         self.spectra_model.add_tth(t)
         color = calculate_color(i)
         c = (int(color[0]), int(color[1]), int(color[2]))
         self.colors[t] = c
         c_str = '#%02x%02x%02x' % c
         self.files_window.file_trw.add_file_group([], c_str, str(t), [])
Beispiel #5
0
 def add_overlay(self, pattern, show=True):
     [x,y]=pattern.get_pattern()
     
     color = calculate_color(len(self.overlays) + 1)
     self.overlays.append(pg.PlotDataItem(pen=pg.mkPen(color=color, width=1), \
                 antialias=True, conntect='finite'))
     #self.overlays.append(pg.PlotDataItem(x, y, pen=pg.mkPen(color=color, width=1), antialias=True, conntect='finite'))
     if x is not None:
         self.overlays[-1].setData(x, y)
     self.overlay_names.append(pattern.name)
     self.overlay_show.append(True)
     if show:
         self.pattern_plot.addItem(self.overlays[-1])
         self.legend.addItem(self.overlays[-1], pattern.name)
         self.update_graph_range()
     return color
Beispiel #6
0
 def add_jcpds_object(self, jcpds_object):
     """
     Adds a jcpds object to the phase list.
     :param jcpds_object: jcpds object
     :type jcpds_object: jcpds
     """
     self.phases.append(jcpds_object)
     self.reflections.append([])
     self.phase_colors.append(calculate_color(PhaseModel.num_phases + 9))
     self.phase_visible.append(True)
     PhaseModel.num_phases += 1
     if self.same_conditions and len(self.phases) > 2:
         self.phases[-1].compute_d(self.phases[-2].params['pressure'],
                                   self.phases[-2].params['temperature'])
     else:
         self.phases[-1].compute_d()
     self.get_lines_d(-1)
     self.phase_added.emit()
     self.phase_changed.emit(len(self.phases) - 1)
Beispiel #7
0
    def add_cell(self , cell=None):
        if cell is None:
            color  = calculate_color(len(self.cells)-1) 
            c = (int(color[0]), int(color[1]),int(color[2]))
            c_str = '#%02x%02x%02x' % c
            name = 'cell '+str(len(self.cells))
            new_cell = Cell(name, c_str, use=True)
            cell = new_cell
        else:
            c_str = cell.color
            name = cell.name
            cell.use = True
        checked, text = (Qt.Checked, '')
        check_item = QStandardItem(text)
        check_item.setCheckable(True)
        check_item.setCheckState(checked)

        self.cells.append(cell)
        
        parent_item = self.invisibleRootItem()  # type: QStandardItem
        parent_item.appendRow([check_item, QStandardItem(c_str), QStandardItem(name)])
        
        return cell