def gen_thumbs(dirname, key='/*/*decon.tif', where='host', level=2, figsize=6, redo=True, gamma=1.0, **kwargs): ''' Main function to generate and save thumbnail pngs ''' # load data data = load_data(dirname, key) if data: # can clean the dirnames here foldername = os.path.abspath(dirname).split(os.path.sep)[-level] if where == 'host': save_name = 'Thumbs ' + foldername + '.png' elif where == 'in folder': save_name = os.path.abspath( os.path.join(dirname, 'Thumbs ' + foldername + '.png')) else: save_name = os.path.abspath( os.path.join(where, 'Thumbs ' + foldername + '.png')) if not redo and os.path.exists(save_name): print(save_name, "already exists, skipping") return dirname + os.path.sep + key data = {clean_dirname(k, figsize): adjust_gamma(abs(v), gamma) for k, v in data.items()} fig, ax = display_grid(data, figsize=figsize, **kwargs) # make the layout 'tight' fig.tight_layout() # save the figure print('Saving', save_name, 'on', os.getpid(), '...') fig.savefig(save_name, bbox_inches='tight') print('finished saving', save_name) # mark data for gc del data return dirname + os.path.sep + key
def plot_blob_grid(self, window=11, **kwargs): """Display a grid of blobs""" return display_grid( { i: self.data[slice_maker((y, x), window)] for i, (y, x, s, r) in enumerate(self.blobs) }, **kwargs)
def plot_peaks(self): ''' A utility function to plot the found peaks. ''' peaks = self.peaks FoM = self.FoM g_mean_data = self.g_mean_data nz, ny, nx = g_mean_data.shape # plot the found peaks in the SNR trace self._plot_peaks_lines() data_dict = {'{}, Max SNR {:.3f}'.format(peak, FoM[peak]): g_mean_data[0, peak, :] for peak in peaks} return display_grid(data_dict)
def plot_peaks(self): ''' A utility function to plot the found peaks. ''' peaks = self.peaks FoM = self.FoM g_mean_data = self.g_mean_data nz, ny, nx = g_mean_data.shape # plot the found peaks in the SNR trace self._plot_peaks_lines() data_dict = { '{}, Max SNR {:.3f}'.format(peak, FoM[peak]): g_mean_data[0, peak, :] for peak in peaks } return display_grid(data_dict)
# test if filename has mrc in it filename = arg['<myfile>'] name = os.path.basename(os.path.split(os.path.abspath(filename))[0]) data = Mrc.Mrc(filename).data nphases = int(arg['<numphases>']) ft_data_diff, ft_data_avg_abs, ft_data_avg = simcheck(data, nphases) norients = data.shape[0]//nphases orients = ['Orientation {}'.format(i) for i in range(norients)] # Plot everything and save fig1, ax1 = display_grid({k: v/v.max() for k, v in zip(orients, ft_data_avg_abs)}, figsize=6, cmap='gnuplot2', norm=LogNorm()) filename1 = name + ' Average of Powers' fig1.suptitle(filename1, fontsize=16) fig2, ax2 = display_grid({k: abs(v/v.max()) for k, v in zip(orients, ft_data_avg)}, figsize=6, cmap='gnuplot2', norm=LogNorm()) filename2 = name + ' Power of Average' fig2.suptitle(filename2, fontsize=16) # fig3, ax3 = display_grid({k : v for k, v in zip(orients, ft_data_diff)}, figsize=6, # cmap ='bwr', vmin = ft_data_diff.min(), vmax = ft_data_diff.max()) # filename3 = name + ' Difference of Averages' # fig3.suptitle(filename3, fontsize=16)