|
From: hatice M. <hat...@gm...> - 2020-01-18 13:22:54
|
Actually I am new in EIDORS and I am trying to understand how it works and
what it does. I really understand some part but there are still point ı don
not understand.
My code is below
clc;
clear all;
close all;
% go to eidors source folder
cd('C:\Users\Asus\Desktop\tez\reconstruction_tez\eidors-v3.9.1\eidors')
%-------------------------------------------------------------------------%
%----- start ediors ------------------------------------------------------%
%-------------------------------------------------------------------------%
try
eidors_startup
catch
[message, id] = lasterr;
if strcmp(id,'MATLAB:infoXmlValidationError')
else
error.message = message;
error.identifier = id;
rethrow(error);
end
end
% 2D Model
n_elec=16;
n_rings=1;
I=0.001;
imdl= mk_common_model('d2d1c',16); % elektrot sayısı 16
fmdl=imdl.fwd_model;
img1= mk_image( imdl.fwd_model, 1); %background 1 ile simüle et
[stim,msel]=mk_stim_patterns(n_elec,n_rings,'{ad}','{ad}',{'no_meas_current'},I);
% imdl.stimulation = stim;
% imdl.meas_select = msel;
img1.fwd_model.stimulation = stim;
figure(1);
show_fem(img1,[1,1]);
homg_data=fwd_solve(img1); % homogeneous voltage distr
img2 = img1;
% object = cell(1,2);
% object{1} = inline('(x-0.3).^2+(y-0.3).^2<0.1^2','x','y','z');
% object{2} = inline('(x+0.3).^2+(y+0.3).^2<0.05^2','x','y','z');
object=inline('(x-0.3).^2+(y-0.3).^2<0.3^2','x','y','z');
% img2.elem_data = 1 + elem_select(img2.fwd_model, object(1))+
2*elem_select(img2.fwd_model, object(2)); % First
img2.elem_data = 1 - 0.5*elem_select(img2.fwd_model, object);
figure(2);
show_fem(img2,[1,1]);
% figure();
% show_fem(img2,[1,1]);
inhomg_data=fwd_solve(img2);
%creating inverse model
inv2d= eidors_obj('inv_model', 'EIT inverse');
inv2d.reconst_type= 'difference';
inv2d.jacobian_bkgnd.value= 1;
imb= mk_common_model('d2d1c',16); % element sayısını
inv2d.fwd_model =img1.fwd_model;
inv2d.fwd_model.np_fwd_solve.perm_sym= '{y}';
% inv2d.solve= @inv_solve_diff_GN_one_step; % Gauss-Newton solvers
% inv2d.solve=@eidors_default;
inv2d.solve=@inv_solve_gn;
inv2d.hyperparameter.value = 0.01; % Laplace image prior 1e-8
% inv2d.hyperparameter.value = 0.001;
inv2d.RtR_prior= @prior_laplace;
inv2d = inv_solve( imdl, homg_data, inhomg_data);
figure(3);
show_fem(inv2d,1);
A=homg_data.meas;
B=inhomg_data.meas;
My output images are below
[image: image.png]
I did not undestand why the conductivity of the two images is different. I
think they must be same and I did not reach your website. I took error
message so ı want to ask you. Am ı thinking wrong about conductivites?
Thank you.
Andy Adler <ad...@sc...>, 18 Oca 2020 Cmt, 16:01 tarihinde şunu
yazdı:
> Hi Hatice
>
> You have now had three people try to help you, but you don't seem to be
> using what they are saying. It will not help you if you keep repeating
> the same question.
>
> For any future questions, you will need to provide:
>
> 1. COMPLETE code. I line of code with no context is useless.
>
> 2. A description of the problem. What EXACTLY did EIDORS do? What
> SPECIFICALLY did you want it to do?
>
> Thanks
> -- Andy Adler <ad...@sc...> +1-613-520-2600x8785
>
> On Sat, 18 Jan 2020, hatice MANİSALI wrote:
>
> > Hi all,I am trying to enter the your site but I took an error message.
> Is it true and I want to ask a
> > question. I want to put a circle in circle. These circles are same
> conductivity. How can I do it using
> > elem.data? My code is below and it does not work.
> > img2.elem_data = elem_select(img2.fwd_model, object);
> > This line does not generate homogeneous circle . I want to , these
> conductivity is 1.
> > Thank you very much.
> >
> >_______________________________________________
> eidors3d-help mailing list
> eid...@li...
> https://lists.sourceforge.net/lists/listinfo/eidors3d-help
>
|