def print_settings(self, description=False, concise=False): """Print out the current FOOOF settings. Parameters ---------- description : bool, optional, default: False Whether to print out a description with current settings. concise : bool, optional, default: False Whether to print the report in a concise mode, or not. """ print(gen_settings_str(self, description, concise))
def save_report_fm(fm, file_name, file_path=None, plt_log=False): """Generate and save out a as PDF a report for a FOOOF object. Parameters ---------- fm : FOOOF() object FOOOF object, containing results from fitting a power spectrum. file_name : str Name to give the saved out file. file_path : str, optional Path to directory in which to save. If not provided, saves to current directory. plt_log : bool, optional, default: False Whether or not to plot the frequency axis in log space. """ font = _report_settings() # Set up outline figure, using gridspec fig = plt.figure(figsize=(16, 20)) grid = gridspec.GridSpec(3, 1, height_ratios=[0.45, 1.0, 0.25]) # First - text results ax0 = plt.subplot(grid[0]) results_str = gen_results_fm_str(fm) ax0.text(0.5, 0.7, results_str, font, ha='center', va='center') ax0.set_frame_on(False) ax0.set_xticks([]) ax0.set_yticks([]) # Second - data plot ax1 = plt.subplot(grid[1]) fm.plot(plt_log=plt_log, ax=ax1) # Third - FOOOF settings ax2 = plt.subplot(grid[2]) settings_str = gen_settings_str(fm, False) ax2.text(0.5, 0.1, settings_str, font, ha='center', va='center') ax2.set_frame_on(False) ax2.set_xticks([]) ax2.set_yticks([]) # Save out the report plt.savefig(fpath(file_path, fname(file_name, 'pdf'))) plt.close()
def save_report_fm(fm, file_name, file_path=None, plt_log=False): """Generate and save out a PDF report for a power spectrum model fit. Parameters ---------- fm : FOOOF Object with results from fitting a power spectrum. file_name : str Name to give the saved out file. file_path : str, optional Path to directory to save to. If None, saves to current directory. plt_log : bool, optional, default: False Whether or not to plot the frequency axis in log space. """ # Set up outline figure, using gridspec _ = plt.figure(figsize=REPORT_FIGSIZE) grid = gridspec.GridSpec(3, 1, height_ratios=[0.45, 1.0, 0.25]) # First - text results ax0 = plt.subplot(grid[0]) results_str = gen_results_fm_str(fm) ax0.text(0.5, 0.7, results_str, REPORT_FONT, ha='center', va='center') ax0.set_frame_on(False) ax0.set_xticks([]) ax0.set_yticks([]) # Second - data plot ax1 = plt.subplot(grid[1]) fm.plot(plt_log=plt_log, ax=ax1) # Third - FOOOF settings ax2 = plt.subplot(grid[2]) settings_str = gen_settings_str(fm, False) ax2.text(0.5, 0.1, settings_str, REPORT_FONT, ha='center', va='center') ax2.set_frame_on(False) ax2.set_xticks([]) ax2.set_yticks([]) # Save out the report plt.savefig(fpath(file_path, fname(file_name, SAVE_FORMAT))) plt.close()
def methods_report_info(fooof_obj=None, concise=False): """Prints out a report of information required for methods reporting. Parameters ---------- fooof_obj : FOOOF or FOOOFGroup, optional An object with setting information available. If provided, is used to collect and print information to be reported. concise : bool, optional, default: False Whether to print the report in concise mode. Notes ----- Any missing values (information that is not available) will be printed out as 'XX'. """ print(gen_methods_report_str(concise)) if fooof_obj: print(gen_version_str(concise)) print(gen_settings_str(fooof_obj, concise=concise)) print(gen_freq_range_str(fooof_obj, concise=concise))