Eidors-logo    

EIDORS: Electrical Impedance Tomography and Diffuse Optical Tomography Reconstruction Software

EIDORS (mirror)
Main
Documentation
Tutorials
− Image Reconst
− Data Structures
− Applications
− FEM Modelling
− GREIT
− Old tutorials
Workshop
Install
Contrib Data
GREIT
Browse Docs
Browse SVN

News
Mailing list
(archive)
FAQ
Developer
                       

 

Hosted by
SourceForge.net Logo

 

Calculate GREIT Reconstruction Matrix

GREIT calculates a linear reconstruction matrix: RGR which is used to calculate the reconstructed image x from difference measurements y:
    x = RGR y.
Here y are the time difference (TD-EIT) measurements (y = vvr) or normalized TD-EIT measurements.

RGR is calculated for a particular system (ie the stimulation pattern, number and position of electrodes, etc). This tutorial shows examples of this calculation.

Reconstruction Model (Circular model)

% $Id: mk_GREIT_matrix01.m 3354 2012-07-01 21:42:05Z bgrychtol $
n_elecs = 16;
fmdl = ng_mk_cyl_models([2 2 0.2] ,[n_elecs,1],[0.1]);
fmdl.stimulation =  mk_stim_patterns(n_elecs,1,[0,1],[0,1],{'no_meas_current'}, 1);
fmdl = mdl_normalize(fmdl, 0);
img = mk_image(fmdl,1); % Homogeneous background

show_fem(fmdl); view(0,70);
print_convert mk_GREIT_matrix01a.png '-density 60'


Figure: Reconstruction (no noise) with (from left to right) GREIT v1, Sheffield Backprojection, Gauss Newton Inverse

Calculate GREIT reconstruction matrix

% $Id: mk_GREIT_matrix02.m 2473 2011-03-02 20:32:23Z aadler $
opt.imgsz = [32 32];
opt.distr = 3; % non-random, uniform
opt.Nsim = 1000;
opt.target_size = 0.05; % Target size (frac of medium)
opt.noise_figure = 0.5; % Recommended NF=0.5;
imdl = mk_GREIT_model(img, 0.25, [], opt);

The resulting matrix will be in the imdl structure under imdl.solve_use_matrix.RM.

Simulate 3D object on cylinder

% $Id: mk_GREIT_matrix03.m 2474 2011-03-02 20:38:51Z aadler $

img = mk_image(fmdl,1);
vh = fwd_solve(img);

select_fcn = inline('(x-1).^2+(y-1).^2+(z-1).^2<.03','x','y','z');
img.elem_data = 1 + 0.1*elem_select(img.fwd_model, select_fcn);
vi = fwd_solve(img);

show_fem(img); view(0,70);
print_convert mk_GREIT_matrix03a.png '-density 60'

Reconstruct

% $Id: mk_GREIT_matrix04.m 2475 2011-03-02 20:40:30Z aadler $

rimg = inv_solve(imdl,vh,vi); %Reconstruct

show_fem(rimg);
print_convert mk_GREIT_matrix04a.png '-density 60'


Figure: Left: Simulated target Right: Reconstructed image (using GREIT)

Last Modified: $Date: 2017-02-28 13:12:08 -0500 (Tue, 28 Feb 2017) $ by $Author: aadler $