📄 contents.m
字号:
%EIDORS 3D Matlab based package
%
%-------------------------------------------------------------------------
%[1] function [E,pp] = fem_master_full(vtx,simp,mat,gnd_ind,elec,zc,sym);
%
%Builds up the system matrix based on the complete electrode model. E is not
%yet permuted. To permute E -> E(pp,pp) as in fwd_solver.
%
%--------------------------------------------------------------------------
%[2] function [Ef] = bld_master_full(vtx,simp,mat,elec,zc);
%
%System matrix assembling based on the complete electrode model.
%This function is called within fem_master_full.
%
%--------------------------------------------------------------------------
%[3] function [Ef,IntGrad] = bld_master(vtx,simp,mat_ref);
%
%Builds up the main compartment (GAP-SHUNT) of the system matrix for the complete
%electrode model. It is called within the function fem_master_full
%
%--------------------------------------------------------------------------
%[4] function [Er] = ref_master(E,gnd_ind);
%
%Applys reference conditions to the system. Modifying the system matrix to preserve
%the uniqueness of the forward solution.
%
%--------------------------------------------------------------------------
%[5] function [I,Ib] = set_3d_currents(protocol,elec,vtx,gnd_ind,no_pl);
%
%This function sets current patterns in a system with (no_pl) planes of
%equal number of electrodes according to "opposite" or "adjacent" protocols,
%or their 3D similar.
%
%--------------------------------------------------------------------------
%[6] function [I,Ib] = set_multi_currents(protocol,elec,vtx,gnd_ind,no_pl);
%
%This functions applies opposite or adjacent current patterns to each of
%the planes of the system simultaneously.
%
%--------------------------------------------------------------------------
%[7] function [V] = forward_solver(vtx,E,I,tol,pp,V);
%
%This function solves the forward problem using the Cholesky or LU method or
%conjugate gradients.
%
%--------------------------------------------------------------------------
%[8] function [voltageH,voltageV,indH,indV,df] = get_3d_meas(elec,vtx,V,Ib,no_pl);
%
%This function extracts multi-plane voltage measurements from a calculated
%3D nodal potential distribution V inside a tank with (no_pl) electrode
%planes. Each plane holds the same number of electrodes. Only the non-current
%caring electrodes at the time are involved in the measurements.
%
%--------------------------------------------------------------------------
%[9] function [voltage,ind,df] = get_multi_meas(protocol,elec,V,I,vtx,no_pl);
%
%The function can be used in the occasions where plane current patterns
%(adjacent or polar) are adopted for systems with more planes, i.e. set by
%set_multi_currents function. Only non-current carrying electrodes are
%involved in the measurements.
%
%--------------------------------------------------------------------------
%[10] [v_f] = m_3d_fields(vtx,el_no,m_ind,E,tol,gnd_ind,v_f);
%
%This function calculates the measurement fields using preconditioned
%conjugate gradients. These are used in the calculation of the Jacobian.
%
%--------------------------------------------------------------------------
%[11] function [fc] = figaro3d(srf,vtx,simp,fc,BB,h);
%
%This function plots the solution as a 3D object crossed at the plane z=h
%within the 3D boundaries of the volume.
%
%--------------------------------------------------------------------------
%[12] function [fc] = slicer_plot(h,BB,vtx,simp,fc);
%
%This function plots a 2D slice of the 3D solution vector BB at z=h.
%
%--------------------------------------------------------------------------
%[13] function [CC] = solution_ext(BB,vtx,simp);
%
%Auxiliary function that extracts a secondary NODE-wise solution CC
%based on the calculated ELEMENT-wise solution BB. This function is
%called from slicer_plot function.
%
%--------------------------------------------------------------------------
%[14] function [J] = jacobian_3d(I,elec,vtx,simp,gnd_ind,mat_ref,zc,IntGrad,v_f,df,tol,sym);
%
%This function calculates the Jacobian (sensitivity) matrix of the system wrt to conductivity.
%
%--------------------------------------------------------------------------
%[15] function [Jrr,Jri,Jir,Jii] =
% jacobian_3d_comp(I,elec,vtx,simp,gnd_ind,mat_ref,no_pl,zc,IntGrad,v_f,df,tol,sym);
%
%This function calculates the Jacobian matrices (wrt conductivity) for the complex EIT system.
%
%--------------------------------------------------------------------------
%[16] function [JTb] = adjoint_spin(vtx,simp,elec,x,gnd_ind,zc,I,no_pl,Vmes);
%
%The function calculates the product J'*b, i.e. Jacobian transpose times
%a (measurements) vector b, using the adjoint sources formulation.
%
%----------------------------------------------------------------------------
%[17] function [IntGrad] = integrofgrad(vtx,simp,mat_ref);
%
%function that calculates the integral of the gradients for first order
%tetrahedral elements. Required for the calculation of the Jacobian.
%
%--------------------------------------------------------------------------
%[18] function [ele_face,sels,cnts,VV] = set_electrodes(vtx,srf,ele_face,sels,cnts,VV);
%
%You need to call this function recursively to select boundary faces building up
%the ele_face. You will need to reshape this matrix appropriately to get the elec
%matrix, depending on how many faces there are in each electrode.
%
%--------------------------------------------------------------------------
%[19] function [mat,grp] = set_inho(srf,simp,vtx,mat_ref,val);
%
%Auxiliary functions used to set small local inhomogeneities
%in a volume (graphically).
%
%--------------------------------------------------------------------------
%[20] function [sel] = laserbeam(vtx,srf,cnts);
%
%Auxiliary plotting function
%
%--------------------------------------------------------------------------
%[21] function paint_electrodes(sel,srf,vtx);
%
%Auxiliary function which plots the electrodes red at the boundaries.
%
%--------------------------------------------------------------------------
%[22] function repaint_inho(mat,mat_ref,vtx,simp);
%
%Repaints the simulated inhomogeneity according to the reference
%distribution. (Increase -> Red, Decrease -> Blue)
%
%-------------------------------------------------------------------------
%[23] function potplot(vtx,srf,V);
%
%Animates the forward solution in 3D.
%
%--------------------------------------------------------------------------
%[24] function [dd] = db23d(x1,y1,z1,x2,y2,z2);
%
%Auxiliary function that calculates the distance between two points in 3D.
%
%--------------------------------------------------------------------------
%[25] function [srf] = dubs3(simp);
%
%Auxiliary function that calculates the boundary faces of a given 3D volume.
%Useful in electrode assignment.
%
%--------------------------------------------------------------------------
%[26] function [vtx_n,simp_n] = delfix(vtx,simp)
%
% Auxiliary function to remove the zero area faces
% produced by Matlab's delaunay triangulation
%
%---------------------------------------------------------------------------
%[27] function [vols] = check_vols(simp,vtx);
%
%Auxiliary function which calculates the volume of each tetrahedron in the mesh.
%
%--------------------------------------------------------------------------
%[28] function [sm1] = iso_f_smooth(simp,w);
%
%Calculates a first order discrete Gaussian smoothing operator
%
%--------------------------------------------------------------------------
%[29] function [sm2] = iso_f_smooth(simp,w);
%
%Calculates a second order discrete Gaussian smoothing operator
%
%--------------------------------------------------------------------------
%[30] function [solf,solp] =
% inv_sol(I,voltage,tol,mat_ref,vtx,simp,elec,no_pl,zc,sym,gnd_ind,tfac,Reg,it);
%
%Calculates a Newton non-linear inverse solution.
%
%--------------------------------------------------------------------------
%[31] function demo_real( ... );
%
%Demonstrates an ERT (conductivity only) image reconstruction example.
%
%--------------------------------------------------------------------------
%[32] function demo_comp( ... );
%
%Demonstrates an EIT (conductivity and permittivity) image reconstruction example.
%
%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -