Beispiel #1
0
    def plot_navigator(self):
        if self.axes_manager.navigation_dimension == 0:
            return
        if self.navigator_data_function is None:
            navigation_sliders(self.axes_manager.navigation_axes,
                               title=self.signal_title + " navigation sliders")
            return
        if self.navigator_plot is not None:
            self.navigator_plot.plot()
            return
        elif len(self.navigator_data_function().shape) == 1:
            # Create the figure
            sf = spectrum.SpectrumFigure(
                title=self.signal_title +
                ' Navigator' if self.signal_title else "")
            axis = self.axes_manager.navigation_axes[0]
            sf.xlabel = '%s' % str(axis)
            if axis.units is not Undefined:
                sf.xlabel += ' (%s)' % axis.units
            sf.ylabel = r'$\Sigma\mathrm{data\,over\,all\,other\,axes}$'
            sf.axis = axis.axis
            sf.axes_manager = self.axes_manager
            self.navigator_plot = sf
            # Create a line to the left axis with the default
            # indices
            sl = spectrum.SpectrumLine()
            sl.data_function = self.navigator_data_function
            sl.set_line_properties(color='blue', type='step')
            # Add the line to the figure
            sf.add_line(sl)
            sf.plot()
            self.pointer.add_axes(sf.ax)
            if self.axes_manager.navigation_dimension > 1:
                navigation_sliders(self.axes_manager.navigation_axes,
                                   title=self.signal_title +
                                   " navigation sliders")
                for axis in self.axes_manager.navigation_axes[:-2]:
                    axis.connect(sf.update)
            self.navigator_plot = sf
        elif len(self.navigator_data_function().shape) >= 2:
            imf = image.ImagePlot()
            imf.data_function = self.navigator_data_function
            # Navigator labels
            if self.axes_manager.navigation_dimension == 1:
                imf.yaxis = self.axes_manager.navigation_axes[0]
                imf.xaxis = self.axes_manager.signal_axes[0]
            elif self.axes_manager.navigation_dimension >= 2:
                imf.yaxis = self.axes_manager.navigation_axes[1]
                imf.xaxis = self.axes_manager.navigation_axes[0]
                if self.axes_manager.navigation_dimension > 2:
                    navigation_sliders(self.axes_manager.navigation_axes,
                                       title=self.signal_title +
                                       " navigation sliders")
                    for axis in self.axes_manager.navigation_axes[2:]:
                        axis.connect(imf.update)

            imf.title = self.signal_title + ' Navigator'
            imf.plot()
            self.pointer.add_axes(imf.ax)
            self.navigator_plot = imf
Beispiel #2
0
 def plot_navigator(self):
     if self.navigator_plot is not None:
         self.navigator_plot.plot()
         return
     if self.axes_manager.navigation_dimension >= 2:
         imf = image.ImagePlot()
         imf.data_function = self.navigator_data_function
         imf.title = self.signal_title + ' Navigator'
         imf.yaxis, imf.xaxis = \
             self.axes_manager.navigation_axes[-2:]
         imf.plot()
         self.pointer.add_axes(imf.ax)
         if self.axes_manager.navigation_dimension > 2:
             navigation_sliders(
                 self.axes_manager.navigation_axes[::-1])
             for axis in self.axes_manager.navigation_axes[:-2]:
                 axis.connect(imf.update_image)
         self.navigator_plot = imf
         
     if self.axes_manager.navigation_dimension == 1:
         # Create the figure
         sf = spectrum.SpectrumFigure()
         axis = self.axes_manager.navigation_axes[0]
         sf.xlabel = '%s (%s)' % (axis.name, axis.units)
         sf.ylabel = r'$\Sigma\mathrm{Image\,intensity}$'
         sf.title = self.signal_title + ' Navigator'
         sf.axis = axis.axis
         sf.axes_manager = self.axes_manager
         self.navigator_plot = sf
         # Create a line to the left axis with the default 
         # indices
         sl = spectrum.SpectrumLine()
         sl.data_function = self.navigator_data_function
         sl.line_properties_helper('blue', 'step')        
         # Add the line to the figure
         sf.add_line(sl)
         self.navigator_plot = sf
         sf.plot()
         self.pointer.add_axes(sf.ax)
Beispiel #3
0
 def plot_navigator(self):
     if self.navigator_plot is not None:
         self.navigator_plot.plot()
         return
     imf = image.ImagePlot()
     imf.data_function = self.navigator_data_function
     # Navigator labels
     if self.axes_manager.navigation_dimension == 1:
         imf.yaxis = self.axes_manager.navigation_axes[0]
         imf.xaxis = self.axes_manager.signal_axes[0]
     elif self.axes_manager.navigation_dimension >= 2:
         imf.yaxis = self.axes_manager.navigation_axes[-2]
         imf.xaxis = self.axes_manager.navigation_axes[-1]
         if self.axes_manager.navigation_dimension > 2:
             navigation_sliders(
                 self.axes_manager.navigation_axes[::-1])
             for axis in self.axes_manager.navigation_axes[:-2]:
                 axis.connect(imf.update_image)
         
     imf.title = self.signal_title + ' Navigator'
     imf.plot()
     self.pointer.add_axes(imf.ax)
     self.navigator_plot = imf
Beispiel #4
0
    def plot_navigator(self):
        if self.axes_manager.navigation_dimension == 0:
            return
        if self.navigator_data_function is None:
            return
        if self.navigator_data_function is "slider":
            navigation_sliders(self.axes_manager.navigation_axes, title=self.signal_title + " navigation sliders")
            return
        if self.navigator_plot is not None:
            self.navigator_plot.plot()
            return
        elif len(self.navigator_data_function().shape) == 1:
            # Create the figure
            sf = spectrum.SpectrumFigure(title=self.signal_title + " Navigator" if self.signal_title else "")
            axis = self.axes_manager.navigation_axes[0]
            sf.xlabel = "%s" % str(axis)
            if axis.units is not Undefined:
                sf.xlabel += " (%s)" % axis.units
            sf.ylabel = r"$\Sigma\mathrm{data\,over\,all\,other\,axes}$"
            sf.axis = axis.axis
            sf.axes_manager = self.axes_manager
            self.navigator_plot = sf
            # Create a line to the left axis with the default
            # indices
            sl = spectrum.SpectrumLine()
            sl.data_function = self.navigator_data_function
            sl.set_line_properties(color="blue", type="step")
            # Add the line to the figure
            sf.add_line(sl)
            sf.plot()
            self.pointer.add_axes(sf.ax)
            if self.axes_manager.navigation_dimension > 1:
                navigation_sliders(self.axes_manager.navigation_axes, title=self.signal_title + " navigation sliders")
                for axis in self.axes_manager.navigation_axes[:-2]:
                    axis.connect(sf.update)
            self.navigator_plot = sf
        elif len(self.navigator_data_function().shape) >= 2:
            imf = image.ImagePlot()
            imf.data_function = self.navigator_data_function
            # Navigator labels
            if self.axes_manager.navigation_dimension == 1:
                imf.yaxis = self.axes_manager.navigation_axes[0]
                imf.xaxis = self.axes_manager.signal_axes[0]
            elif self.axes_manager.navigation_dimension >= 2:
                imf.yaxis = self.axes_manager.navigation_axes[1]
                imf.xaxis = self.axes_manager.navigation_axes[0]
                if self.axes_manager.navigation_dimension > 2:
                    navigation_sliders(
                        self.axes_manager.navigation_axes, title=self.signal_title + " navigation sliders"
                    )
                    for axis in self.axes_manager.navigation_axes[2:]:
                        axis.connect(imf.update)

            imf.title = self.signal_title + " Navigator"
            imf.plot()
            self.pointer.add_axes(imf.ax)
            self.navigator_plot = imf
Beispiel #5
0
    def plot_navigator(self,
                       colorbar=True,
                       scalebar=True,
                       scalebar_color="white",
                       axes_ticks=None,
                       saturated_pixels=0,
                       vmin=None,
                       vmax=None,
                       no_nans=False,
                       centre_colormap="auto",
                       title=None,
                       **kwds):
        if self.axes_manager.navigation_dimension == 0:
            return
        if self.navigator_data_function is None:
            return
        if self.navigator_data_function is "slider":
            navigation_sliders(self.axes_manager.navigation_axes,
                               title=self.signal_title + " navigation sliders")
            return
        title = title or self.signal_title + " Navigator" if self.signal_title else ""
        if self.navigator_plot is not None:
            self.navigator_plot.plot()
            return
        elif len(self.navigator_data_function().shape) == 1:
            # Create the figure
            sf = signal1d.Signal1DFigure(title=title)
            axis = self.axes_manager.navigation_axes[0]
            sf.xlabel = '%s' % str(axis)
            if axis.units is not Undefined:
                sf.xlabel += ' (%s)' % axis.units
            sf.ylabel = r'$\Sigma\mathrm{data\,over\,all\,other\,axes}$'
            sf.axis = axis
            sf.axes_manager = self.axes_manager
            self.navigator_plot = sf
            # Create a line to the left axis with the default
            # indices
            sl = signal1d.Signal1DLine()
            sl.data_function = self.navigator_data_function
            sl.set_line_properties(color='blue', type='step')
            # Add the line to the figure
            sf.add_line(sl)
            sf.plot()
            self.pointer.set_mpl_ax(sf.ax)
            if self.axes_manager.navigation_dimension > 1:
                navigation_sliders(self.axes_manager.navigation_axes,
                                   title=self.signal_title +
                                   " navigation sliders")
                for axis in self.axes_manager.navigation_axes[:-2]:
                    axis.events.index_changed.connect(sf.update, [])
                    sf.events.closed.connect(
                        partial(axis.events.index_changed.disconnect,
                                sf.update), [])
            self.navigator_plot = sf
        elif len(self.navigator_data_function().shape) >= 2:
            imf = image.ImagePlot()
            imf.data_function = self.navigator_data_function
            imf.colorbar = colorbar
            imf.scalebar = scalebar
            imf.scalebar_color = scalebar_color
            imf.axes_ticks = axes_ticks
            imf.saturated_pixels = saturated_pixels
            imf.vmin = vmin
            imf.vmax = vmax
            imf.no_nans = no_nans
            imf.centre_colormap = centre_colormap
            # Navigator labels
            if self.axes_manager.navigation_dimension == 1:
                imf.yaxis = self.axes_manager.navigation_axes[0]
                imf.xaxis = self.axes_manager.signal_axes[0]
            elif self.axes_manager.navigation_dimension >= 2:
                imf.yaxis = self.axes_manager.navigation_axes[1]
                imf.xaxis = self.axes_manager.navigation_axes[0]
                if self.axes_manager.navigation_dimension > 2:
                    navigation_sliders(self.axes_manager.navigation_axes,
                                       title=self.signal_title +
                                       " navigation sliders")
                    for axis in self.axes_manager.navigation_axes[2:]:
                        axis.events.index_changed.connect(imf.update, [])
                        imf.events.closed.connect(
                            partial(axis.events.index_changed.disconnect,
                                    imf.update), [])

            imf.title = title
            imf.plot(**kwds)
            self.pointer.set_mpl_ax(imf.ax)
            self.navigator_plot = imf
Beispiel #6
0
    def plot_navigator(self):
        if self.axes_manager.navigation_dimension == 0:
            return
        if self.navigator_data_function is None:
            return
        if self.navigator_data_function is "slider":
            navigation_sliders(
                self.axes_manager.navigation_axes,
                title=self.signal_title + " navigation sliders")
            return
        if self.navigator_plot is not None:
            self.navigator_plot.plot()
            return
        elif len(self.navigator_data_function().shape) == 1:
            # Create the figure
            sf = signal1d.Signal1DFigure(title=self.signal_title + ' Navigator'
                                         if self.signal_title
                                         else "")
            axis = self.axes_manager.navigation_axes[0]
            sf.xlabel = '%s' % str(axis)
            if axis.units is not Undefined:
                sf.xlabel += ' (%s)' % axis.units
            sf.ylabel = r'$\Sigma\mathrm{data\,over\,all\,other\,axes}$'
            sf.axis = axis
            sf.axes_manager = self.axes_manager
            self.navigator_plot = sf
            # Create a line to the left axis with the default
            # indices
            sl = signal1d.Signal1DLine()
            sl.data_function = self.navigator_data_function
            sl.set_line_properties(color='blue',
                                   type='step')
            # Add the line to the figure
            sf.add_line(sl)
            sf.plot()
            self.pointer.set_mpl_ax(sf.ax)
            if self.axes_manager.navigation_dimension > 1:
                navigation_sliders(
                    self.axes_manager.navigation_axes,
                    title=self.signal_title + " navigation sliders")
                for axis in self.axes_manager.navigation_axes[:-2]:
                    axis.events.index_changed.connect(sf.update, [])
                    sf.events.closed.connect(
                        partial(axis.events.index_changed.disconnect,
                                sf.update), [])
            self.navigator_plot = sf
        elif len(self.navigator_data_function().shape) >= 2:
            imf = image.ImagePlot()
            imf.data_function = self.navigator_data_function
            # Navigator labels
            if self.axes_manager.navigation_dimension == 1:
                imf.yaxis = self.axes_manager.navigation_axes[0]
                imf.xaxis = self.axes_manager.signal_axes[0]
            elif self.axes_manager.navigation_dimension >= 2:
                imf.yaxis = self.axes_manager.navigation_axes[1]
                imf.xaxis = self.axes_manager.navigation_axes[0]
                if self.axes_manager.navigation_dimension > 2:
                    navigation_sliders(
                        self.axes_manager.navigation_axes,
                        title=self.signal_title + " navigation sliders")
                    for axis in self.axes_manager.navigation_axes[2:]:
                        axis.events.index_changed.connect(imf.update, [])
                        imf.events.closed.connect(
                            partial(axis.events.index_changed.disconnect,
                                    imf.update), [])

            imf.title = self.signal_title + ' Navigator'
            imf.plot()
            self.pointer.set_mpl_ax(imf.ax)
            self.navigator_plot = imf
