Eidors-logo    

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
Install
Contrib Data
GREIT
Browse Docs
Browse SVN

News
Mailing list
(archive)
FAQ
Developer
                       

 

Hosted by
SourceForge.net Logo

 

GREIT Reconstruction for an neonate human thorax geometry

Data

Data 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.

Subject Image:

Use GREIT reconstruction

Reconstruction 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)
Reconstruct temporal signals
% 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 $