1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
addpath(genpath('bin/'));
addpath(genpath('matlab/'));
%load('phantom3d');
d = 256;
I = ones(d,d,d);
S = I > 0.5;
%% create geometries
vol_geom2d = astra_create_vol_geom(d,d);
vol_geom3d = astra_create_vol_geom(d,d,d);
proj_geom_parallel = astra_create_proj_geom('parallel', 1, 64, 1:180);
proj_geom_fanflat = astra_create_proj_geom('fanflat', 1, 64, 1:180, 0, 2000);
proj_geom_fanflat_vec = astra_geom_2vec(proj_geom_fanflat);
%% create data objects
vol2d_id = astra_mex_data2d('create', '-vol', vol_geom2d, 0);
vol3d_id = astra_mex_data3d('create', '-vol', vol_geom3d, 0);
proj_parallel_id = astra_mex_data2d('create', '-sino', proj_geom_parallel, 0);
proj_fanflat_id = astra_mex_data2d('create', '-sino', proj_geom_fanflat, 0);
proj_fanflatvec_id = astra_mex_data2d('create', '-sino', proj_geom_fanflat_vec, 0);
%% get geometries
vol_geom2d_new = astra_mex_data2d('get_geometry', vol2d_id);
vol_geom3d_new = astra_mex_data3d('get_geometry', vol3d_id);
proj_geom_parallel_new = astra_mex_data2d('get_geometry', proj_parallel_id);
proj_geom_fanflat_new = astra_mex_data2d('get_geometry', proj_fanflat_id);
proj_geom_fanflat_vec_new = astra_mex_data2d('get_geometry', proj_fanflatvec_id);
proj_geom_fanflat_vec
proj_geom_fanflat_vec_new
proj_geom_fanflat_vec.Vectors(110,:)
proj_geom_fanflat_vec_new.Vectors(110,:)
%%
astra_clear;
|