Example #1
0
no2xy = ms['node']
el2no = ms['element']

# report the status of the 2D mesh
quality.fstats(no2xy, el2no)

""" 1. FEM forward simulations """
# setup EIT scan conditions
elDist, step = 7, 1
exMtx = eit_scan_lines(16, elDist)

# calculate simulated data
fwd = forward(ms, elPos)

# in python, index start from 0
exLine = exMtx[1].ravel()

# change alpha
anomaly = [{'x': 0.40, 'y': 0.40, 'z': 0.0, 'd': 0.30, 'alpha': 100.0}]
ms_test = mesh.set_alpha(ms, anom=anomaly, background=1.0)
tri_perm = ms_test['alpha']
node_perm = pdeprtni(no2xy, el2no, np.real(tri_perm))

# solving once using fem
f, _ = fwd.solve_once(exLine, tri_perm)
f = np.real(f)

# mplot.tetplot(p, t, edge_color=(0.2, 0.2, 1.0, 1.0), alpha=0.01)
mplot.tetplot(no2xy, el2no, vertex_color=f, alpha=1.0)
Example #2
0
plt.show()

""" 2. FEM forward simulations """
# setup EIT scan conditions
elDist, step = 1, 1
exMtx = eit_scan_lines(16, elDist)

# calculate simulated data
fwd = forward(ms, elPos)
f0 = fwd.solve(exMtx, step=step, perm=ms['alpha'])
f1 = fwd.solve(exMtx, step=step, perm=ms1['alpha'])

"""
3. naive inverse solver using back-projection
"""
eit = bp.BP(ms, elPos, exMtx, step=1, parser='std', weight='none')
ds = eit.solve(f1.v, f0.v)
ds = 10000. * pdeprtni(no2xy, el2no, ds)

# plot
fig = plt.figure()
ax1 = fig.add_subplot(111)
im = ax1.tripcolor(no2xy[:, 0], no2xy[:, 1], el2no, ds, cmap=plt.cm.viridis)
ax1.set_title(r'$\Delta$ Conductivities')
ax1.axis('equal')
fig.colorbar(im)
""" for production figures, use dpi=300 or render pdf """
fig.set_size_inches(6, 4)
# fig.savefig('../figs/demo_bp.png', dpi=96)
plt.show()
Example #3
0
alpha = np.real(ms1['alpha'] - ms0['alpha'])

""" ax1. FEM forward simulations """
# setup EIT scan conditions
elDist, step = 1, 1
exMtx = eit_scan_lines(16, elDist)

# calculate simulated data
fwd = forward(ms, elPos)
f0 = fwd.solve(exMtx, step=step, perm=ms0['alpha'])
f1 = fwd.solve(exMtx, step=step, perm=ms1['alpha'])

""" ax2. BP """
eit = bp.BP(ms, elPos, exMtx, step=1, parser='std')
ds = eit.solve(f1.v, f0.v, normalize=True)
ds_bp = pdeprtni(no2xy, el2no, ds)

""" ax3. JAC """
eit = jac.JAC(ms, elPos, exMtx=exMtx, step=step,
              perm=1., parser='std',
              p=0.2, lamb=0.001, method='kotre')
# parameter tuning is needed for better display
ds = eit.solve(f1.v, f0.v)
ds_jac = pdeprtni(no2xy, el2no, ds)

""" ax4. GREIT """
eit = greit.GREIT(ms, elPos, exMtx=exMtx, step=step, parser='std')
ds = eit.solve(f1.v, f0.v)
x, y, ds_greit = eit.mask_value(ds, mask_value=np.NAN)

""" build for EIT2016b (orig: 300p x 300p, 150dpi) """