def _plot_last_data(self, data): if len(data)==0: plottable_data = np.zeros((16, 16, 3), dtype = np.uint8) clims = (0, 1) else: if isinstance(data, list): data = put_list_of_images_in_array(data, fill_colour=(np.nan, np.nan, np.nan)) elif data.ndim == 1: data = data[None] clims = ((np.nanmin(data), np.nanmax(data)) if data.size != 0 else (0, 1)) if self._clims is None else self._clims if self.only_grow_clims: clims = min(self._old_clims[0], clims[0]), max(self._old_clims[1], clims[1]) self._old_clims = clims if self._is_colour_data is None: self._is_colour_data = data.shape[-1]==3 plottable_data = put_data_in_grid(data, clims = clims, cmap = self._cmap, is_color_data = self._is_colour_data, fill_colour = np.array((0, 0, 128)), nan_colour = np.array((0, 0, 128))) \ if not (self._is_colour_data and data.ndim==3 or data.ndim==2) else \ data_to_image(data, clims = clims, cmap = self._cmap, nan_colour = np.array((0, 0, 128))) if self._plot is None: self._plot = plt.imshow(plottable_data, interpolation = self._interpolation, aspect = self._aspect, cmap = self._cmap) if not self._show_axes: self._plot.axes.tick_params(labelbottom = 'off') self._plot.axes.get_yaxis().set_visible(False) else: self._plot.set_array(plottable_data) if self.show_clims: self._plot.axes.set_xlabel('%.2f - %.2f' % clims)
def _plot_last_data(self, data): if self.channel_first: if data.ndim == 3: assert data.shape[0] in (1, 3) data = np.rollaxis(data, 0, 3) elif data.ndim == 4: assert data.shape[1] in (1, 3) data = np.rollaxis(data, 1, 4) else: print( 'Image should be 3D (3, size_y, size_x) or 4D (n_images, 3, size_y, size_x) for channel-first-mode.' ) if len(data) == 0: plottable_data = np.zeros((16, 16, 3), dtype=np.uint8) clims = (0, 1) else: if isinstance(data, list): data = put_list_of_images_in_array(data, fill_colour=(np.nan, np.nan, np.nan)) elif data.ndim == 1: data = data[None] clims = ((np.nanmin(data), np.nanmax(data)) if data.size != 0 else (0, 1)) if self._clims is None else self._clims if self.only_grow_clims: clims = min(self._old_clims[0], clims[0]), max(self._old_clims[1], clims[1]) self._old_clims = clims if self._is_colour_data is None: self._is_colour_data = data.shape[-1] == 3 plottable_data = put_data_in_grid(data, clims = clims, cmap = self._cmap, is_color_data = self._is_colour_data, fill_colour = np.array((0, 0, 128)), nan_colour = np.array((0, 0, 128))) \ if not (self._is_colour_data and data.ndim==3 or data.ndim==2) else \ data_to_image(data, clims = clims, cmap = self._cmap, nan_colour = np.array((0, 0, 128))) if self._plot is None: self._plot = plt.imshow(plottable_data, interpolation=self._interpolation, aspect=self._aspect, cmap=self._cmap) if not self._show_axes: self._plot.axes.tick_params(labelbottom='off') self._plot.axes.get_yaxis().set_visible(False) else: self._plot.set_array(plottable_data) if self.show_clims: self._plot.axes.set_xlabel('{:.3g} <> {:.3g}'.format(*clims))
def _plot_last_data(self, data): if self.channel_first: if data.ndim==3: assert data.shape[0] in (1, 3) data = np.rollaxis(data, 0, 3) elif data.ndim==4: assert data.shape[1] in (1, 3) data = np.rollaxis(data, 1, 4) else: print('Image should be 3D (3, size_y, size_x) or 4D (n_images, 3, size_y, size_x) for channel-first-mode.') if len(data)==0: plottable_data = np.zeros((16, 16, 3), dtype = np.uint8) clims = (0, 1) else: if isinstance(data, list): data = put_list_of_images_in_array(data, fill_colour=(np.nan, np.nan, np.nan)) elif data.ndim == 1: data = data[None] clims = ((np.nanmin(data), np.nanmax(data)) if data.size != 0 else (0, 1)) if self._clims is None else self._clims if self.only_grow_clims: clims = min(self._old_clims[0], clims[0]), max(self._old_clims[1], clims[1]) self._old_clims = clims if self._is_colour_data is None: self._is_colour_data = data.shape[-1]==3 plottable_data = put_data_in_grid(data, clims = clims, cmap = self._cmap, is_color_data = self._is_colour_data, fill_colour = np.array((0, 0, 128)), nan_colour = np.array((0, 0, 128))) \ if not (self._is_colour_data and data.ndim==3 or data.ndim==2) else \ data_to_image(data, clims = clims, cmap = self._cmap, nan_colour = np.array((0, 0, 128))) if self._plot is None: self._plot = plt.imshow(plottable_data, interpolation = self._interpolation, aspect = self._aspect, cmap = self._cmap) if not self._show_axes: self._plot.axes.tick_params(labelbottom = 'off') self._plot.axes.get_yaxis().set_visible(False) else: self._plot.set_array(plottable_data) if self.show_clims: self._plot.axes.set_xlabel('{:.3g} <> {:.3g}'.format(*clims))