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

News
Mailing list
(archive)
FAQ
Developer
                       

 

Hosted by
SourceForge.net Logo

 

GREIT Reconstruction with IBEX software

The IBEX software from Swisstom is a freely available software tool designed to help analyse lung EIT data. While the software is primarily designed to analyse data in Swisstom formats, it is relatively easy to convert images analysed by EIDORS into an IBEX compatible format.

This tutorial describes how to reconstruct data and create an IBEX compatible file.

Create Reconstruction Matrix and ROIs

Here we are using the adult human FEM model
fmdl= mk_library_model('adult_male_16el_lungs');
img = mk_image(fmdl, 1); % background conductivity
img.elem_data(fmdl.mat_idx{2}) = 0.3001; % lungs
img.elem_data(fmdl.mat_idx{3}) = 0.3002; % lungs
ROI = calc_slices(img,[inf,inf,0.5]);
llung_ROI = ~isnan(ROI) & (ROI==0.3001);
rlung_ROI = ~isnan(ROI) & (ROI==0.3002);
thorax_ROI= ~isnan(ROI); % include lungs, too

subplot(131); imagesc(thorax_ROI); axis image
subplot(132); imagesc(rlung_ROI);  axis image
subplot(133); imagesc(llung_ROI);  axis image
print_convert('GREIT_IBEX_01a.png');



Figure:
Example ROIs needed for analysis Use GREIT Reconstruction
[stim,msel] = mk_stim_patterns(16,1,[0,1],[0,1],{'no_meas_current'},1);
img.fwd_model.stimulation = stim;
img.fwd_model = mdl_normalize(img.fwd_model, 1);
opt.imgsz = [64 64];
opt.distr = 3;
opt.Nsim = 500;
opt.target_size = 0.03;
opt.target_offset = 0;
opt.noise_figure = .5; 
opt.square_pixels = 1;
imdl=mk_GREIT_model(img, 0.25, [], opt);
imdl.fwd_model.meas_select = msel;

Load and reconstruct Data

Use data from a Patient at CHB (Gender: F, Age: 5.9 years, Weight: 20kg, Condition: Primary ARDS triggered by parainfluenza pneumonia)
fname = 'DATA/STUDYNAME/SUBJECT_1/YYYYMMDD/Eit/Viasys/1001_c4.get';
vv= eidors_readdata(fname);
img= inv_solve(imdl, mean(vv,2), vv);

imgs= -calc_slices(img); % Negative to air is +
imgs(isnan(imgs(:)))= 0;

img.calc_colours.ref_level=0;
img.elem_data = img.elem_data(:,2:4:120);
img.show_slices.img_cols = 10;
clf; show_slices(img);

print_convert 'GREIT_IBEX_03a.jpg'


Figure: Example Images of reconstructed data

Create the required variables to use IBEX

data.imageRate = 13;

data.patient.ROI.Inside =thorax_ROI*100; % to scale it up to 100
data.patient.ROI.RightLung =rlung_ROI*100;
data.patient.ROI.LeftLung =llung_ROI*100;
data.patient.ROI.Heart =zeros(size(imgs,1),size(imgs,2));

% put to dummy because they are missing
data.patient.halfChest = 'NaN';
data.patient.height = 'NaN';
data.patient.weight = 'NaN';
data.patient.gender = 'NaN';

data.measurement.Position.transversal = zeros (1,size(imgs,3));
data.measurement.Position.longitudinal = zeros (1,size(imgs,3));
data.measurement.ImageQuality = 100*ones(1,size(imgs,3));
data.measurement.ElectrodeQuality = zeros(size(imgs,3),32);
data.measurement.ZeroRef = imgs;

data.injctionPattern= 'NaN';
data.SensorBelt.NumEl= 'NaN';

data.measurement.CompositValue=squeeze(sum(sum(imgs,2),1));

save('file-for-IBEX.mat','data');


Now file-for-IBEX.mat can be used with IBEX software.

Figure: IBEX software using these data

Last Modified: $Date: 2017-03-01 09:38:55 -0500 (Wed, 01 Mar 2017) $ by $Author: aadler $