Changelog¶
Version 1.9.1¶
Released on: 25/05/2020
- Changed internal behaviour of
pylops.sparsity.OMPwhenniter_inner=0. Automatically reverts to Matching Pursuit algorithm. - Changed handling of
dtypeinpylops.signalprocessing.FFTandpylops.signalprocessing.FFT2Dto ensure that the type of the input vector is retained when applying forward and adjoint. - Added
dtypeparameter to theFFTcalls in the definition of thepylops.waveeqprocessing.MDDoperation. This ensure that the type of the real part ofGinput is enforced to the output vectors of the forward and adjoint operations.
Version 1.9.0¶
Released on: 13/04/2020
- Added
pylops.waveeqprocessing.Deghostingandpylops.signalprocessing.Seisletoperators - Added hard and half thresholds in
pylops.optimization.sparsity.ISTAandpylops.optimization.sparsity.FISTAsolvers - Added
prescaledinput parameter topylops.waveeqprocessing.MDCandpylops.waveeqprocessing.Marchenko - Added sinc interpolation to
pylops.signalprocessing.Interp(kind == 'sinc') - Modified
pylops.waveeqprocessing.marchenko.directwaveto to model analytical responses from both sources of volume injection (derivative=False) and source of volume injection rate (derivative=True) - Added
pylops.LinearOperator.asoperatormethod topylops.LinearOperator - Added
pylops.utils.signalprocessing.slope_estimatefunction - Fix bug in
pylops.signalprocessing.Radon2Dandpylops.signalprocessing.Radon3Dwhenonthefly=Truereturning the same result as whenonthefly=False
Version 1.8.0¶
Released on: 12/01/2020
- Added
pylops.LinearOperator.todensemethod topylops.LinearOperator - Added
pylops.signalprocessing.Bilinear,pylops.signalprocessing.DWT, andpylops.signalprocessing.DWT2operators - Added
pylops.waveeqprocessing.PressureToVelocity,pylops.waveeqprocessing.UpDownComposition3Doperator, andpylops.waveeqprocessing.PhaseShiftoperators - Fix bug in
pylops.basicoperators.Kronecker(see Issue #125)
Version 1.7.0¶
Released on: 10/11/2019
- Added
pylops.Gradient,pylops.Sum,pylops.FirstDirectionalDerivative, andpylops.SecondDirectionalDerivativeoperators - Added
pylops.LinearOperator._ColumnLinearOperatorprivate operator - Added possibility to directly mix Linear operators and numpy/scipy
2d arrays in
pylops.VStackandpylops.HStackandpylops.BlockDiagoperators - Added
pylops.optimization.sparsity.OMPsolver
Version 1.6.0¶
Released on: 10/08/2019
- Added
pylops.signalprocessing.ConvolveNDoperator - Added
pylops.utils.signalprocessing.nonstationary_convmtxto create matrix for non-stationary convolution - Added possibility to perform seismic modelling (and inversion) with
non-stationary wavelet in
pylops.avo.poststack.PoststackLinearModelling - Create private methods for
pylops.Block,pylops.avo.poststack.PoststackLinearModelling,pylops.waveeqprocessing.MDCto allow calling different operators (e.g., from pylops-distributed or pylops-gpu) within the method
Version 1.5.0¶
Released on: 30/06/2019
- Added
conjmethod topylops.LinearOperator - Added
pylops.Kronecker,pylops.Roll, andpylops.Transposeoperators - Added
pylops.signalprocessing.Fredholm1operator - Added
pylops.optimization.sparsity.SPGL1andpylops.optimization.sparsity.SplitBregmansolvers - Sped up
pylops.signalprocessing.Convolve1Dusingscipy.signal.fftconvolvefor multi-dimensional signals - Changes in implementation of
pylops.waveeqprocessing.MDCandpylops.waveeqprocessing.Marchenkoto take advantage of primitives operators - Added
epsRL1option topylops.avo.poststack.PoststackInversionandpylops.avo.prestack.PrestackInversionto include TV-regularization terms by means ofpylops.optimization.sparsity.SplitBregmansolver
Version 1.4.0¶
Released on: 01/05/2019
- Added
numbaengine topylops.Spreadandpylops.signalprocessing.Radon2Doperators - Added
pylops.signalprocessing.Radon3Doperator - Added
pylops.signalprocessing.Sliding2Dandpylops.signalprocessing.Sliding3Doperators - Added
pylops.signalprocessing.FFTNDoperator - Added
pylops.signalprocessing.Radon3Doperator - Added
niteroption topylops.LinearOperator.eigsmethod - Added
showoption topylops.optimization.sparsity.ISTAandpylops.optimization.sparsity.FISTAsolvers - Added
pylops.waveeqprocessing.seismicinterpolation,pylops.waveeqprocessing.waveeqdecompositionandpylops.waveeqprocessing.lsmsubmodules - Added tests for
enginein various operators - Added documentation regarding usage of
pylopsDocker container
Version 1.3.0¶
Released on: 24/02/2019
- Added
fftwengine topylops.signalprocessing.FFToperator - Added
pylops.optimization.sparsity.ISTAandpylops.optimization.sparsity.FISTAsparse solvers - Added possibility to broadcast (handle multi-dimensional arrays)
to
pylops.Diagonalandpylops..Restrictionoperators - Added
pylops.signalprocessing.Interpoperator - Added
pylops.Spreadoperator - Added
pylops.signalprocessing.Radon2Doperator
Version 1.2.0¶
Released on: 13/01/2019
- Added
pylops.LinearOperator.eigsandpylops.LinearOperator.condmethods to estimate estimate eigenvalues and conditioning number using scipy wrapping of ARPACK - Modified default
dtypefor all operators to befloat64(orcomplex128) to be consistent with default dtypes used by numpy (and scipy) for real and complex floating point numbers. - Added
pylops.Flipoperator - Added
pylops.Symmetrizeoperator - Added
pylops.Blockoperator - Added
pylops.Regressionoperator performing polynomial regression and modifiedpylops.LinearRegressionto be a simple wrapper ofpylops.Regressionwhenorder=1 - Modified
pylops.MatrixMultoperator to work with both numpy ndarrays and scipy sparse matrices - Added
pylops.avo.prestack.PrestackInversionroutine - Added possibility to have a data weight via
Weightinput parameter topylops.optimization.leastsquares.NormalEquationsInversionandpylops.optimization.leastsquares.RegularizedInversionsolvers - Added
pylops.optimization.sparsity.IRLSsolver
Version 1.0.1¶
Released on: 09/12/2018
- Changed module from
lopstopylopsfor consistency with library name (and pip install). - Removed quickplots from utilities and
matplotlibfrom requirements of PyLops.