From 64a649d69840b66e39f00ba47e6ac86dbc9d749b Mon Sep 17 00:00:00 2001 From: "Jakob Jorgensen, WS at HMXIF" Date: Sat, 12 May 2018 22:21:48 +0100 Subject: Actually add SB to RGL simple demo --- Wrappers/Python/wip/demo_simple_RGLTK.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/Wrappers/Python/wip/demo_simple_RGLTK.py b/Wrappers/Python/wip/demo_simple_RGLTK.py index dbd2a55..d92799a 100644 --- a/Wrappers/Python/wip/demo_simple_RGLTK.py +++ b/Wrappers/Python/wip/demo_simple_RGLTK.py @@ -8,7 +8,7 @@ from ccpi.framework import ImageData , ImageGeometry, AcquisitionGeometry from ccpi.optimisation.algs import FISTA, FBPD, CGLS from ccpi.optimisation.funcs import Norm2sq, Norm1, TV2D from ccpi.astra.ops import AstraProjectorSimple -from ccpi.plugins.regularisers import _ROF_TV_, _FGP_TV_ +from ccpi.plugins.regularisers import _ROF_TV_, _FGP_TV_, _SB_TV_ # All external imports import numpy as np @@ -145,9 +145,27 @@ plt.subplot(122) plt.semilogy(criter_fgp) plt.show() +# Repeat for SB variant. +g_sb = _SB_TV_(lambdaReg = lamtv, + iterationsTV=50, + tolerance=1e-5, + methodTV=0, + printing=0, + device='cpu') + +x_fista_sb, it1, timing1, criter_sb = FISTA(x_init, f, g_sb,opt) + +plt.figure() +plt.subplot(121) +plt.imshow(x_fista_sb.array) +plt.title('FISTA SB TV') +plt.subplot(122) +plt.semilogy(criter_sb) +plt.show() + # Compare all reconstruction and criteria clims = (0,1) -cols = 3 +cols = 4 rows = 1 current = 1 fig = plt.figure() @@ -166,6 +184,11 @@ a=fig.add_subplot(rows,cols,current) a.set_title('FISTA FGP TV') imgplot = plt.imshow(x_fista_fgp.as_array(),vmin=clims[0],vmax=clims[1]) +current = current + 1 +a=fig.add_subplot(rows,cols,current) +a.set_title('FISTA SB TV') +imgplot = plt.imshow(x_fista_sb.as_array(),vmin=clims[0],vmax=clims[1]) + fig = plt.figure() b=fig.add_subplot(1,1,1) @@ -173,5 +196,6 @@ b.set_title('criteria') imgplot = plt.loglog(criter_fbpdtv , label='FBPD TV') imgplot = plt.loglog(criter_rof , label='ROF TV') imgplot = plt.loglog(criter_fgp, label='FGP TV') +imgplot = plt.loglog(criter_sb, label='SB TV') b.legend(loc='right') plt.show() -- cgit v1.2.3