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
|
Algorithm PerformanceEIDORS provides an interface to test algorithm performance against the parameters defined for the GREIT algorithm: Amplitude (AR), Position Error (PE), Resolution (RES), Shape Deformation (SD), and Ringing (RNG)% Test algorithm performance $Id: algorithm_performance01.m 2240 2010-07-04 14:41:32Z aadler $ % Reconstruct GREIT Images imdl_gr = mk_common_gridmdl('GREITc1'); % Reconstruct backprojection Images imdl_bp = mk_common_gridmdl('backproj'); % Reconstruct GN Images imdl_gn = select_imdl( mk_common_model('d2c2', 16), {'Basic GN dif','Choose NF=0.5'}); test_performance( { imdl_gr, imdl_bp, imdl_gn } ); print_convert 'algorithm_performance01a.png' '-density 100' Figure: Performance of algorithms: blue: GREIT (v1) green: Sheffield backprojection red: One step Gauss Newton GREIT Test Parameters for different algorithmsThe GREIT figure of merit parameters to evaluate the performace of other algorithms.Simulate 3D object% create 3D forward model fmdl = ng_mk_cyl_models([2,1,0.08],[8,0.8,1.2],[0.05]); fmdl.stimulation = mk_stim_patterns(16,1,[0,1],[0,1],{},1); imgs= mk_image( fmdl, 1); show_fem(imgs); print_convert test_params01a.png '-density 50' Figure: Simulation mesh Simulate target positionsr = 0.05; % target radius Npos = 20; % number of positions Xpos = linspace(0,0.9,Npos); % positions to simulated along x-axis Ypos = zeros(1,Npos); Zpos = ones(1,Npos); %% for off-plane, adjust the level (*1.5) xyzr = [Xpos; Ypos; Zpos; r*ones(1,Npos)]; [vh,vi] = simulate_movement(imgs, xyzr); Gauss-Newton Reconstruction Matrix% 3D inverse model imdl= mk_common_model('n3r2',[16,2]); mdl= ng_mk_cyl_models([2,1,0.1],[8,0.8,1.2],[0.05]); mdl.stimulation = mk_stim_patterns(16,1,[0,1],[0,1],{},1); imdl.fwd_model = mdl; img= mk_image( mdl, 1); J = calc_jacobian(img); %% inverse solution (faster solution) hp = 0.015; RtR = prior_noser( imdl ); P= inv(RtR); Rn = speye( size(J,1) ); imdl.solve = @solve_use_matrix; imdl.solve_use_matrix.RM = P*J'/(J*P*J' + hp^2*Rn); imgr= inv_solve(imdl,vh,vi); Calculate and show GREIT parameters%% calculate the GREIT parameters levels =[inf,inf,Zpos]; show_slices(imgr, levels); imgr.calc_colours.npoints = 128; imgr.calc_slices.levels=levels; params = eval_GREIT_fig_merit(imgr, xyzr); p_names = {'AR','PE','RES','SD','RNG'}; for i=1:5; subplot(5,1,i); plot(params(i,:)); ylabel(p_names{i}); end print_convert test_params04a.png '-density 100' Figure: GREIT figure of merit parameters for GN algorithm |
Last Modified: $Date: 2017-02-28 13:12:08 -0500 (Tue, 28 Feb 2017) $ by $Author: aadler $