|
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 with IBEX softwareThe 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 ROIsHere 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:
[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 DataUse 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 $