diff options
author | Jakob Jorgensen <jakob.jorgensen@manchester.ac.uk> | 2018-04-23 16:19:29 +0100 |
---|---|---|
committer | Jakob Jorgensen <jakob.jorgensen@manchester.ac.uk> | 2018-04-23 16:19:29 +0100 |
commit | 01c34b4f293198c5a9ee25eda32ef6deed4bce85 (patch) | |
tree | 4877f9c5417f8926197739bcdd71b64fee2815e9 /Wrappers/Python | |
parent | 150bad45f5268dbc58b0c449d19d0dbb79b9ba30 (diff) | |
download | astra-wrapper-01c34b4f293198c5a9ee25eda32ef6deed4bce85.tar.gz astra-wrapper-01c34b4f293198c5a9ee25eda32ef6deed4bce85.tar.bz2 astra-wrapper-01c34b4f293198c5a9ee25eda32ef6deed4bce85.tar.xz astra-wrapper-01c34b4f293198c5a9ee25eda32ef6deed4bce85.zip |
Deleted DemoRecIP.py, still held in DemoIP_parking branch
Diffstat (limited to 'Wrappers/Python')
-rwxr-xr-x | Wrappers/Python/wip/DemoRecIP.py | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/Wrappers/Python/wip/DemoRecIP.py b/Wrappers/Python/wip/DemoRecIP.py deleted file mode 100755 index 442e40e..0000000 --- a/Wrappers/Python/wip/DemoRecIP.py +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -Reading multi-channel data and reconstruction using FISTA modular -""" - -import numpy as np -import matplotlib.pyplot as plt - -#import sys -#sys.path.append('../../../data/') -from read_IPdata import read_IPdata - -from ccpi.astra.astra_ops import AstraProjectorSimple, AstraProjectorMC -from ccpi.reconstruction.funcs import Norm2sq, Norm1, BaseFunction -from ccpi.reconstruction.algs import FISTA -#from ccpi.reconstruction.funcs import BaseFunction - -from ccpi.framework import ImageData, AcquisitionData, AcquisitionGeometry, ImageGeometry - -# read IP paper data into a dictionary -dataDICT = read_IPdata('..\..\..\data\IP_data70channels.mat') - -# Set ASTRA Projection-backprojection class (fan-beam geometry) -DetWidth = dataDICT.get('im_size')[0] * dataDICT.get('det_width')[0] / \ - dataDICT.get('detectors_numb')[0] -SourceOrig = dataDICT.get('im_size')[0] * dataDICT.get('src_to_rotc')[0] / \ - dataDICT.get('dom_width')[0] -OrigDetec = dataDICT.get('im_size')[0] * \ - (dataDICT.get('src_to_det')[0] - dataDICT.get('src_to_rotc')[0]) /\ - dataDICT.get('dom_width')[0] - -N = dataDICT.get('im_size')[0] - -vg = ImageGeometry(voxel_num_x=dataDICT.get('im_size')[0], - voxel_num_y=dataDICT.get('im_size')[0], - channels=1) - -pg = AcquisitionGeometry('cone', - '2D', - angles=(np.pi/180)*dataDICT.get('theta')[0], - pixel_num_h=dataDICT.get('detectors_numb')[0], - pixel_size_h=DetWidth, - dist_source_center=SourceOrig, - dist_center_detector=OrigDetec, - channels=1) - - -sino = dataDICT.get('data_norm')[0][:,:,34] # select mid-channel -b = AcquisitionData(sino,geometry=pg) - -# Initial guess -x_init = ImageData(np.zeros((N, N)),geometry=vg) - - - - - -Aop = AstraProjectorSimple(vg,pg,'gpu') -f = Norm2sq(Aop,b,c=0.5) - -# Run FISTA for least squares without regularization -opt = {'tol': 1e-4, 'iter': 10} -x_fista0, it0, timing0, criter0 = FISTA(x_init, f, None, opt) - -plt.imshow(x_fista0.array) -plt.show() - -# Now least squares plus 1-norm regularization -g1 = Norm1(10) - -# Run FISTA for least squares plus 1-norm function. -x_fista1, it1, timing1, criter1 = FISTA(x_init, f, g1, opt) - -plt.imshow(x_fista1.array) -plt.show() - -# Multiple channels -sino_mc = dataDICT.get('data_norm')[0][:,:,32:37] # select mid-channel - -vg_mc = ImageGeometry(voxel_num_x=dataDICT.get('im_size')[0], - voxel_num_y=dataDICT.get('im_size')[0], - channels=5) - -pg_mc = AcquisitionGeometry('cone', - '2D', - angles=(np.pi/180)*dataDICT.get('theta')[0], - pixel_num_h=dataDICT.get('detectors_numb')[0], - pixel_size_h=DetWidth, - dist_source_center=SourceOrig, - dist_center_detector=OrigDetec, - channels=5) - -b_mc = AcquisitionData(np.transpose(sino_mc,(2,0,1)), - geometry=pg_mc, - dimension_labels=("channel","angle","horizontal")) - -# ASTRA operator using volume and sinogram geometries -Aop_mc = AstraProjectorMC(vg_mc, pg_mc, 'gpu') - -f_mc = Norm2sq(Aop_mc,b_mc,c=0.5) - -# Initial guess -x_init_mc = ImageData(np.zeros((5, N, N)),geometry=vg_mc) - - -x_fista0_mc, it0_mc, timing0_mc, criter0_mc = FISTA(x_init_mc, f_mc, None, opt) - -plt.imshow(x_fista0_mc.as_array()[4,:,:]) -plt.show()
\ No newline at end of file |