|
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
|
GREIT Reconstruction for an neonate human thorax geometryDataData are available Here. Data were recorded from a 10-day old spontaneously breathing neonate lying in the prone position with the head turned to the left, as documented in: S. Heinrich, H. Schiffmann, A. Frerichs, A. Klockgether-Radke, I. Frerichs, Body and head position effects on regional lung ventilation in infants: an electrical impedance tomography study. Intensive Care Med., 32:1392-1398, 2006.
Use GREIT reconstructionReconstruction model
% Inverse model
fmdl = mk_library_model('neonate_16el');
[fmdl.stimulation fmdl.meas_select] = mk_stim_patterns(16,1,'{ad}','{ad}');
fmdl = mdl_normalize(fmdl,1);
img = mk_image(fmdl,1);
opt.noise_figure = 0.5; opt.imgsz = [64 64];
imdl = mk_GREIT_model(img, 0.25, [], opt);
% imdl = mk_common_gridmdl('GREITc1');
% Data: eidors3d.sf.net/data_contrib/if-neonate-spontaneous/if-neonate-spontaneous.zip
vv= eidors_readdata('P04P-1016.get');
Reconstruct images
% solve with reference to the mean
imgall = inv_solve(imdl,mean(vv,2),vv);
[ins, exp] = find_frc(imgall,[],13,[],2); % find breaths
% use expirations as reference
vh = mean(vv(:,exp),2); % reference is average
img = inv_solve(imdl,vh,vv);
img.elem_data = img.elem_data(:,ins); %only show inspirations
calc_colours('defaults');
calc_colours('ref_level',0);
calc_colours('backgnd',[1 1 1]);
calc_colours('greylev', 0.001);
img.show_slices.img_cols = 4;
img.show_slices.sep = 2;
img.calc_colours.ref_level=0;
show_slices(img);
print_convert neonate_ex02a.png
Figure: Images of three different breaths (end inspiration)
% positions of where to plot
yposns = [20 20 45 45];
xposns = [20 45 20 45];
% Show image
clf; axes('position',[0.05,0.5,0.25,0.45]);
img1= imgall; img1.elem_data = imgall.elem_data(:,45);
show_slices(img1);
hold all;
for i = 1:4
plot(xposns(i),yposns(i),'s','LineWidth',5);
end
hold off;
% Show plots
imgs = calc_slices(imgall);
axes('position',[0.32,0.6,0.63,0.28]);
imgs = permute(imgs,[3,1,2]);
taxis = (0:size(imgs,1)-1)/13; % frame rate = 13
hold all
for i = 1:4
plot(taxis,imgs(:,yposns(i),xposns(i)),'LineWidth',2);
end
hold off
set(gca,'ytick',[]);
xlim([0 16]);
print_convert neonate_ex03a.png
Figure: (bottom) time course of several lung pixels |
Last Modified: $Date: 2012-07-03 07:57:19 -0400 (Tue, 03 Jul 2012) $ by $Author: bgrychtol $