Inverse Module
This module contains the classes and functions needed to run the inverse problem for both the high-fidelity and reduced systems of equations.
Main Function
- inverse.GenInverse(name1, value1, name2, value2...)
- Description:
Function to run the inverse problem with either the traditional method or using ROM with the RBModel created using the GenRBModel() function (see ‘help GenRBModel’ for guidance). This function takes the measurements provided with the data_path argument or uses the measurements in the Results/measurements/ folder to estimate the conductivities in the tissues. This function also has the ability to use anisotropic layers if ROM was made with them.
- Parameters:
ROM – Boolean, run ROM inverse problem
Cluster – Boolean, run ROM inverse on the cluster (recommended)
TRAD – Boolean, run the traditional method of estimation
simultaneous – (beta), Boolean, run ROM in simultaneous mode
x0 – starting conductivity values for optimization
data_path – path to the measurements
model – path to the model
sinks – 2D array with injection pattern data
sinks_path – path to injection data mat file
top – path to the top of the ROMEG tree
current – the injection current
num_samples – number of samples measurements to run the inverse with
sample_num – the specific sample or samples to run for
snaps – (boolean) would you like the inverse to be run for each number of snapshots (this will take much longer)
fix_conds – either boolean or an array of ALL non-active layer conds
active_layers – array of the layers to keep active for inverse
sensitivity – is this a sensitivity analysis?
new_sinks – (boolean) use a new set of sinks called new_sinks.mat; this means the first set (used for ROM) must be a 1-1 set where the injection electrode is the same number as the pattern number and the extraction electrode is the final electrode.
use_sinks – tell this function that ROM used ‘use_sinks’
complim – max number of processes to run in parallel on cluster
use_noise – (boolean) if true, uses measurements with noise
noise – what noise is used in the measurements
tag – (string) how to label the estimates
debug – (boolean) turn debug mode on
weighted – use weights on the measurements
ref_sink – used when ROM is trained with a common sink (advised), and then new sinks are used in the inverse problem
omit_layers – when using synthetic measurements with different number of layers. Specify the layer(s) not trained in ROM model.
ground – the reference/ground electrode
real – are the measurements real (i.e. are the synthetic conds missing)?
simultaneousN – which layers should be simultaneously estimated?
Classes
- class inverse.InverseClass
Bases:
core.OrderedModelClass- Property Summary
- ROM
is this being used for ROM inverse
- TRAD
is the traditional inverse method being run as well?
- active_layers
when selected by the user, can determine the layers actually used for inverse
- cond_lf
conductivities not to estimate
- current
injection current
- data_path
path to measurment data
- eL
number of electrodes
- el_in
injection electrode
- estimate
array of estimated conductivities
- estimates
2D-array of estimates from all injection patterns
- fix_conds
fix the non active conductivity layers to centre
- lb
lower conductivity bound
- lf
index for conductivities not to estimate
- noise
for adding noise to the combined measurements
- num_samples
number of samples to run the inverse problem for
- pattern
electrode pattern number in sink file
- ref_sink
the reference electrode used as a sink for all pairs.
- synth_cond
conductivity set to make the synthetic measurements with
- te
index for conductivities to estimate
- u
measurements (artificial measurements)
- ub
upper conductivity bound
- use_noise
use the measurements with noise
- verbose
boolean - verbose mode for debugging
- x0
starting point of the optimisation
- class inverse.InverseROMClass
Bases:
inverse.InverseClass,core.OrderedModelClass- Constructor Summary
- InverseROMClass(varargin)
obj = obj.processArgs(varargin);
- Property Summary
- LF
ROM model
- ground
the reference/ground electrode
- simultaneous
simultaneous electrode estimation
- snap
current number of snapshots to use in RBModel
- snaps
boolean, run inverse for all number of snapshots
- tag
how to label the estimates
- Method Summary
- RBsolution(num, mu_a)
returns the potential given by RB solution on the electrodes
- inverse.InverseTRADClass