def process_all_globs(glob_patterns, show=False, individual=False, subArray=None, normalization="peak", normalizationArray=None, labelList=None, filterList=None, recompute=False, scale='angle', ncores=None): """ Return scaled, background-subtracted, and normalized powder patterns for data corresponding to each pattern in glob_patterns """ if subArray is None: subArray = [None] * len(glob_patterns) if labelList is None: labelList = [None] * len(glob_patterns) if filterList is None: filterList = [None] * len(glob_patterns) if normalizationArray is None: normalizationArray = [None] * len(glob_patterns) def run_and_plot(glob, bgsub=None, label=None, data_filter=None, normalization=None): return process_radial_distribution(sum_radial_densities(glob, False, True, ncores=ncores), normalization=normalization, bgsub=bgsub, label=glob, scale=scale, plot=show) outputs = [] for patt, subtraction, label, one_filter, norm in zip( glob_patterns, subArray, labelList, filterList, normalizationArray): outputs = outputs + [ run_and_plot(patt, bgsub=subtraction, label=label, data_filter=one_filter, normalization=norm) ] if show: plt.legend() plt.show(block=False) #output format: angles, intensities, angles, intensities, etc. return np.vstack((_ for _ in outputs))
def plot_curves(cmap_start=0.0, cmap_max=1.0): # TODO: implement this # cmap = plt.get_cmap('coolwarm') ncurves = len(spectra) for i, pattern, curve in zip(range(len(spectra)), pattern_list, spectra): # plt.plot(*curve, label = pattern, color = cmap(cmap_start + i * (cmap_max - cmap_start)/ncurves)) plt.plot(*curve, label=pattern) plt.legend() # ax.set_xlabel('Angle (rad)') # ax.set_ylabel('Intensity (arb)') plt.xlabel("Angle (rad)") plt.ylabel("Intensity (arb)")
def plot_curves(cmap_start=0., cmap_max=1.0): # TODO: implement this #cmap = plt.get_cmap('coolwarm') ncurves = len(spectra) for i, pattern, curve in zip(range(len(spectra)), pattern_list, spectra): #plt.plot(*curve, label = pattern, color = cmap(cmap_start + i * (cmap_max - cmap_start)/ncurves)) plt.plot(*curve, label=pattern) plt.legend() # ax.set_xlabel('Angle (rad)') # ax.set_ylabel('Intensity (arb)') plt.xlabel('Angle (rad)') plt.ylabel('Intensity (arb)')
def process_all_globs( glob_patterns, show=False, individual=False, subArray=None, normalization="peak", normalizationArray=None, labelList=None, filterList=None, recompute=False, scale="angle", ncores=None, ): """ Return scaled, background-subtracted, and normalized powder patterns for data corresponding to each pattern in glob_patterns """ if subArray is None: subArray = [None] * len(glob_patterns) if labelList is None: labelList = [None] * len(glob_patterns) if filterList is None: filterList = [None] * len(glob_patterns) if normalizationArray is None: normalizationArray = [None] * len(glob_patterns) def run_and_plot(glob, bgsub=None, label=None, data_filter=None, normalization=None): return process_radial_distribution( sum_radial_densities(glob, False, True, ncores=ncores), normalization=normalization, bgsub=bgsub, label=glob, scale=scale, plot=show, ) outputs = [] for patt, subtraction, label, one_filter, norm in zip( glob_patterns, subArray, labelList, filterList, normalizationArray ): outputs = outputs + [ run_and_plot(patt, bgsub=subtraction, label=label, data_filter=one_filter, normalization=norm) ] if show: plt.legend() plt.show(block=False) # output format: angles, intensities, angles, intensities, etc. return np.vstack((_ for _ in outputs))
def show(): plt.xlabel("angle (degrees)") plt.ylabel("inensity (arb)") plt.legend() plt.show()