Releases: PyLops/pylops
Releases · PyLops/pylops
v1.10.0
- Added
tosparsemethod topylops.LinearOperator. - Added
kind=linearinpylops.signalprocessing.Seisletoperator. - Added
kindtopylops.basicoperators.FirstDerivative.
operator to perform forward and backward (as well as centered)
derivatives. - Added
kindtopylops.optimization.sparsity.IRLS
solver to choose between data or model sparsity. - Added possibility to use
scipy.sparse.linalg.lobpcgin
pylops.LinearOperator.eigsandpylops.LinearOperator.cond. - Added possibility to use
scipy.signal.oaconvolvein
pylops.signalprocessing.Convolve1D. - Added
NRegstopylops.optimization.leastsquares.NormalEquationsInversion
to allow providing regularization terms directly in the form ofH^T H.
v1.9.1
- Changed internal behaviour of
pylops.sparsity.OMPwhen
niter_inner=0. Automatically reverts to Matching Pursuit algorithm. - Changed handling of
dtypeinpylops.signalprocessing.FFTand
pylops.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 the
pylops.waveeqprocessing.MDDoperation. This ensure that the type
of the real part ofGinput is enforced to the output vectors of the
forward and adjoint operations.
v1.9.0
- Added
pylops.waveeqprocessing.Deghostingand
pylops.signalprocessing.Seisletoperators - Added hard and half thresholds in
pylops.optimization.sparsity.ISTA
andpylops.optimization.sparsity.FISTAsolvers - Added
prescaledinput parameter topylops.waveeqprocessing.MDC
andpylops.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 to
pylops.LinearOperator - Added
pylops.utils.signalprocessing.slope_estimatefunction - Fix bug in
pylops.signalprocessing.Radon2Dand
pylops.signalprocessing.Radon3Dwhenonthefly=Truereturning the
same result as whenonthefly=False
v1.8.0
- Added
todensemethod topylops.LinearOperator - Added
pylops.signalprocessing.Bilinear,
pylops.signalprocessing.DWT, and
pylops.signalprocessing.DWT2operators - Added
pylops.waveeqprocessing.PressureToVelocity,
pylops.waveeqprocessing.UpDownComposition3Doperator, and
pylops.waveeqprocessing.PhaseShiftoperators - Fix bug in
pylops.basicoperators.Kronecker
(see Issue #125)
v1.7.0
- Added
pylops.basicoperators.Gradient,
pylops.basicoperators.Sum,
pylops.basicoperators.FirstDirectionalDerivative, and
pylops.basicoperators.SecondDirectionalDerivativeoperators - Added
pylops._ColumnLinearOperatorprivate operator - Added possibility to directly mix Linear operators and numpy/scipy
2d arrays inpylops.basicoperators.VStackand
pylops.basicoperators.HStackand
pylops.basicoperators.BlockDiagonaloperators - Added
pylops.optimization.sparsity.OMPsolver
v1.6.0
- 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 inpylops.avo.poststack.PoststackLinearModelling - Create private methods for
pylops.basicoperators.Block,
pylops.avo.poststack.PoststackLinearModelling,
pylops.waveeqprocessing.MDCto allow calling different operators
(e.g., from pylops-distributed or pylops-gpu) within the method
v1.5.0
- Added
conjmethod topylops.LinearOperator - Added
pylops.basicoperators.Kronecker,
pylops.basicoperators.Roll, and
pylops.basicoperators.Transposeoperators - Added
pylops.signalprocessing.Fredholm1operator - Added
pylops.optimization.sparsity.SPGL1and
pylops.optimization.sparsity.SplitBregmansolvers - Sped up
pylops.signalprocessing.Convolve1Dusing
scipy.signal.fftconvolvefor multi-dimensional signals - Changes in implementation of
pylops.waveeqprocessing.MDCand
pylops.waveeqprocessing.Marchenkoto take advantage of primitive
operators - Added
epsRL1option topylops.avo.poststack.PoststackInversion
andpylops.avo.prestack.PrestackInversionto include
TV-regularization terms by means of
pylops.optimization.sparsity.SplitBregmansolver
v1.4.0
- Added
numbaengine topylops.basicoperators.Spreadand
pylops.basicoperators.Radon2Doperators - Added
pylops.signalprocessing.Radon3Doperator - Added
pylops.signalprocessing.Sliding2Dand
pylops.signalprocessing.Sliding3Doperators - Added
pylops.signalprocessing.FFTNDoperator - Added
pylops.signalprocessing.Radon3Doperator - Added
niteroption to ``pylops.LinearOperator.eigs` method - Added
showoption topylops.optimization.sparsity.ISTAand
pylops.optimization.sparsity.FISTAsolvers - Added
pylops.waveequprocessing.seismicinterpolation,
pylops.waveequprocessing.waveeqdecomposition` andpylops.waveequprocessing.lsm`` submodules - Added tests for
enginein various operators - Added documentation regarding usage of
pylopsDocker container
v1.3.0
- Added
fftwengine toFFToperator - Added
ISTAandFISTAsparse solvers - Added possibility to broadcast (handle multi-dimensional arrays)
toDiagonalandRestrictionoperators - Added possibility
Interpoperator - Added possibility
Spreadoperator - Added possibility
Radon2Doperator
v1.2.0
- Added
eigsandcondmethods toLinearOperator
to 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
Flipoperator - Added
Symmetrizeoperator - Added
Blockoperator - Added
Regressionoperator performing polynomial regression
and modifiedLinearRegressionto be a simple wrapper of
the former whenorder=1 - Modified
pylops.basicoperators.MatrixMultoperator to work with both
numpy ndarrays and scipy sparse matrices - Added
pylops.avo.prestack.PrestackInversionroutine - Added data weight optional input to
NormalEquationsInversion
andRegularizedInversionsolvers - Added
IRLSsolver