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 Download Contrib Data GREIT Browse Docs Browse SVN News Mailing list (archive) FAQ Developer
|
Build circular 2D models with distmeshDistmesh is a FEM building tool written in Matlab by Per-Olof Persson. Is is licenced under the GPL and has been distributed with EIDORS (with some small modifications).The function function dm_2d_circ_pt_elecs allows building of 2d circular EIDORS models with distmesh and provides a way to refine points. Create 3 electrode basic model% Simple model with three electrodes $Id: circ_2d_model01.m 5765 2018-05-20 11:55:14Z aadler $ elec_pts{1} = [1,0]; % Point electrode elec_pts{2} = [0,1;sin(0.2),cos(0.2)]; % Complete electrode between points elec_pts{3} = [0.5,0.5]; % Point internal electode fmdl= dm_2d_circ_pt_elecs( elec_pts, [], [0.10,10,0.05] ); subplot(221); show_fem(fmdl); axis equal fmdl= dm_2d_circ_pt_elecs( elec_pts, [], [0.10,10,0.02] ); subplot(222); show_fem(fmdl); axis equal print_convert circ_2d_model01.png '-density 125' Figure: Circular model generated by dm_2d_circ_pt_elecs, for two different mesh densities Create regular electrode basic model% Simple model with three electrodes $Id: circ_2d_model01.m 5765 2018-05-20 11:55:14Z aadler $ elec_pts{1} = [1,0]; % Point electrode elec_pts{2} = [0,1;sin(0.2),cos(0.2)]; % Complete electrode between points elec_pts{3} = [0.5,0.5]; % Point internal electode fmdl= dm_2d_circ_pt_elecs( elec_pts, [], [0.10,10,0.05] ); subplot(221); show_fem(fmdl); axis equal fmdl= dm_2d_circ_pt_elecs( elec_pts, [], [0.10,10,0.02] ); subplot(222); show_fem(fmdl); axis equal print_convert circ_2d_model01.png '-density 125' Figure: Circular model generated by dm_2d_circ_pt_elecs, for two different mesh densities Exploring Parameter Choices For Distmesh models% Simple model with three electrodes $Id: circ_2d_model03.m 2768 2011-07-14 16:43:03Z bgrychtol $ elec_pts= {}; n_elecs= 8; elec_width= 0.1; hw= elec_width/2; th = linspace(0,2*pi,n_elecs+1); th(end)=[]; for i=1:n_elecs; ti = th(i) + [hw;-hw]; elec_pts{i} = [sin(ti),cos(ti)]; end params = [0.10,10,0.05; 0.10,10,0.02; 0.10,10,0.005; 0.10,30,0.005; 0.10,50,0.005; 0.05,10,0.02; 0.03,10,0.02; 0.02,10,0.02; 0.10,10,0.001; 0.05,10,0.001 ]; clf for i=1:5; for j=0:1 param= params(i+5*j,:); fmdl= dm_2d_circ_pt_elecs( elec_pts, [], param ); axes('position',[0.05+0.49*j,(i-1)*0.17+0.10,0.45,0.13]); show_fem(fmdl); axis([0,1.05,-0.2,0.2]); text(0,0.25,sprintf('Params=[%4.2f,%2d,%5.3f]. #Elems= %d ', param, size(fmdl.elems,1))); if i>1; set(gca,'XTickLabel',[]); end end; end print_convert circ_2d_model03.png '-density 200' Figure: Eight electrode model for various parameter choices indicated. |
Last Modified: $Date: 2017-02-28 13:12:08 -0500 (Tue, 28 Feb 2017) $ by $Author: aadler $