Release date: 2016-11-27
Breaking changes
fatiando.utils.circular_points
to
fatiando.gridder.circular_scatter
module because gridder
is where
point generation functions live. The function now returns the x, y coordinate
arrays instead of a list of points. You can transform x, y to points by
points = numpy.transpose([x, y])
. Deleted the function
utils.connect_points
because it was only used in a single place and could
be substituted by two list comprehensions. Deleted function
utils.random_points
because it has the exact same functionality as
gridder.scatter
.
(PR 317)fatiando.gravmag.half_sph_shell
. It was used to test
fatiando.gravmag.tesseroid
but has been replaced by a full spherical
shell solution that is coded in the tests. It serves no purpose so it should
be removed to avoid having to maintain it.
(PR 288)EulerDeconv
(old Classic
class, a terrible name choice in retrospect), EulerDeconvMW
for the
moving window solver, and EulerDeconvEW
for the expanding window solver.
These names are more unique and will not clash with any other class. This is
crucial to establish a nice API for fatiando.gravmag
.
(PR 286)Bug fixes
fatiando.gravmag.tesseroid
when running with the latest
numba (0.28). The looplift
argument to numba.jit
doesn’t seem to work
anymore. The workaround was to move array allocations out of the jit compiled
functions.
(PR 328)New features and improvements
gravmag.transform.upcontinue
. Instead of raising
an error when ‘height’ <= 0 (downward continuation) it now warns users that
in this case the computation is unstable.
(PR 337)power_density_spectra
and radial_average_spectrum
to
fatiando.gravmag.transform
to calculate the radial average power density
spectrum of gridded potential field data.
(PR 303)fatiando.mesher
objects.
(PR 301)fatiando.mesher.PointGrid
to have points at different depths by
passing it an array as the z
argument.
(PR 283)fatiando.gridder.pad_array
pads an array with a variety of padding and
taper options. fatiando.gridder.unpad_array
returns the original,
unpadded array. fatiando.gridder.pad_coords
pads the coordinate vectors
associated with the arrays padded above. Added Kass in the contributors.
(PR 239)fatiando.gravmag.transform.tilt
returns a value between -90 and 90
degrees, with the 0 value being located over or nearly over the edge of a
given anomaly.
(PR 261)Deprecation
fatiando.vis.myv
that this module will be
removed in version 0.7. In version 0.6, we’ll add 3D plotting functionality
with matplotlib’s mpl3d
or another suitable replacement. Users will be
encouraged to switch to the new replacement. The fatiando.vis.myv
might
be kept as an optional module.
(PR 336)fatiando.vis.mpl
that this module will be
removed in version 0.6. Using this module as a replacement for
matplotlib.pyplot
is strongly discouraged. The custom plotting
functions, like seismic_wiggle
, will be kept and moved to a new module.
(PR 335)Development/maintenance
fatiando.seismic.wavefd
is experimental and
may not provide accurate results.
(PR 319)fatiando.seismic.srtomo
module. Reached 100%
test coverage. Now examples are only in the cookbook.
(PR 316)distutils
to setuptools
in setup.py
, as recommended in
the Python Packaging User Guide.
(PR 294)fatiando.tests
and installed with Fatiando. This means
that we can test an installed version of Fatiando, not just the code in the
repository.
(PR 290)Release date: 2016-04-05
doi: 10.5281/zenodo.49087
Changes:
fatiando.seismic.conv
. It can be given a depth model that will be
converted to a time model before generating the synthetic seismogram.
(PR 190)fatiando.inversion
. Completely redesigned classes make
implementing new inversions simpler. Subclassing Misfit
is simpler, with
fewer parameters necessary. The usage of existing inversions has changed
little. A new dependency future
was added to ease the transition to
support Python 3.
(PR 127)develop.rst
.
(PR 245)fatiando.gravmag.tensor.center_of_mass
.
(PR 242)fatiando.gravmag.transform
. The pole reduction allows both remanent and
induced magnetization. Upward continuation is more stable and faster than the
old space domain approach that was implemented.
(PR 156)fatiando.mesher.PointGrid
. The order of nodes had the same problem as the
regular grids (fixed in
196). This was not caught
before because PointGrid
didn’t use gridder.regular
to generate its
internal regular grid. This is an example of why reuse is a good thing! Tests
now should catch any future problems.
(PR 209)fatiando.gridder.regular
and many other places in
Fatiando were using the wrong convention for x, y dimensions.
x should point North and y East. Thus, a data matrix (regular grid) should
have x varying in the lines and y varying in the columns. This is
opposite what we had. This fix also changes the shape
argument to be
(nx, ny)
instead of (ny, nx)
. Users should be aware of this and
double check their code.
(PR 196)fatiando.gravamag.transform
. The horizontal
derivatives default to central finite-differences for greater stability. The
FFT based derivatives use a grid padding to avoid edge effects.
Thanks to Matteo Niccoli for suggesting
this fix.
(PR 196)fatiando.gravmag.fourier.ansig
to
fatiando.gravmag.transform.tga
(PR 186)fatiando.gravmag.fourier
by moving relevant functions into
fatiando.gravmag.transform
.
(PR 186)seismic_wiggle
and seismic_image
plotting functions for
seismic data in fatiando.vis.mpl (PR 192) plus cookbookfatiando.gravmag
Cython coded
forward modeling. Caused the majority of our install problems and didn’t
offer a great speed up anyway (< 2x). Can be replaced by multiprocessing
parallelism without the install problems
(PR 177)fatiando.gravmag.tesseroid
take
an optional pool
argument. Use it to pass an open
multiprocessing.Pool
for the function to use. Useful to avoid processes
spawning overhead when calling the forward modeling many times
(PR 183)fatiando.gravmag.tesseroid
(PR 118)matplotlib.mlab.griddata
with
scipy.interpolate.griddata
in fatiando.gridder.interp
to avoid
incompatibilities when using matplotlib > 1.3
(at least in MacOS). Nearest neighbor interpolation method flagged as nn
was removed. Now it becomes only nearest
. Also replace matplotlib
with scipy
in fatiando.mesher.PrismMesh.carvetopo
(PR 148)fatiando.gravmag.basin2d.PolygonalBasinGravity
for 2D
gravity inversion for the relief of a basin.
(PR 149)fatiando.gui
. This was an experimental and temporary
package to explore interactivity. Given new developments, like the
IPython HTML widgets,
it is no longer relevant. The package will be replaced by package specific
interactive
modules.
From the original classes implemented in this package, only Moulder
has
been saved.
(PR 143)Moulder
to the new module fatiando.gravmag.interactive
.
Completely rewrote the application. It now allows editing, moving, and
deleting polygons, persisting the application to a pickle file and reloading,
etc.
(PR 143)Release date: 2014-10-28
doi: 10.5281/zenodo.16205
Changes:
fatiando.__version__
.
(PR 117)xy2ne
flag for square
and points
functions in
fatiando.vis.mpl.
(PR 94)LCurve
in fatiando.inversion.regularization for estimating the regularization
parameter using an L-curve criterion.
(PR 90)vmin
and vmax
arguments in
fatiando.vis.mpl.contourf.
(PR 89)Release date: 2014-01-15
doi: 10.6084/m9.figshare.1115194
Changes:
fatiando.io
module to
fatiando.datasets
(PR 82)contaminate
function now guaranteed to
use errors with zero mean. Can now control the random seed used in all
functions relying on random numbers. (PR 41)extrapolate_nans
function in
fatiando.gridder to fill NaNs and masked
values in arrays using the nearest data point.interp
function of fatiando.gridder has option
to extrapolate values outside the convex hull of the data (enabled by
default). Uses better cubic interpolation by default and returns
1D arrays like the rest of fatiando, instead of 2D. (PR 44 and PR 42)Seed
class of
fatiando.gravmag.harvester can now be
used as a Prism
object.fatiando.logger
. (PR 30)Release date: 2013-04-12
doi: 10.5281/zenodo.16207
Changes:
fatiando
fatiando
to module
fatiando.constants