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:
fatiandofatiando to module
fatiando.constants