コード例 #1
0
                                dip_n_iter=dgr_iter, 
                                net='skip',
                                lr=0.01,
                                reg_std=1./100,
                                w_proj_loss=0.98,
                                # w_perceptual_loss=0.1,
                                w_tv_loss=0.01,
                                w_ssim_loss=0.01
                            )

    img_fbp = recon_fbp.calc(sinogram, theta)
    img_sart = recon_sart.calc(sinogram, theta)
    img_sart_tv = recon_sart_tv.calc(sinogram, theta)

    recon_dip1.set_for_metric(gt, img_sart, FOCUS=FOCUS, log_dir='log')
    img_dip1 = recon_dip1.calc(sinogram, theta)

    recon_dip2.set_for_metric(gt, img_sart, FOCUS=FOCUS, log_dir='log')
    img_dip2 = recon_dip2.calc(sinogram, theta)

    recon_dip3.set_for_metric(gt, img_sart, FOCUS=FOCUS, log_dir='log')
    img_dip3 = recon_dip3.calc(sinogram, theta)

    recons = [recon_fbp, recon_sart, recon_sart_tv,
              recon_dip1, recon_dip2, recon_dip3]

    for r in recons:
        mse, psnr, ssim = r.eval(gt)
        print( "{}: MSE:{:.5f} PSNR:{:.5f} SSIM:{:.5f}".format(
            r.name, mse, psnr, ssim
        ))
コード例 #2
0
                                   sart_n_iter=40,
                                   sart_relaxation=0.15)
    recon_dip = DgrReconstructor(
        'DGR',
        dip_n_iter=4001,
        net='skip',
        lr=0.01,
        reg_std=1. / 100,
        w_proj_loss=1.00,
        # w_perceptual_loss=0.01,
        w_tv_loss=0.00,
        w_ssim_loss=0.00)

    img_sart = recon_sart.calc(sinogram, theta)
    recon_dip.set_for_metric(gt, img_sart, FOCUS=FOCUS, log_dir='log/')
    img_dip = recon_dip.calc(sinogram, theta)

    recons = [
        recon_sart,
        recon_dip,
    ]

    for r in recons:
        mse, psnr, ssim = r.eval(gt)
        print("Noise 25 {}: MSE:{:.5f} PSNR:{:.5f} SSIM:{:.5f}".format(
            r.name, mse, psnr, ssim))

    plot_grid([gt, img_sart, img_dip],
              FOCUS=FOCUS,
              save_name='noise30.png',
              dpi=500)
コード例 #3
0
    #             n2self_selfsupervised=False,
    #             net='skip', lr=0.01, )

    # recon_n2self_learned_selfsuper = N2SelfReconstructor('N2Self_Learned_SelfSupervised',
    #             n2self_n_iter=4001, n2self_proj_ratio=0.2,
    #             n2self_weights='training-07/iter_132000.pth',
    #             n2self_selfsupervised=True,
    #             net='skip', lr=0.01, )

    img_fbp = recon_fbp.calc(sinogram, theta)
    img_sart = recon_sart.calc(sinogram, theta)
    img_sart_tv = recon_sart_tv.calc(sinogram, theta)
    img_sart_bm3d = recon_bm3d.calc(sinogram, theta)

    recon_dip.set_for_metric(gt, img_sart, FOCUS=FOCUS, log_dir='../log/dip')
    img_dip = recon_dip.calc(sinogram, theta)

    recon_dip_rand.set_for_metric(gt,
                                  img_sart,
                                  FOCUS=FOCUS,
                                  log_dir='../log/dip')
    img_dip_rand = recon_dip_rand.calc(sinogram, theta)

    # recon_n2self_selfsuper.set_for_metric(gt, img_sart_tv, FOCUS=FOCUS, log_dir='../log/dip')
    # img_n2self_selfsuper = recon_n2self_selfsuper.calc(sinogram, theta)

    # recon_n2self_learned_single.set_for_metric(gt, img_sart_tv, FOCUS=FOCUS, log_dir='../log/dip')
    # img_n2self_learned_single = recon_n2self_learned_single.calc(sinogram, theta)

    # recon_n2self_learned_selfsuper.set_for_metric(gt, img_sart_tv, FOCUS=FOCUS, log_dir='../log/dip')
    # img_n2self_learned_selfsuper = recon_n2self_learned_selfsuper.calc(sinogram, theta)