from IPython.display import Image
Image(filename='../img/basin-parameters.png', width=500)
%matplotlib inline
from fatiando import utils
from fatiando.mesher import Polygon
from fatiando.gravmag import talwani, interactive, basin2d
from fatiando.vis import mpl
import numpy as np
app = interactive.Moulder.load('modelo_bacia')
x, z = app.x, app.z
dados = app.predicted
modelo = app.model[0]
topo = modelo.y.min()
xlim = [modelo.x.min(), modelo.x.max()]
mpl.figure()
mpl.plot(x, dados, '.k')
mpl.polygon(app.model[0])
mpl.gca().invert_yaxis()
solver = basin2d.PolygonalBasinGravity(x, z, dados, 30, {'density': modelo.props['density']}, top=topo, xlim=xlim)
initial = np.ones(solver.nparams)*1000
solver.config('levmarq', initial=initial).fit()
mpl.plot(x, dados, '.k', x, solver.predicted(), '-r')
mpl.polygon(modelo)
mpl.polygon(solver.estimate_, '-r')
mpl.gca().invert_yaxis()
from fatiando.inversion.regularization import Damping, Smoothness1D
regul = solver + 1e-8*Damping(solver.nparams)
regul = solver + 1e-8*Smoothness1D(solver.nparams)
regul.config('levmarq', initial=initial).fit()
mpl.plot(x, dados, '.k', x, regul.predicted(), '-r')
mpl.polygon(app.model[0])
mpl.polygon(regul.estimate_, '-r')
mpl.gca().invert_yaxis()