Beispiel #1
0
def bench_mri_2d_16coils_fieldmap_multispectral(
    navg_time=(1, 4),
    plot_timings=False,
    include_GPU=False,
    include_CPU=True,
    print_timings=True,
    phasings=["real", "complex"],
    save_dir=None,
    nspectra=2,
):

    recon_cases = []
    if include_GPU:
        recon_cases += ["GPU,Sp", "GPU,Tab"]
        precisions = ["single"]
    else:
        precisions = ["single", "double"]
    if include_CPU:
        recon_cases += ["CPU,Tab", "CPU,Sp"]
    # spectral_offsets = [0, 434.316]
    spectral_offsets = np.asarray(
        [0, 434.316, 332.124, 485.412, -76.644, 49.8186, 247.8156]
    )
    spectral_offsets = spectral_offsets[:nspectra]

    t = _test_mri_multi(
        ndim=2,
        N0=64,
        grid_os_factor=1.5,
        J0=4,
        Ld=4096,
        n_coils=16,
        fieldmap_segments=6,
        precisions=precisions,
        phasings=phasings,
        recon_cases=recon_cases,
        compare_to_exact=False,
        navg_time=4,
        spectral_offsets=spectral_offsets,
    )

    t_create, t_forward, t_adj, t_norm = _split_timings(t, print_timings)
    if plot_timings:
        title_string = "2D (16 coils, 6 fieldmap seg, %d spectral)" % nspectra
        axes = _plot_all_timings(
            t_create, t_forward, t_adj, t_norm, title_substring=title_string
        )
    else:
        axes = None

    if save_dir is not None:
        fname_base = "bench_2d_016coil_006fmapseg_%dspectra" % nspectra
        _save_bench(
            save_dir, fname_base, [t_create, t_forward, t_adj, t_norm], axes
        )
Beispiel #2
0
def bench_mri_3d_16coils_fieldmap(
    navg_time=(1, 4),
    plot_timings=False,
    include_GPU=False,
    include_CPU=True,
    print_timings=True,
    phasings=["real", "complex"],
    save_dir=None,
):

    recon_cases = []
    if include_GPU:
        recon_cases += ["GPU,Sp", "GPU,Tab"]
        precisions = ["single"]
    else:
        precisions = ["single", "double"]
    if include_CPU:
        recon_cases += ["CPU,Tab", "CPU,Sp"]

    t = _test_mri_multi(
        ndim=3,
        N0=64,
        grid_os_factor=1.5,
        J0=4,
        Ld=4096,
        n_coils=16,
        fieldmap_segments=6,
        precisions=precisions,
        phasings=phasings,
        recon_cases=recon_cases,
        compare_to_exact=False,
        navg_time=navg_time,
    )

    t_create, t_forward, t_adj, t_norm = _split_timings(t, print_timings)
    if plot_timings:
        axes = _plot_all_timings(
            t_create,
            t_forward,
            t_adj,
            t_norm,
            title_substring="3D (16 coils, 6 fieldmap seg)",
        )
    else:
        axes = None

    if save_dir is not None:
        fname_base = "bench_3d_016coil_006fmapseg"
        _save_bench(
            save_dir, fname_base, [t_create, t_forward, t_adj, t_norm], axes
        )