EIDORS
(mirror)
Main
Documentation
Tutorials
− Image Reconst
− Data Structures
− Applications
− FEM Modelling
− GREIT
− Old tutorials
− Workshop
Download
Contrib Data
GREIT
Browse Docs
Browse SVN
News
Mailing list
(archive)
FAQ
Developer
Hosted by
| |
Workshop: Introduction to EIDORS
Instructions
- Compile and install a copy of netgen 5.0
mkdir src
cd src
wget http://downloads.sf.net/project/netgen-mesher/netgen-mesher/5.0/netgen-5.0.0.zip
unzip netgen-5.0.0.zip
cd netgen-5.0.0
# ENSURE we have apt-get install tk-dev tcl-dev libtogl-dev
./configure --prefix=$HOME/local
make
make install
- Download and unzip the latest EIDORS release
- Start Matlab, in a terminal
export NETGENDIR=$HOME/local/bin
export PATH=$HOME/local/bin:$PATH
matlab
- In matlab, do
-
run ~/Desktop/eidors-v3.7RC/eidors/startup.m
-
compare_2d_algs(1)
(this tests if eidors is working)
-
show_fem(ng_mk_cyl_models(3,[0],[]))
(this tests if netgen is working)
- Get svn version of eidors
cd
svn co svn://svn.code.sf.net/p/eidors3d/code/trunk eidors-svn
In matlab run the new startup file
run ~/eidors-svn/eidors/startup.m
Challenge problem:
- Create a 3D elliptical cylinder with 16 circular electrodes
(see here)
fmdl= ng_mk_ellip_models([1,1.2,0.8],[16,0.5],[0.1]);
show_fem(fmdl);
- Put a ball into the elliptical cylinder
extra={'ball','solid ball = sphere(0.5,0.5,0.5;0.1);'};
fmdl= ng_mk_ellip_models([1,1.2,0.8],[16,0.5],[0.1],extra);
show_fem(fmdl);
- Put two balls into the elliptical cylinder
extra={'ball','solid ball = sphere(0.5,0.5,0.5;0.1) or sphere(0.5,-0.5,0.5;0.1);'};
fmdl= ng_mk_ellip_models([1,1.2,0.8],[16,0.5],[0.1],extra);
show_fem(fmdl);
- Set the model to use adjacent current patterns
stim = mk_stim_patterns(16,1,[0,1],[0,1],{});
fmdl.stimulation = stim;
- Simulate homogeneous voltages (background conductivity = 0.5);
img = mk_image(fmdl, 0.5); vh = fwd_solve(img);
show_fem(img);
- Simulate inhomogeneous voltages (ball conductivity = 1.0);
img.elem_data(fmdl.mat_idx{2})= 1.0; vi = fwd_solve(img);
show_fem(img);
- Reconstruct the image using GREITv1
imdl= mk_common_gridmdl('GREITc1');
img= inv_solve(imdl,vh,vi);
show_fem(img);
- Create a GREIT model for the ellipse
(see here)
opt.noise_figure = 0.5; %other options are defaults
imdl = mk_GREIT_model(mk_image(fmdl,0.5), 0.25, [], opt);
img= inv_solve(imdl,vh,vi);
show_fem(img);
- Compare images for different stimulation patterns
(see here)
|