Beispiel #7
0
    def plot_navigator(self,
                       colorbar=True,
                       scalebar=True,
                       scalebar_color="white",
                       axes_ticks=None,
                       saturated_pixels=0,
                       vmin=None,
                       vmax=None,
                       no_nans=False,
                       centre_colormap="auto",
                       title=None,
                       **kwds):
        if self.axes_manager.navigation_dimension == 0:
            return
        if self.navigator_data_function is None:
            return
        if self.navigator_data_function is "slider":
            navigation_sliders(
                self.axes_manager.navigation_axes,
                title=self.signal_title + " navigation sliders")
            return
        title = title or self.signal_title +" Navigator" if self.signal_title else ""
        if self.navigator_plot is not None:
            self.navigator_plot.plot()
            return
        elif len(self.navigator_data_function().shape) == 1:
            # Create the figure
            sf = signal1d.Signal1DFigure(title=title)
            axis = self.axes_manager.navigation_axes[0]
            sf.xlabel = '%s' % str(axis)
            if axis.units is not Undefined:
                sf.xlabel += ' (%s)' % axis.units
            sf.ylabel = r'$\Sigma\mathrm{data\,over\,all\,other\,axes}$'
            sf.axis = axis
            sf.axes_manager = self.axes_manager
            self.navigator_plot = sf
            # Create a line to the left axis with the default
            # indices
            sl = signal1d.Signal1DLine()
            sl.data_function = self.navigator_data_function
            sl.set_line_properties(color='blue',
                                   type='step')
            # Add the line to the figure
            sf.add_line(sl)
            sf.plot()
            self.pointer.set_mpl_ax(sf.ax)
            if self.axes_manager.navigation_dimension > 1:
                navigation_sliders(
                    self.axes_manager.navigation_axes,
                    title=self.signal_title + " navigation sliders")
                for axis in self.axes_manager.navigation_axes[:-2]:
                    axis.events.index_changed.connect(sf.update, [])
                    sf.events.closed.connect(
                        partial(axis.events.index_changed.disconnect,
                                sf.update), [])
            self.navigator_plot = sf
        elif len(self.navigator_data_function().shape) >= 2:
            imf = image.ImagePlot()
            imf.data_function = self.navigator_data_function
            imf.colorbar = colorbar
            imf.scalebar = scalebar
            imf.scalebar_color = scalebar_color
            imf.axes_ticks = axes_ticks
            imf.saturated_pixels = saturated_pixels
            imf.vmin = vmin
            imf.vmax = vmax
            imf.no_nans = no_nans
            imf.centre_colormap = centre_colormap
            # Navigator labels
            if self.axes_manager.navigation_dimension == 1:
                imf.yaxis = self.axes_manager.navigation_axes[0]
                imf.xaxis = self.axes_manager.signal_axes[0]
            elif self.axes_manager.navigation_dimension >= 2:
                imf.yaxis = self.axes_manager.navigation_axes[1]
                imf.xaxis = self.axes_manager.navigation_axes[0]
                if self.axes_manager.navigation_dimension > 2:
                    navigation_sliders(
                        self.axes_manager.navigation_axes,
                        title=self.signal_title + " navigation sliders")
                    for axis in self.axes_manager.navigation_axes[2:]:
                        axis.events.index_changed.connect(imf.update, [])
                        imf.events.closed.connect(
                            partial(axis.events.index_changed.disconnect,
                                    imf.update), [])

            imf.title = title
            imf.plot(**kwds)
            self.pointer.set_mpl_ax(imf.ax)
            self.navigator_plot = imf