Skip to content

Releases: PyLops/pylops

v1.16.0

11 Dec 17:10
223e103
Compare
Choose a tag to compare
  • Added pylops.utils.estimators module for trace estimation
  • Added x0 in pylops.optimization.sparsity.ISTA and
    pylops.optimization.sparsity.FISTA to handle non-zero initial guess
  • Modified pylops.optimization.sparsity.ISTA and
    pylops.optimization.sparsity.FISTA to handle multiple right hand sides
  • Modified creation of haxis in pylops.signalprocessing.Radon2D and
    pylops.signalprocessing.Radon3D to allow for uncentered spatial axes
  • Fixed _rmatvec for explicit in pylops.LinearOperator._ColumnLinearOperator

v1.15.0

23 Oct 13:47
38f5e76
Compare
Choose a tag to compare
  • Added pylops.signalprocessing.Shift operator.
  • Added option to choose derivative kind in
    pylops.avo.poststack.PoststackInversion and
    pylops.avo.prestack.PrestackInversion
  • Improved efficiency of adjoint of
    pylops.signalprocessing.Fredholm1 by applying complex conjugation
    to the vectors.
  • Added vsvp to pylops.avo.prestack.PrestackInversion allowing
    to use user defined VS/VP ratio.
  • Added kind to pylops.basicoperators.CausalIntegration allowing
    full, half, or trapezoidal integration
  • Fixed _hardthreshold_percentile in
    pylops.optimization.sparsity - Issue #249.
  • Fixed r2norm in pylops.optimization.solver.cgls

v1.14.0

09 Jul 13:58
862110e
Compare
Choose a tag to compare
  • Added pylops.optimization.solver.lsqr solver
  • Added utility routine pylops.utils.scalability_test for scalability
    tests when using multiprocessing
  • Added pylops.avo.avo.ps AVO modelling option and restructured
    pylops.avo.prestack.PrestackLinearModelling to allow passing any
    function handle that can perform AVO modelling apart from those directly
    available
  • Added R-linear operators (when setting the property clinear=False of a
    linear operator). pylops.basicoperators.Real,
    pylops.basicoperators.Imag, and pylops.basicoperators.Conj
  • Added possibility to run operators pylops.basicoperators.HStack,
    pylops.basicoperators.VStack, pylops.basicoperators.Block
    pylops.basicoperators.BlockDiag,
    and pylops.signalprocessing.Sliding3D using multiprocessing
  • Added dtype to vector X when using scipy.sparse.linalg.lobpcg in
    eigs method of pylops.LinearOperator
  • Use kind=forward fot FirstDerivative in
    pylops.avo.poststack.PoststackInversion inversion when dealing
    with L1 regularized inversion as it makes the inverse problem more stable
    (no ringing in solution)
  • Changed cost in pylops.optimization.solver.cg
    and pylops.optimization.solver.cgls to be L2 norms of residuals
  • Fixed pylops.utils.dottest.dottest for imaginary vectors and to
    ensure u and v vectors are of same dtype of the operator

v1.13.0

26 Mar 16:28
c4270a8
Compare
Choose a tag to compare
  • Added pylops.signalprocessing.Sliding1D and
    pylops.signalprocessing.Patch2D operators
  • Added pylops.basicoperators.MemoizeOperator operator
  • Added decay and analysis option in pylops.optimization.sparsity.ISTA and
    pylops.optimization.sparsity.FISTA solvers
  • Added toreal and toimag methods to pylops.LinearOperator
  • Make nr and nc optional in pylops.utils.dottest.dottest
  • Fixed complex check in pylops.basicoperators.MatrixMult
    when working with complex-valued cupy arrays
  • Fixed bug in data reshaping in check in
    pylops.avo.prestack.PrestackInversion
  • Fixed loading error when using old cupy and/or cusignal

v1.12.0

22 Nov 19:36
8a86195
Compare
Choose a tag to compare
  • Modified all operators and solvers to work with cupy arrays
  • Added eigs and solver submodules to optimization
  • Added deps and backend submodules to utils
  • Fixed bug in Convolve2D and ConvolveND when dealing with filters that have less dimensions than the input vector.

v1.11.1

24 Oct 15:18
fb3b34d
Compare
Choose a tag to compare
  • Fixed import of pyfttw when not available in pylops.signalprocessing.ChirpRadon3D

v1.11.0

24 Oct 12:21
593467a
Compare
Choose a tag to compare
  • Added pylops.signalprocessing.ChirpRadon2D and
    pylops.signalprocessing.ChirpRadon3D operators.
  • Fixed bug in the inferred dimensions for regularization data creation
    in pylops.optimization.leastsquares.NormalEquationsInversion,
    pylops.optimization.leastsquares.RegularizedInversion, and
    pylops.optimization.sparsity.SplitBregman.
  • Changed dtype of pylops.HStack to allow automatic inference from
    dtypes of input operator.
  • Modified dtype of pylops.waveeqprocessing.Marchenko operator to
    ensure that outputs of forward and adjoint are real arrays.
  • Reverted to previous complex-friendly implementation of
    pylops.optimization.sparsity._softthreshold to avoid division by 0.

v1.10.0

13 Aug 19:57
33c1895
Compare
Choose a tag to compare
  • Added tosparse method to pylops.LinearOperator.
  • Added kind=linear in pylops.signalprocessing.Seislet operator.
  • Added kind to pylops.basicoperators.FirstDerivative.
    operator to perform forward and backward (as well as centered)
    derivatives.
  • Added kind to pylops.optimization.sparsity.IRLS
    solver to choose between data or model sparsity.
  • Added possibility to use scipy.sparse.linalg.lobpcg in
    pylops.LinearOperator.eigs and pylops.LinearOperator.cond.
  • Added possibility to use scipy.signal.oaconvolve in
    pylops.signalprocessing.Convolve1D.
  • Added NRegs to pylops.optimization.leastsquares.NormalEquationsInversion
    to allow providing regularization terms directly in the form of H^T H.

v1.9.1

25 May 10:30
50916c5
Compare
Choose a tag to compare
  • Changed internal behaviour of pylops.sparsity.OMP when
    niter_inner=0. Automatically reverts to Matching Pursuit algorithm.
  • Changed handling of dtype in pylops.signalprocessing.FFT and
    pylops.signalprocessing.FFT2D to ensure that the type of the input
    vector is retained when applying forward and adjoint.
  • Added dtype parameter to the FFT calls in the definition of the
    pylops.waveeqprocessing.MDD operation. This ensure that the type
    of the real part of G input is enforced to the output vectors of the
    forward and adjoint operations.

v1.9.0

13 Apr 09:12
b337865
Compare
Choose a tag to compare
  • Added pylops.waveeqprocessing.Deghosting and
    pylops.signalprocessing.Seislet operators
  • Added hard and half thresholds in pylops.optimization.sparsity.ISTA
    and pylops.optimization.sparsity.FISTA solvers
  • Added prescaled input parameter to pylops.waveeqprocessing.MDC
    and pylops.waveeqprocessing.Marchenko
  • Added sinc interpolation to pylops.signalprocessing.Interp
    (kind == 'sinc')
  • Modified pylops.waveeqprocessing.marchenko.directwave to
    to model analytical responses from both sources of volume injection
    (derivative=False) and source of volume injection rate
    (derivative=True)
  • Added pylops.LinearOperator.asoperator method to
    pylops.LinearOperator
  • Added pylops.utils.signalprocessing.slope_estimate function
  • Fix bug in pylops.signalprocessing.Radon2D and
    pylops.signalprocessing.Radon3D when onthefly=True returning the
    same result as when onthefly=False