コード例 #1
0
    # relevant parameters
    output_path = Path(params.output_dir)

    # logging
    fileConfig(config_dir / 'logging.ini', disable_existing_loggers=False)
    log = logging.getLogger(params.logger_name)

    db_elev = db.loc[db['Trial_Name'].str.contains('_CA_|_SA_|_FE_')].copy()
    prepare_db(db_elev, params.torso_def, params.scap_lateral,
               params.dtheta_fine, params.dtheta_coarse,
               [params.min_elev, params.max_elev])

    #%%
    plt.rcParams['axes.prop_cycle'] = plt.cycler('color', plt.cm.tab20c.colors)
    init_graphing(params.backend)
    plt.close('all')

    fig = plt.figure(figsize=(90 / 25.4, 190 / 25.4), dpi=params.dpi)
    ax = fig.subplots(3, 1)

    for i in range(3):
        style_axes(ax[i], 'Humerothoracic Elevation (Deg)' if i == 2 else None,
                   'Axial Orientation (Deg)')
        ax[i].xaxis.set_major_locator(ticker.MultipleLocator(base=20.0))

    act_row = {'ca': 0, 'sa': 1, 'fe': 2}
    for idx, (activity, activity_df) in enumerate(
            db_elev.groupby('Activity', observed=True)):
        cur_row = act_row[activity.lower()]
        _, agg_lines, quat_mean_lines = \
    db_er_endpts = ready_er_db(db, params.torso_def, 'GC', params.erar_endpts,
                               params.era90_endpts, params.dtheta_fine)

    #%%
    if bool(distutils.util.strtobool(params.parametric)):
        spm_test = spm1d.stats.ttest_paired
        infer_params = {}
    else:
        spm_test = spm1d.stats.nonparam.ttest_paired
        infer_params = {'force_iterations': True}

    x = np.arange(0, 100 + params.dtheta_fine, params.dtheta_fine)
    alpha = 0.05
    color_map = plt.get_cmap('Dark2')
    markers = ['^', 'o', 's', '*']
    plot_utils.init_graphing(params.backend)
    plt.close('all')
    fig = plt.figure(figsize=(190 / 25.4, 150 / 25.4), dpi=params.dpi)
    axs = fig.subplots(2, 2)

    ax_limits = [(-140, 15), (-110, 30)]
    for row_idx, row in enumerate(axs):
        for col_idx, ax in enumerate(row):
            ax.xaxis.set_major_locator(plticker.MultipleLocator(base=10.0))
            ax.yaxis.set_major_locator(plticker.MultipleLocator(base=25.0))
            x_label = 'Percent Complete (%)' if row_idx == 1 else None
            y_label = 'Axial Rotation (Deg)' if col_idx == 0 else None
            style_axes(ax, x_label, y_label)
            axs[row_idx, col_idx].set_ylim(ax_limits[row_idx][0],
                                           ax_limits[row_idx][1])