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
Example #2
0
 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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    # 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)